]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
Make G_CONST_RETURN.
[~andy/gtk] / ChangeLog.pre-2-0
1 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
2
3         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
4         G_CONST_RETURN.
5
6         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
7         ::hierarchy-changed signal when a widget changes
8         from anchored to unanchored or vice versa.
9         (anchored means 
10          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
11         Use a private flag to keep track of this efficiently.
12
13 2001-03-07  Havoc Pennington  <hp@redhat.com>
14
15         * gtk/testgtk.c (create_spins): uglify so that size request gets
16         tested.
17
18         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
19         request on values for upper/lower, completes #6152
20
21 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
22
23         * Makefile.am: Remove gtk-config-2.0 again.
24         (Grrrr, pkg-config. And stops make loops.)
25
26 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
27
28         * gtk/gtksignal.[hc]: removed old emission hook API.
29         
30         * docs/Changes-2.0.txt: fixed sections.
31         
32         * gtk/gtktextbuffer.c: signal arg fixups.
33
34 2001-03-07  Havoc Pennington  <hp@redhat.com>
35
36         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
37
38         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
39         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
40         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
41         validation and the redraw which is higher priority than the
42         validation.
43
44 2001-03-07  Havoc Pennington  <hp@redhat.com>
45
46         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
47         (gtk_entry_set_property): remove trailer
48
49         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
50         (gtk_entry_get_width_chars): new functions, to set size request to 
51         a given number of characters
52
53         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
54
55         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
56         (gtk_dialog_get_has_separator): new function
57         (run_delete_handler): fix to not emit "response" signal
58         because we already did in the delete event handler installed
59         at dialog creation time.
60         
61         * gtk/gtkdialog.h: add a has_separator property,
62         add GTK_DIALOG_NO_SEPARATOR flag
63
64 2001-03-07  Havoc Pennington  <hp@redhat.com>
65
66         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
67         off decorations for a window.
68
69         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
70         changes
71
72         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
73         to get location of PangoLayout inside the label, closes #51198
74
75         * gtk/testgtk.c (create_bbox): fix up button box usage
76
77         * gtk/testcalendar.c (create_calendar): fix up button box usage
78
79         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
80
81         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
82
83         * gtk/gtkhbbox.h: deprecations
84
85         * gtk/gtkvbbox.h: deprecations
86
87         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
88         emulate deprecated gtk_button_box_get_spacing
89
90         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
91         the "set global default" functions
92         (struct _GtkButtonBox): remove "spacing" field, use the one from 
93         GtkBox base class
94
95         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
96
97         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
98         render the icon, return the missing image icon.
99
100         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
101         image icon if the load fails.   
102
103         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
104         when no image is found; should be the Netscape "missing image"
105         icon eventually but for now is a random image
106
107         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
108         role for the session manager
109
110         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
111
112         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
113         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
114
115         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
116
117 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
118
119         * gtk/*.c: marshaller fixes.
120         
121         * gtk/gtkmarshal.list: extreme cleanup.
122
123         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
124         param spec for now.
125
126         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
127         where appliable.
128
129         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
130         special cased autogenerated boxed types from gtktypebuiltins_ids.c
131         which are not reference counted:
132         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
133         PangoFontDescription, GtkTreeIter and GtkTreePath.
134
135 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
136
137         * gtk/gtktreeselection.h: 
138         * gtk/gtktreemodel.c:
139         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
140         file should be included directly, and gobject/gmarshal.h
141         as well as gtk/gtkmarshal.h even can't be included directly.
142
143         * Makefile.am: grr, install gtk-config-2.0.
144
145         * gtk/testgtk.c:
146         * gtk/simple.c:
147         * gtk/gtkmenu.c:
148         * gtk/gtkitemfactory.c: use g_object_connect() instead of
149         passing "*signal*::*" args to gtk_widget_set().
150         
151         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
152         
153         * gtk/*.c: removed trailer arg from property setters and getters.
154         macro fixups.
155
156 2001-03-07  Alexander Larsson  <alexl@redhat.com>
157
158         * gtk/gtklabel.c (set_markup): Removed warning
159
160 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
161
162         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
163         field to allow you to hide cell renderers.
164
165         * gtk/gtkcellrenderer.c: Add support for invisible cells.
166
167         * gtk/gtktreeview.c: Add support for invisible cells.
168
169 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
170
171         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
172         Add "clicked" signal back to columns.
173
174         * ChangeLog: remove conflict markers.
175
176 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
177
178         * gtk/gtkbutton.c: Add animation of activation by, on 
179         activate, pressing the button, and adding a timeout that 
180         releases the button after 250ms or on key release and
181         emits ::clicked. (#51501)
182
183         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
184         action area, we connect to ::clicked instead of ::activate
185         so the dialog stays up through the animation.
186
187 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
188
189         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
190         check the ignore_enter flag for the menu shell that
191         the item is actually a child of, not for attached
192         submenus. (#51536)
193
194 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
195
196         * gtk/gtkmain.c (gtk_propagate_event): Only do special
197         special key-press grab handling for widgets within
198         GtkWindows. Otherwise, fall through to normal case.
199
200         This prevents key events being sent twice to GtkInvisible
201         widgets, which can cause all sorts of mischief.
202
203 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
204
205         * gtk/gtkmain.c (gtk_propagate_event): When a grab
206         widget is in effect, give the grab widget a first
207         crack at KEY_PRESS/RELEASE events. (#424)
208
209 2001-03-06  James Henstridge  <james@daa.com.au>
210
211         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
212         offset for the window_state_event to point at window_state_event
213         rather than no_expose_event.
214
215 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
216
217         * gtk/gtkimmodule.h: fix busted /* comment */
218
219 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
220
221         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
222         object properties.
223
224 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
225
226         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
227         add object properties.
228
229         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
230         to add object properties.
231
232         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
233         object properties.
234
235         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
236         add object properties.
237
238         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
239         object properties.
240
241 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
242
243         * gtk/gtktreemodel.c: renamed "child_toggled" to
244         "has_child_toggled".
245
246         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
247         handle new signal name.
248
249         * gtk/gtktreestore.c: Updated to handle new signal name.
250         * gtk/gtklisttore.c: Updated to handle new signal name.
251         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
252
253 2001-03-05  Alexander Larsson  <alexl@redhat.com>
254
255         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
256         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
257
258 2001-03-05  Michael Natterer  <mitch@gimp.org>
259
260         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
261         pixbuf-engine coincidentially also failed to make one of it's
262         parent_class pointers static, causing overwriting of GtkLabel's
263         parent_class pointer in pixbuf_style_class_init().
264         (Will commit the fix to the pixbuf-engine too).
265
266 2001-03-05  Alexander Larsson  <alexl@redhat.com>
267
268         * gdk/gdkwindow.h:
269         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
270         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
271         gdk_window_set_icon_list for net wmspec functionality.
272
273         * gdk/x11/gdkwindow-x11.c:
274         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
275         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
276         gdk_window_set_icon_list.
277         Added gdk_wmspec_change_state helper function and used it in the code.
278         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
279
280         * gtk/gtkdialog.c (gtk_dialog_init):
281         Set GDK_WINDOW_TYPE_HINT_DIALOG.
282
283         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
284         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
285
286         * gtk/gtkwindow.c:
287         new function gtk_window_set_type_hint.
288         On realize, set type hint and modal hint.
289
290         * gtk/gtkwindow.h:
291         Added type_hint field and gtk_window_set_type_hint.
292
293 2001-03-05  Alexander Larsson  <alexl@redhat.com>
294
295         * gtk/gtklabel.[ch]:
296         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
297         New function gtk_label_get_accel_keyval () to get the underline accelerator
298         of the label. Setting the label pattern overrides other attributes.
299
300 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
301
302         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
303         Added missing initializers to gtk_rc_style_init().
304
305 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
306
307         * gtk/gtktextview.c: fixed bug #51097 about setting 
308         gtk_text_view_set_border_window_size() if the widget is 
309         already realized.
310
311 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
312
313         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
314
315         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
316         comment. Won't do to have duplicated doc comments between
317         the platform subdirs.
318
319 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
320
321         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
322           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
323
324         Detectable auto-repeat - make a repeating key generate
325         press/press/press/release instead of press/release pairs.
326
327         If we have Xkb and XkbSetDectableAutoRepeat supports
328         that, we do it that way. Otherwise, when we get
329         a release event, we check ahead with XPending to see
330         if the next key is a KeyPress with the same keycode
331         and timestamp. (Not 100% reliable, but pretty close.)
332           
333 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
334         
335         * gtk/gtkmain.c (gtk_propagate_event): Only do special
336         special key-press grab handling for widgets within
337         GtkWindows. Otherwise, fall through to normal case.
338  
339         This prevents key events being sent twice to GtkInvisible
340         widgets, which can cause all sorts of mischief.
341  
342 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
343  
344         * gtk/gtkmain.c (gtk_propagate_event): When a grab
345         widget is in effect, give the grab widget a first
346         crack at KEY_PRESS/RELEASE events. (#424)
347  
348 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
349
350         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
351         to extend the selection. (Roughly based on patch
352         from Jay Cox, #50939)
353
354         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
355         to properly handle previous GDK_BUTTON_PRESS. 
356         (Patch from Jay Cox, #50938)
357
358         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
359         '\0' back along with the deleted text. (#51148)
360
361 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
362
363         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
364         the group when extracting it from the X keyboard event.
365
366         * modules/input/Makefile.am modules/input/imipa.c: 
367         Simple module for entering IPA. (Do we need a 
368         gtk-stupid-input-tricks CVS module?)
369
370 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
371
372         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
373         const.
374
375         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
376
377         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
378         is no focus widget for the dialog currently, grab the focus as well
379         as the default.
380
381         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
382         the action area's children to iterate through, not the
383         dialog's children.
384
385 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
386
387         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
388         Add plug-socket tests. (Won't work worth a darn until I commit
389         the rest of the plug-socket changes, but no reason these
390         can't go into CVS now.)
391
392 2001-03-02  Havoc Pennington  <hp@redhat.com>
393
394         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
395         _gdk_region_get_xrectangles()
396
397         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
398
399         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
400
401         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
402         function, contributed by Ron Steinke    
403
404         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
405         gdk_net_wm_supports
406
407         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
408         New function, contributed by Ron Steinke
409
410         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
411         used to line up the text in the entry when using the entry for
412         editable sheet cell hacks
413
414         * gtk/testgtk.c (create_entry): test the activate_default setting
415         on GtkEntry
416
417         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
418         cause the entry to activate the default button for a dialog when 
419         activated
420         (gtk_entry_get_activates_default): new function
421
422 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
423
424         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
425         Hwang to move call to sync_selection() up a few lines
426         to before the row list is modified, to fix crash when
427         removing rows in the undo_selection list.
428
429         (Test case provided by Daniel Elstner:
430
431         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
432
433 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
434
435         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
436         of tree->root_tree in parent_set rather than _map(), 
437         fixing #50892 in a bit better manner.
438
439 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
440
441         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
442
443 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
444
445         * gtk/gtkstyle.c : Remove duplicate fwd decl for
446         gtk_default_draw_shadow.
447
448 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
449
450         * gdk/gdkimage.c (gdk_image_new): Remove excess 
451         warning, make warnings more verbose, treat a error
452         in shmat as permanent, and don't try again.
453         (#51163, Ed Randall.)
454
455 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
456
457         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
458         delay for the first click before starting to scroll.
459         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
460
461         * gtk/gtktext.c: GtkText should have I-beam cursor. 
462         (based on gtk-enf-990513-1.patch, Eric Fisher.)
463
464 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
465
466         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
467         cleanup to remove some references to unused
468         ->xoffset, ->yoffset.
469
470 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
471
472         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
473         mask. (#51039, fix from Martin Maierhofer)
474
475 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
476
477         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
478         for unshifted + and shifted = for non-us keyboards.
479         Make <Control>+ and <Control>- work as well as 
480         <Control>KP_Plus, <Control>KP_Minus for recursive
481         open/close.  (#2682, René Seindal)
482
483 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
484
485         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
486         the active menu item before deactivating the menu,
487         so gtk_menu_popdown doesn't change the history. (#50964)
488         
489 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
490
491         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
492         draw lines with text_gc rather than black_gc.
493         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
494
495 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
496
497         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
498         Move handling of buttons fully in gtktreeviewcolumn.  This code is
499         less interrelated then it was, but it still requires the
500         GtkTreeView to map it.
501
502         * test/testtreecolumn.c: Now I can add a column to one view,
503         remove it, add it to the another view, remove it, then re-add it
504         to the first.  Nifty.
505
506 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
507
508         * docs/tutorial/gtk-tut.sgml: Minor corrections
509
510 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
511
512         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
513         GtkRowReference.
514
515 2001-02-28  Havoc Pennington  <hp@redhat.com>
516
517         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
518         draw_default
519         (gtk_widget_draw_focus): remove this function; we could instead
520         make it just gtk_widget_draw(), but in most cases I think the
521         result would be broken user code, so think it's better to have
522         that code not compile and get fixed
523         (gtk_widget_draw_default): ditto
524
525         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
526         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
527         
528         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
529         widgets lose/get the default, instead of calling draw_default
530         
531         * docs/Changes-2.0.txt: note about all this
532
533         Then fixed every widget in GTK, I won't list all the filenames.
534
535 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
536
537         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
538         _gtk_tree_row_reference_deleted.
539         (inserted_callback): Proxy out to
540         _gtk_tree_row_reference_inserted.
541         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
542         get around signal emission ordering problem.
543
544         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
545         fix to work with SINGLE 
546         (_gtk_tree_selection_internal_select_node): Major sanitization on
547         selections.  SINGLE now seems to work.
548
549         * tests/Makefile.am: add testtreecolumn.c:
550
551         * tests/testtreecolumn.c: New test.  Mostly points out selection
552         bugs currently, but will test columns later.
553
554         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
555         selection bug.  I hate touching this code -- it's scary.
556
557 2001-02-26  Havoc Pennington  <hp@redhat.com>
558
559         * gtk/testgtk.c: test the window state stuff
560
561         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
562         window come to the user's attention as if it were just created
563         (gtk_window_iconify): new function
564         (gtk_window_deiconify): new function
565         (gtk_window_stick): new function
566         (gtk_window_unstick): new function
567         (gtk_window_maximize): new function
568         (gtk_window_unmaximize): new function
569
570         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
571
572         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
573
574         * gdk/x11/gdkevents-x11.c: create window state events when
575         appropriate
576         (gdk_wmspec_supported): new function
577
578         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
579         iconification before showing the window
580         (gdk_window_deiconify): new function
581         (gdk_window_stick): new function
582         (gdk_window_unstick): new function
583         (gdk_window_maximize): new function
584         (gdk_window_unmaximize): new function
585
586         * gdk/gdkwindow.c: store the window state in the window; 
587         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
588         window->mapped.
589         (gdk_window_get_state): return the current window state
590
591         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
592         (gdk_event_get_state): handle GDK_WINDOW_STATE
593         (gdk_synthesize_window_state): function to create the window state
594         events
595
596         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
597         event, for changes to "window state" such as maximized, sticky, 
598         etc.
599         
600         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
601         focuses a window
602
603         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
604         finds out if we support a given WM spec hint
605
606 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
607
608         * docs/faq/gtk-faq.sgml: New question re memory leaks.
609
610 2001-02-25  Hans Breuer  <hans@breuer.org>
611
612         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
613         cause we want to loose those prototypes only in the latter case
614
615         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
616         GdkPixmapImplWin32 because it itsn't derived from it. Use the
617         impl member variable instead
618
619         * gtk/gtk.def : updated
620
621         * gtk/gtklist.c : 
622         * gtk/gtkmenus.c : include <string.h> for memset ()
623
624         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
625         for everthing built here, but for gtk-x.x.dll only. This solves
626         problem of indifferent gtk type definitions
627
628 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
629
630         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
631
632 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
633
634         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
635         column that is exposed.
636
637         (_gtk_tree_view_update_size): Changed name from set_size, and
638         changed function to do more work, and not force people calling it
639         to figure out the size.  Simplifies a lot of code elsewhere.
640
641 2001-02-23  Alexander Larsson  <alexl@redhat.com>
642
643         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
644         return solid masks for xpms that have no transparent color.
645         This makes the ..._create_from_xpm... API backwards
646         compatible.
647
648 2001-02-23  Tor Lillqvist  <tml@iki.fi>
649
650         * README.win32: Update. Mention the gtk-1-3-win32-production
651         branch.
652
653         * gdk/win32/bdfcursor.c: New file. A program that generates
654         xcursors.h. Thanks to Stefan Ondrejicka.
655
656         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
657         compact format.
658
659         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
660
661         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
662         function, uses xcursors.h.
663         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
664         cursor from inline data instead of using LoadCursor() to generate
665         it from a resource.
666
667         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
668         event, must check the Windows message for mouse button state, as
669         the GDK event state might not have been built if it is
670         undelivered. Remove one goto.
671
672         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
673         SetCursor() if the current cursor as returned by GetCursor() is
674         the window's previous cursor. The ChildWindowFromPoint() test
675         apparently didn't work correctly.
676
677         * gdk/win32/rc/*.cur: Remove.
678
679         * gdk/win32/rc/gdk.rc.in: Remove cursors.
680
681         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
682
683         * gtk/makefile.{mingw,msc}.in: Updates.
684
685 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
686
687         * gtk/gtktreemodel.h: add functions for signal emission.
688
689         * gtk/gtktreestore.c: move to use above functions instead of
690         g_signal_emit.
691
692         * gtk/gtkliststore.c: ditto
693
694 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
695
696         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
697         GObject instead of GtkObject.
698
699         * gtk/gtkliststore.c: ditto.
700
701         * gtk/gtktreemodelsort.c: ditto.
702
703         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
704         GtkTreeModelIface, instead of in each model.
705
706 2001-02-21  Havoc Pennington  <hp@redhat.com>
707
708         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
709         unbreak this function
710
711         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
712         properties
713
714         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
715         properties
716
717         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
718         properties
719
720         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
721         mean unset the max length
722
723 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
724
725         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
726         Changed name to be set_cell_data_func to make it clear what
727         the functino does.  Close bug #51069.
728
729 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
730
731         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
732         have memory actually freed.  Keeps box running longer.
733
734 2001-02-21  Alexander Larsson  <alexl@redhat.com>
735         
736         * gtk/gtkseparatormenuitem.[ch]:
737         Added new menu separator item. The drawing and size handling
738         is still done in GtkMenuItem, but the API is a bit more sane.
739         
740         * gtk/Makefile.am:
741         Add gtkseparatormenuitem.[ch].
742
743         * gtk/gtk.h:
744         Add gtkseparatormenuitem.h.
745         
746         * gtk/gtkentry.c:
747         * gtk/gtkmenufactory.c:
748         * gtk/gtktextview.c:
749         Use the new API for menu separators.
750         
751         * demos/gtk-demo/menus.c (create_menu):
752         Add some GtkSeparatorMenuItem demo code.
753
754 2001-02-20  Havoc Pennington  <hp@redhat.com>
755
756         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
757         Lee Mallabone
758
759         * gtk/gtkarrow.c: Convert to new property API, patch from 
760         Lee Mallabone
761
762 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
763
764         * tests/testtreeview.c (toggled_callback): fix to reflect change
765         in GtkTreeModelStore.
766
767 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
768
769         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
770         function to create an icon set from a pixbuf.
771
772 2001-02-20  Alexander Larsson  <alexl@redhat.com>
773
774         * gtk/gtkcellrenderertext.[ch]:
775         Add a "markup" property.
776
777         * gtk/treestoretest.c:
778         Use the markup property, remove some leftover stuff from
779         GtkTreeModelMapping.
780
781 2001-02-20  Alexander Larsson  <alexl@redhat.com>
782
783         * gtk/gtklabel.c (gtk_label_set_selectable):
784         Queue a redraw if the selectable setting was changed.
785
786 2001-02-20  Alexander Larsson  <alexl@redhat.com>
787
788         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
789         Actually copy the whole gc, not just the public parts.
790         
791         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
792         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
793         labels.
794
795 2001-02-19  Havoc Pennington  <hp@pobox.com>
796
797         * gdk/gdkwindow.c: docs
798
799         * gdk/gdkrgb.c: docs
800
801         * gdk/gdkregion-generic.c: docs
802
803         * gdk/gdkgc.c (gdk_gc_set_values): docs
804
805         * gdk/gdkdraw.c: docs
806
807         * gdk/gdkdrawable.h: deprecate drawable get/set data
808
809 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
810
811         * demos/gtk-demo/dialog.c: Add simple new demo.
812
813 2001-02-19  Havoc Pennington  <hp@redhat.com>
814
815         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
816         insert_child_anchor signal, bug #50245
817
818         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
819         from create_child_anchor, so the anchor is passed in
820
821         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
822         (_gtk_widget_segment_new): have the child anchor object passed in, 
823         instead of creating it.
824
825         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
826         to gtk_text_buffer_get_modified
827
828 2001-02-19  Havoc Pennington  <hp@redhat.com>
829
830         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
831         changed GLib without fixing GTK
832
833         * gtk/gtkrange.h: Rename all the stupid implementation detail 
834         functions to have an underscore in front. Most of them should 
835         probably just go away, but for starters don't export them.
836         Bug #50482
837
838 2001-02-19  Havoc Pennington  <hp@redhat.com>
839
840         * gdk/gdkcolor.h: test was backward, so deprecated functions were
841         excluded by default
842
843         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
844         clean up the old code a bit
845
846         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
847         inconsistent state
848
849         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
850         draw inconsistent state
851
852         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
853         (create_menu): add inconsistent test
854
855         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
856         new function
857         (gtk_check_menu_item_get_inconsistent): new function
858         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
859         state (using etched in for now)
860
861         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
862         draw inconsistent state
863
864         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
865         function, used when the user has selected a range of stuff in
866         different states
867         (gtk_toggle_button_get_inconsistent): accessor for that
868         (gtk_toggle_button_paint): draw inconsistent state (etched in?
869         don't know what else to do)
870
871 2001-02-19  Hans Breuer <hans@breuer.org>
872
873         * gtk/gtk.def : updated exported symbols
874
875         * gtk/makefile.msc.in : updated
876
877         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
878         a colormap, when invoked from testgtk::entry. I'm not sure where
879         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
880         avoids immediate crashing ...
881
882         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
883         any objections ?
884
885         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
886         0 parameter. At least msvc doesn't like macros with var args. 
887         I simply removed the extra 0, was it a feature or a typo ?
888
889         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
890         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
891         because the value assignment to the internal struct wasn't working.
892         I'm not absolutely sure. The problem could have been resolved by
893         changing the "func" declartion in the struct, but was the pointer
894         to the function pointer intended ?
895
896         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
897
898         * gdk/gdk.def : updated exported symbols
899
900         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
901         only use SetDIBitsToDevice if there is a palette at the drawable
902         and the image is GDK_VISUAL_PSEUDO_COLOR
903
904         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
905
906         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
907
908         * gdk/*/makefile.msc : updated
909
910 2001-02-19  Havoc Pennington  <hp@redhat.com>
911
912         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
913         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
914
915         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
916         (gdk_key_repeat_restore): nuke
917
918         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
919         (gdk_init_check): no atexit func
920
921         * gdk/gdkrgb.h: mark some stuff deprecated
922
923         * gdk/gdkcolor.h: mark some stuff deprecated
924         
925         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
926
927         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
928
929 2001-02-16  Havoc Pennington  <hp@redhat.com>
930
931         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
932         scroll steps.
933
934         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
935         steps, and add Ctrl-arrow shortcuts for paging visually as with
936         HScale, since Page Up and Page Down move logically.
937
938         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
939         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
940         
941         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
942         steps
943         (gtk_range_scroll): handle the visual steps
944
945         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
946         scroll steps
947
948         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
949         steps, not the logical ones.
950
951         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
952         (scroll_vertical): handle up/down steps
953
954 2001-02-19 Alexander Larsson  <alexl@redhat.com>
955
956         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
957         Copy data and free data with free().
958
959         * gdk-pixbuf/gdk-pixbuf.c:
960         * gdk-pixbuf/io-jpeg.c:
961         * gdk-pixbuf/io-png.c:
962         Use g_try_malloc/g_free instead malloc/free.
963         
964         * gdk-pixbuf/test-gdk-pixbuf.c:
965         Must... initialize... gobject...
966         
967         * gdk-pixbuf/pixops/timescale.c:
968         * gtk/gtkcalendar.c:
969         Use g_malloc instead of malloc.
970         
971 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
972
973         * gtk/testgtkrc:
974         Comment out property assignments, these don't work yet.
975
976 2001-02-17  Havoc Pennington  <hp@pobox.com>
977
978         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
979         bit.
980
981 2001-02-17  Havoc Pennington  <hp@pobox.com>
982
983         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
984         shadowed variables that had broken size request in some cases,
985         leading to bogus tooltips (#50996)
986
987 2001-02-06  Jon K Hellan  <hellan@acm.org>
988
989         Implement fast browsing of tooltips, bug #50619
990         
991         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
992         and last_popdown
993         
994         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
995         use_sticky_delay and last_popdown.
996         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
997         time of popdown.
998         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
999         is NULL.
1000         (gtk_tooltips_recently_shown): New static function.  Return true
1001         if < sticky_delay has elapsed since last popdown.
1002         (gtk_tooltips_event_handler): Display window after sticky_delay
1003         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1004         since last popdown.
1005         
1006 2001-02-17  Havoc Pennington  <hp@pobox.com>
1007
1008         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1009         instead of (). #6394
1010
1011         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1012         G_CONST_RETURN, make it return by reference, #50473
1013         
1014 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1015
1016         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1017         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1018         setup fields contain garbage (e.g. subwindow, breaking
1019         gdk_drawable_ref() upon event copy).
1020         (gtk_menu_stop_navigating_submenu_cb): same here.
1021
1022         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1023         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1024         * gtk/gtkclist.c (vertical_timeout): 
1025         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1026         default-zero-intialization for unions to memset(,0,), as unions are
1027         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1028         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1029
1030         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1031         g_closure_sink() warning.
1032
1033         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1034         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1035         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1036         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1037         
1038 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1039
1040         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1041         gtk_*_store_get, and moved to GtkTreeModel.
1042
1043         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1044
1045         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1046
1047         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1048
1049         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1050         set the func.
1051
1052         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1053         freeze/thaw notify between setting all the properties for a cell.
1054
1055         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1056
1057 2001-02-15  Havoc Pennington  <hp@redhat.com>
1058
1059         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1060         the X coordinates so they're with respect to the line, rather than 
1061         with respect to the layout.
1062
1063         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1064         Mallabone
1065
1066         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1067         and inverted test
1068
1069         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1070         #50806
1071
1072         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1073
1074         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1075         gtk_text_iter_is_end
1076
1077         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1078         rename gtk_text_buffer_get_end_iter
1079
1080         * gtk/testgtk.c (create_labels): Add test for selectable
1081
1082         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1083         the selection stuff. This code is kind of broken since it doesn't 
1084         use the theme engine.
1085
1086         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1087         fix infinite loop and y offset problem
1088         (gdk_draw_layout_line_with_colors): fix foreground color handling
1089
1090         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1091         that makes the label selectable.
1092         
1093         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1094         layout when the style is set, since fonts etc. could have changed.      
1095
1096 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1097
1098         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1099
1100         * gtk/gtktreemodelsimple.[ch]: removed.
1101
1102 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1103
1104         * gtk/gtktreemodelmapping.[ch]:
1105         New files. Implement GtkTreeModelMapping.
1106         
1107         * gtk/Makefile.am:
1108         Add gtktreemodelmapping.[ch].
1109         
1110         * gtk/gtk.h:
1111         Add gtktreemodelmapping.h
1112
1113         * gtk/treestoretest.c:
1114         Test the GtkTreeModelMapping
1115
1116 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1117
1118         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1119         have a demo, we might as well pass in real values.  Thanks to
1120         clahey for pointing this out.
1121
1122 2001-02-14  Havoc Pennington  <hp@pobox.com>
1123
1124         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1125         "static" to a private function
1126         (gtk_image_menu_item_class_init): remove destroy handler,
1127         add "image" object property
1128
1129 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1130
1131         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1132         Add a shortcut if the window and the current clip_region doesn't
1133         overlap. This is needed when there are a lot of windows in a
1134         window. The layout test in testgtk is a good test.
1135
1136         * gdk/linux-fb/gdkwindow-fb.c:
1137         Whitespace fix.
1138
1139 2001-02-13  Sven Neumann  <sven@convergence.de>
1140
1141         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1142
1143 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1144
1145         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1146         Don't reference last_cursor if it is null. Fixes crash when rotating
1147         the screen before having moved the mouse.
1148
1149         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1150
1151         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1152
1153         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1154         when using 90 or 270 degrees rotation.
1155
1156 2001-02-12  Havoc Pennington  <hp@pobox.com>
1157
1158         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1159         it always set the foreground, even if we were only using
1160         a stipple.
1161         (gdk_draw_layout_line_with_colors): new function, allow
1162         override colors
1163         (gdk_draw_layout_with_colors): new function, allow override
1164         colors
1165         (gdk_pango_layout_line_get_clip_region): function to get the clip
1166         region for a logical text range
1167         (gdk_pango_layout_get_clip_region): get the clip region for a
1168         logical text range
1169
1170         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1171         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1172         the right number of arguments.
1173
1174         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1175         enhance the function to check that node data corresponds to a 
1176         view still belonging to the tree.
1177
1178         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1179         GtkTreePath
1180         (gtk_tree_view_inserted): ditto
1181         (gtk_tree_view_child_toggled): ditto
1182
1183         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1184         simplify this code.
1185
1186         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1187         a PangoAttrList
1188
1189         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1190
1191         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1192
1193         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1194         size in the size request 
1195         (gtk_menu_bar_size_allocate): consider toggle size here
1196
1197         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1198         that displays a widget in the toggle slot
1199
1200         * gtk/testgtk.c: test GtkImageMenuItem
1201
1202         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1203         
1204         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1205         request and allocation
1206
1207         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1208
1209         * gtk/gtkcheckmenuitem.c
1210         (gtk_check_menu_item_toggle_size_request): ditto
1211         
1212 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1213
1214         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1215         reference.
1216
1217         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1218         and refuse to initialize GTK+ if they fail.
1219
1220 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1221
1222         * configure.in: Add check for gtk-doc version.
1223
1224 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1225
1226         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1227         where the xpad/ypad was only being used on one side!
1228
1229 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1230
1231         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1232         function, copied from X11 version.
1233
1234         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1235         DestroyCursor failures. The reason for the problem (despite the
1236         inconsistent messages from GetLastError()) was that
1237         DestroyCursor() cannot be called while a cursor is set in a
1238         window. Set the new cursor first and then destroy the old one.
1239         Thanks to jpe@archaeopteryx.com.
1240
1241         * gdk/win32/gdkcc-win32.c: Remove.
1242
1243         * gdk/win32/Makefile.am: Remove from here, too.
1244         
1245         * gdk/gdk.def
1246         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1247
1248         * gtk/gtk.def
1249         * gtk/makefile.mingw.in: Updates.
1250
1251 2001-02-08  Havoc Pennington  <hp@redhat.com>
1252
1253         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1254         add a widget to a bin that already has a child.
1255
1256         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1257
1258         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1259         
1260         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1261
1262         * gdk/gdk.h: remove gdkcc.h
1263
1264         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1265
1266         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1267         GdkPixbuf, since the previous implementation was GdkColorContext
1268         dependent.
1269
1270         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1271         
1272 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1273
1274         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1275         a sane value!
1276
1277 2001-02-08  Havoc Pennington  <hp@redhat.com>
1278
1279         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1280         lighten them.
1281
1282 2001-02-08  Havoc Pennington  <hp@redhat.com>
1283
1284         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1285         validation idle
1286
1287         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1288         cell renderer
1289
1290         * demos/pixbuf-demo.c (timeout): remove deprecated
1291         gtk_widget_draw
1292
1293         * demos/testpixbuf-save.c (main): remove deprecated
1294         gtk_drawing_area_size
1295
1296         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1297         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1298         at the start of the allocation.
1299         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1300         unsetup or NULL model.
1301
1302         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1303         even/odd/sorted cells in the tree view.
1304
1305         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1306         bugfixes
1307
1308         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1309         backgrounds with draw_flat_box using different detail for even/odd
1310         rows.
1311
1312         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1313         row, so we can draw the alternating colors thing
1314
1315         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1316         property from a synonym property, notify for the synonym.
1317         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1318         (gtk_text_tag_get_property): Always return the font, even if
1319         all its fields aren't set
1320
1321         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1322         store the attr list; it leaves us with no way to change attributes
1323         in _render according to the render flags, and no way to implement
1324         get_property. Instead store all the specific text attributes. 
1325         Separate whether an attribute is enabled from its value. Sync all
1326         properties with GtkTextTag, make them all consistent, etc.
1327
1328         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1329         renderers can highlight the sort row/column     
1330
1331         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1332         accessor functions to get values; this has the side effect of
1333         showing up which accessor functions were missing. Added those.
1334
1335         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1336         set_alignment, to be consistent with GtkLabel, GtkMisc
1337
1338         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1339         arrow.
1340
1341         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1342
1343         * gtk/gtktreesortable.h: updates in here
1344
1345 2001-02-07  Sven Neumann  <sven@convergence.de>
1346
1347         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1348         pango dimensions after painting the background. We used to draw
1349         gigantic flat boxes here.
1350
1351 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1352
1353         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1354         error introduced with earlier commit) (pointed out by
1355         Ollie Lho)
1356
1357 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1358
1359         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1360         which are no longer necessary.
1361
1362 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1363
1364         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1365
1366 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1367
1368         * gdk/gdk.def
1369         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1370         Provide dummy implementations.
1371
1372 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1373
1374         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1375
1376         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1377         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1378         deprecated this function.
1379
1380         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1381         argument.
1382
1383 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1384
1385         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1386
1387 2001-02-03  Havoc Pennington  <hp@pobox.com>
1388
1389         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1390         Mikael Hermansson with patch from Mikael (if there was a toggle
1391         start one after the first character in the range, this function
1392         was broken). Bug #50380
1393
1394 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1395
1396         * configure.in: Remove confusing comment about X11.
1397
1398 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1399
1400         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1401         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1402         
1403 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1404
1405         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1406         it breaks things on BSD. If you want to compile GTK+ with
1407         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1408         when configuring, since GTK+ simply can't be "pure ANSI" 
1409         in the header files it uses. (#8170, Greg Hudson)
1410
1411 2001-02-02  Havoc Pennington  <hp@redhat.com>
1412
1413         * gtk/gtkwindow.c: docs
1414
1415         * gtk/gtkwidget.c: docs
1416         (gtk_widget_set_colormap): add a reference to the colormap
1417         (gtk_widget_get_default_colormap): add a reference to the colormap
1418
1419         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1420
1421         * gtk/gtktextiter.c: docs
1422
1423         * gtk/gtkmain.c (gtk_propagate_event): docs
1424
1425         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1426         (gtk_paned_set_position): docs
1427
1428         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1429         sort interface, no implementation yet.
1430
1431         * demos/testpixbuf.c (new_testrgb_window): replace
1432         gtk_drawing_area_size() with gtk_widget_set_usize()
1433
1434         * demos/testpixbuf-drawable.c (main): ditto
1435         
1436         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1437
1438         * gtk/gtktextbuffer.c: docs
1439
1440         * gtk/gtkstock.c: docs
1441
1442         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1443
1444         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1445
1446         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1447         
1448         * gtk/gtkimage.c: add some docs in here
1449         (gtk_image_size_request): change name of
1450         gtk_widget_render_stock_icon
1451         (gtk_image_get_icon_set): don't dup returned string
1452         (gtk_image_get_icon_set): don't dup returned string
1453
1454         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1455         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1456         and gtkiconfactory.h functions
1457
1458         * gtk/gtkiconfactory.c: add some docs in here
1459
1460         * gtk/gtkmain.c (gtk_get_default_language): document
1461         (gtk_get_current_event): document
1462         (gtk_get_current_event_state): document
1463         (gtk_get_event_widget): document
1464
1465         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1466
1467         * gtk/gtkcontainer.c: Add some documentation
1468         (gtk_container_add): give a more explanatory warning on adding an
1469         already-parented widget, this is kind of a FAQ and also a common
1470         typo that's easier to debug with a nice warning 
1471
1472         * gtk/gtkcellrenderertoggle.c
1473         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1474         adding this, it's useless
1475         (gtk_cell_renderer_toggle_set_active): remove
1476         (gtk_cell_renderer_toggle_get_radio): add
1477
1478         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1479         the NULL cell renderer, that doesn't make any sense to me. 
1480
1481         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1482         demo code should never use deprecated features.
1483
1484         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1485         code should never use deprecated features.
1486
1487         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1488         gtk_widget_queue_clear_area deprecated
1489
1490         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1491         deprecated
1492
1493         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1494
1495         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1496         a GdkImage deprecated, replaced by new consistently-named
1497         functions       
1498
1499         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1500
1501         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1502
1503         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1504         deprecated
1505
1506         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1507         so it won't appear in docs and confuse people.
1508
1509         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1510
1511         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1512         macros deprecated. (can't mark the type itself deprecated, since
1513         GtkProgressBar is not deprecated and we need the type decl to use
1514         GtkProgressBar)
1515
1516         * gtk/gtkpixmap.h: Mark deprecated
1517
1518         * gtk/gtkoldeditable.h: Mark deprecated
1519
1520         * gtk/gtklist.h: Mark deprecated
1521
1522         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1523         for anything anymore.
1524
1525         * gtk/gtkctree.h: Mark deprecated
1526
1527         * gtk/gtkclist.h: Mark deprecated
1528
1529         * gtk/gtkpreview.h: Mark deprecated
1530
1531         * gtk/gtkpacker.h: Mark deprecated
1532
1533         * gtk/gtktipsquery.h: Mark deprecated
1534
1535         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1536
1537         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1538
1539         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1540
1541         * gtk/gtkruler.h: Add comment that it will move out of GTK
1542
1543         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1544
1545         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1546
1547 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1548
1549         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1550         gdk_colormap_sync private since it was never exported
1551         in a header file.
1552
1553         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1554         colormap->colors[] for StaticGray, StaticColor colormaps.
1555
1556         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1557         was being used as if it was image->bits_per_pixel.
1558
1559         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1560         for the image in the GdkImage structure since it isn't
1561         reconstructable, and we need it to handle packed types
1562
1563         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1564         the assumption that on Win32 image->bits_per_pixel == image->depth,
1565         always.
1566
1567         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1568
1569         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1570         warning message if no converter can be found. 
1571
1572 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1573
1574         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1575         chars to isupper() / tolower(). (#567)
1576
1577         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1578         to clear up 64-bit warnings. (#567)
1579
1580 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1581
1582         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1583         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1584
1585         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1586         since some people set $(libdir) separately. (#1290, David Kaelbling)
1587
1588 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1589
1590         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1591         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1592         MAXPATHLEN, but the code here depends on a fixed value.)
1593         (#4524)
1594
1595 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1596
1597         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1598         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1599
1600 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1601
1602         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1603         viewable there is no way that moving the node will cause the 
1604         focus row to become not viewable, so omit check on the visibility
1605         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1606
1607 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1608
1609         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1610         selection before inserting new text.
1611
1612 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1613
1614         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1615         Make the sensitivity of the reparented child track that of
1616         the original parent menu item. (#34218, David Hodson)
1617
1618         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1619         the case where the current item is destroyed properly.
1620
1621         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1622         some edge cases with child-less menuitems.
1623         
1624 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1625
1626         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1627         key pop down window. (#12074, Jon K Hellan)
1628
1629 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1630
1631         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1632         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1633         The solution here isn't perfect - you get an extraneous
1634         emission of "toggle", which could conceivably confuse an app,
1635         but better than the current situation. LXR search seems to
1636         indicate that no apps in GNOME CVS connect to "toggle".
1637
1638 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1639
1640         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1641         gtk_public_h_sources to directly here to avoid warning when
1642         building srcdir != builddir. (#9656)
1643
1644 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1645
1646         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1647         handlers in gtkrange.c return the proper values (TRUE == handled)
1648         (#10316).
1649
1650         This is just the tip of the iceberg, but gtkrange.c is the
1651         most common place where the propagation is problematical,
1652         and also a place where it is almost certainly safe to change
1653         this in the stable branch.
1654
1655         (You don't want right click popups on a range control or anything...)
1656
1657 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1658
1659         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1660         area on focus out, even if a background pixmap isn't set.
1661         (#13941)
1662         
1663 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1664
1665         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1666         to deal with setting the shape properly when scrolling arrows are
1667         turned on, but not visible because there is sufficient space.
1668         (#13432)
1669
1670 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1671
1672         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1673         items with submenus, destroy the item along with the submenu.
1674         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1675         properly.
1676
1677         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1678         later.
1679
1680 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1681
1682         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1683         the focus widget sometimes wasn't drawn with the default if there
1684         was no default widget.
1685
1686         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1687         unreference pixmaps. 
1688
1689         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1690         for some extra safety.
1691
1692 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1693
1694         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1695         the text of a cell to the old pointer value better, by
1696         copying the new text before freeing the old text. Some code
1697         cleanup. (#8079, Karl Nelson)
1698
1699 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1700
1701         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1702         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1703
1704 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1705
1706         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1707         item from a menu, check to see if it matches 
1708         menu->old_active_menu_item, and if so, unref and clear
1709         old_active_menu_item (Patch from Pavel Cisler)
1710
1711         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1712         menu_shell->active_menu_item, if it is the child being
1713         removed. (Patch based on that of Gene Ragan, #50337)
1714
1715 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1716
1717         * gdk/linux-fb/gdkselection-fb.c: 
1718         * gdk/linux-fb/gdkcolor-fb.c: 
1719         * gdk/linux-fb/gdkdrawable-fb2.c: 
1720         * gdk/linux-fb/gdkfont-fb.c: 
1721         * gdk/linux-fb/gdkim-fb.c: 
1722         * gdk/linux-fb/gdkinput.c: 
1723         * gdk/linux-fb/gdkkeyboard-fb.c: 
1724         * gdk/linux-fb/gdkmain-fb.c: 
1725         * gdk/linux-fb/gdkrender-fb.c: 
1726         A bunch of whitespace cleanup.
1727         
1728 2001-01-30  Havoc Pennington  <hp@pobox.com>
1729
1730         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1731         #ifdef GTK_ENABLE_BROKEN.
1732
1733         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1734         GTK_ENABLE_BROKEN just before including the broken headers.
1735         
1736         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1737         deprecated types registered.
1738
1739         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1740         we have to test the broken stuff.
1741
1742         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1743         
1744 2001-01-30  Havoc Pennington  <hp@redhat.com>
1745
1746         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1747         here where prev pointer was set to the wrong thing
1748
1749         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1750         (gtk_tree_path_is_descendant): new function
1751
1752         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1753         cached length
1754         (gtk_list_store_get_iter): don't modify iter if we can't get the
1755         path.
1756
1757         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1758         
1759         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1760         GtkTreeDragDest
1761
1762         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1763         was causing segfault
1764
1765         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1766         pointer to NULL
1767
1768         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1769
1770         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1771         on returning FALSE
1772         (gtk_list_store_iter_children): ditto
1773         (gtk_list_store_iter_nth_child): ditto
1774         (gtk_list_store_iter_nth_child): ditto
1775         (gtk_list_store_iter_parent): ditto
1776
1777         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1778         on iter->user_data != NULL instead of silently accepting it.
1779         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1780         we are returning TRUE.
1781         (gtk_tree_store_iter_children): ditto
1782         (gtk_tree_store_iter_nth_child): ditto
1783         (gtk_tree_store_iter_parent): ditto
1784         (gtk_tree_store_insert): remove handling of parent->user_data ==
1785         NULL, replace with parent == NULL       
1786
1787         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1788         and a comment explaining things
1789
1790         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1791         interface support to GtkTreeStore.
1792
1793         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1794         FALSE if no prev, fix
1795
1796         * gtk/gtktreeview.c (set_source_row): use a row reference
1797         (set_dest_row): use a row reference
1798
1799 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1800
1801         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1802         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1803         (gtk_tree_selection_select_iter): The same as above.
1804
1805 2001-01-26  Havoc Pennington  <hp@redhat.com>
1806
1807         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1808         which holds a handle to a specific row (particular set of values
1809         in the model, i.e. pointer-identity row).
1810
1811         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1812         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1813         Still need to use it for the src/dest row saved on the drag context.
1814
1815 2001-01-26  Havoc Pennington  <hp@redhat.com>
1816
1817         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1818
1819         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1820         not offset by TREE_VIEW_HEADER_HEIGHT
1821         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1822         TREE_VIEW_HEADER_HEIGHT
1823
1824         * configure.in (included_loaders): for me, --with-included-loaders
1825         generates the error "the specified loader yes does not exist",
1826         i.e. the arg defaults to "yes", so change test for value ""
1827         to test for value "yes", and include all loaders in that case.
1828
1829         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1830
1831         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1832         handle TREE_VIEW_VERTICAL_SEPARATOR
1833         (gtk_tree_view_bin_expose): fix to consider the row offset as
1834         pointing halfway into vertical separator.       
1835         (gtk_tree_view_draw_node_focus_rect): ditto
1836
1837         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1838         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1839         (TRUE) to be called.
1840
1841         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1842         debug mode where the invalid region is colored in on invalidate,
1843         so you can see the flicker and know whether your redraw code is 
1844         doing a good job.
1845
1846         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1847         tree window coordinates (clip rect is in tree window coords)
1848
1849         * gtk/Makefile.am: add gtktreednd.[hc]
1850
1851         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1852
1853         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1854         drag-and-drop data operations on a model (so we can set up tree
1855         drag-and-drop automatically)
1856
1857         * gtk/testgtk.c: Add a window to change sensitivity in the
1858         GtkLabel test; add a way to change the entry frame in GtkEntry
1859         test
1860
1861         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1862         (gtk_entry_get_has_frame): new functions to remove the frame
1863         around an entry
1864         (gtk_entry_size_request): shrink requisition if no frame
1865         (gtk_entry_draw_focus): don't draw frame if no frame
1866
1867         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1868         checks inside a cell renderer
1869         (gtk_default_draw_option): ditto for options
1870
1871         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1872         children from the alignment, not the button
1873         (gtk_tree_view_column_init): ref/sink the column, to emulate
1874         GObject refcounting.
1875
1876         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1877         
1878         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1879         Use theme functions to draw the toggles 
1880
1881         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1882
1883         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1884         GdkPangoAttrEmbossed to use in rendering insensitive text
1885
1886         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1887
1888         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1889         using new GDK features
1890         
1891 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1892
1893         * gtk/gtkimage.c:
1894         Splitted gtk_image_clear into gtk_image_clear() and
1895         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1896         to avoid leaks.
1897
1898         * gtk/gtklabel.c (set_markup):
1899         Don't leak text.
1900
1901         * gtk/gtktextlayout.c:
1902         Always free display->shaped_objects.
1903
1904         * gtk/testgtk.c (create_clist):
1905         Don't leak custom style.
1906
1907 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1908
1909         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1910         Don't leak image. Simplify using gdk_colormap_query_color().
1911         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1912
1913         * linux-fb/gdkcolor-fb.c:
1914         Implemented gdk_colormap_query_color.
1915
1916 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1917
1918         * linux-fb/gdkcursor-fb.c:
1919         Don't leak built-in cursors.
1920
1921         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1922         Don't leak tmp_points.
1923
1924         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1925         Don't modify desc. Don't leak font if the PangoFont
1926         isn't found.
1927         
1928         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1929         Free dash_list.
1930
1931         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1932         Don't leak string.
1933         
1934 2001-01-20  Havoc Pennington  <hp@pobox.com>
1935
1936         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1937         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1938         me, matches Pango
1939
1940 2001-01-22  Havoc Pennington  <hp@redhat.com>
1941
1942         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1943
1944         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1945
1946         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1947         Remove, move back to gdk-pixbuf
1948
1949         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1950         to all the word functions
1951
1952         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1953         before doing anything on NULL layout or if we don't have the focus
1954
1955         * gtk/testtext.c (fill_example_buffer): "justification"
1956
1957         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1958         to be called "justification" not "justify"
1959
1960         * demos/gtk-demo/textview.c (create_tags): "justification"
1961         
1962         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1963
1964 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1965
1966         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1967         Don't leak visible_region. Use visible_region instead of region.
1968         
1969         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1970         Don't do extra gdk_drawable_ref(). This is not X.
1971         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1972         gdk_fb_focused_window is ref:ed.
1973         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1974         windows.
1975
1976 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1977
1978         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1979         Don't leak the PangoFontDescriptor.
1980
1981 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1982
1983         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1984         when not realized.
1985         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1986         (gtk_tree_view_realize): add scroll_to support
1987         (gtk_tree_view_finalize): add a finalize method.  Populate.
1988         (gtk_tree_view_insert_column): ref and sink the column.
1989         (gtk_tree_view_append_column): ref and sink the column.
1990         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1991         individual nodes.  Should make the code much more efficient, if
1992         actually used.
1993
1994 2001-01-19  Havoc Pennington  <hp@redhat.com>
1995
1996         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1997         byte_offset variable was being used to mean both "offset into
1998         layout" and "offset into buffer line" which was no longer true
1999         with addition of preedit string; fix
2000
2001 2001-01-19  Havoc Pennington  <hp@redhat.com>
2002
2003         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2004
2005         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2006         function
2007
2008         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2009         implement
2010
2011         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2012         scroll_to_cell, matches TextView scroll functions better
2013         (gtk_tree_view_tree_to_widget_coords): new function
2014         (gtk_tree_view_widget_to_tree_coords): new function
2015         (gtk_tree_view_get_visible_rect): new function
2016         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2017         (gtk_tree_view_draw_node_focus_rect): new function moved from
2018         draw_focus, also, use width of bin_window as width of the focus
2019         rect
2020         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2021         already-expanded rows
2022         (gtk_tree_view_get_cell_rect): new function
2023         (gtk_tree_view_get_path_at_pos): return the click position
2024         relative to the passed-in cell
2025         (gtk_tree_view_set_expander_column): new function
2026
2027         * configure.in: remove gtk-config-2.0 chmod
2028
2029         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2030         and properly handle drags with targets we don't understand
2031         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2032         scrolling anyway
2033         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2034         mark invisible
2035
2036         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2037         function
2038         (gtk_drag_dest_get_target_list): new function
2039         (gtk_drag_dest_set_target_list): new function
2040         
2041         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2042
2043         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2044         related to drag-and-drop
2045
2046 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2047
2048         * gdk/linux-fb/gdkprivate-fb.h:
2049         Define EMULATE_GDKFONT.
2050         Add extra pango_font stuff to GfkFontPrivate.
2051         
2052         * gdk/linux-fb/gdkdrawable-fb2.c:
2053         * gdk/linux-fb/gdkfont-fb.c:
2054         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2055         emulation using PangoFont.
2056
2057 2001-01-17  Havoc Pennington  <hp@pobox.com>
2058
2059         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2060         all the non-deprecated set_foo functions. Added missing object
2061         properties, and added g_object_notify() to setters. 
2062         Wrote docs.
2063         
2064 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2065
2066         * gtk/gtkmain.c
2067         * gtk/gtkrc.c: (Win32) Use the new
2068         g_win32_get_package_installation_(sub)directory() functions.
2069
2070         * config.h.win32.in: New file.
2071         
2072         * config.h.win32: Removed.
2073
2074         * configure.in: Output config.h.win32.
2075
2076         * Makefile.am: Add it to EXTRA_DIST.
2077
2078         * gtk/gtk.def: Update.
2079
2080 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2081
2082         * gtk/gtklabel.c (gtk_label_size_request): Set the
2083         attributes onto the PangoLayout even if they are newly
2084         created from label->pattern.
2085
2086 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2087
2088         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2089
2090         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2091         structures in functions. Fixes bug where gtk_dataset_*
2092         was accidentally still being used in one place, causing
2093         every dest side event to be treated independently.
2094
2095         * gtk/gtkdnd.c: Remove last vestages of handling
2096         ::draw (fixes warning)
2097         
2098         * gtk/gtkentry.[ch]: Add drag and drop support.
2099
2100         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2101         new function gtk_check_drag_threshhold() for checking
2102         to check if (dx,dy) has exceeded the threshhold for starting
2103         a drag and use it everywhere.
2104
2105 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2106
2107         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2108         add -I{includedir}/gtk-2.0.
2109
2110         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2111         gdk/gdk-pixbuf.h: Doc fixups.
2112         
2113         * gtk/gtkobject.h: Remove trailing , from enum
2114
2115 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2116
2117         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2118         Doh! Mixed up x and y.
2119
2120         * gdk/linux-fb/gdkglobals-fb.c:
2121         Removed gdk_fb_pointer_grab_window_events,
2122         added _gdk_fb_pointer_grab_owner_events and
2123         _gdk_fb_keyboard_grab_owner_events.
2124
2125         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2126         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2127         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2128         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2129         Send crossing events after ungrab finished.
2130         (gdk_keyboard_grab): Set ..._owner_events
2131         (type_masks): Move out of function.
2132         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2133         gdk_fb_keyboard_event_window): New functions, return the
2134         window an event should be targeted at. Handles grabs and
2135         event propagation. Can return NULL.
2136         (gdk_event_make): Remove event_mask checking. Now always
2137         returns an event.
2138                 
2139         * gdk/linux-fb/gdkkeyboard-fb.c:
2140         * gdk/linux-fb/gdkproperty-fb.c:
2141         * gdk/linux-fb/gdkselection-fb.c:
2142         Use new event_window/gdk_event_make() behaviour.
2143         
2144         * gdk/linux-fb/gdkmouse-fb.c:
2145         Use new event_window/gdk_event_make() behaviour.
2146         Only send motion events if in the same window.
2147         If grabbed, use cursor from window if sibling of grabbed
2148         window, and cursor from grabbed window otherwise.
2149
2150         * gdk/linux-fb/gdkprivate-fb.h:
2151         Update gdk_fb_window_send_crossing_events, gdk_event_make
2152         and grab varaible declarations. Add gdk_fb_*_event_window().
2153
2154         * gdk/linux-fb/gdkwindow-fb.c:
2155         Use new event_window/gdk_event_make() behaviour.
2156         Keep correct track of focus window.
2157         (gdk_window_set_events): Set all specific button motion masks
2158         if GDK_BUTTON_MOTION_MASK set.
2159
2160         * gtk/gtkdnd.c (gtk_drag_update):
2161         Free info->last_event if gdk_drag_motion returned FALSE.
2162
2163 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2164
2165         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2166         Eliminate redraws when input-only windows are shown or
2167         hidden. Thanks to jpe@archaeopteryx.com.
2168
2169 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2170
2171         * docs/faq/gtk-faq.sgml: FAQ update:
2172           - Update to bugzilla
2173           - Add GTK+ and security/SUID/SGID
2174           - Add DnD question
2175
2176 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2177
2178         * gdk/linux-fb/gdkdnd-fb.c:
2179         Some cleanups.
2180         
2181 2001-01-15  Havoc Pennington  <hp@pobox.com>
2182
2183         * tests/testtreeview.c: add test stuff for CellRendererToggle
2184
2185         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2186         accessor
2187
2188         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2189         only toggle on button press (would do release like GtkButton, but
2190         we'd need implicit grab code for treeview cells)
2191
2192 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2193
2194         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2195
2196         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2197         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2198
2199         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2200         to g_{locale,filename}_{to,from}_utf8 to match current API.
2201
2202         * gtk/makefile.msc.in (gtk_OBJECTS)
2203         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2204
2205         * gtk/gtk.def: Update.
2206
2207 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2208
2209         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2210         implementaion that more closely mimics the events that an X server
2211         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2212         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2213         with nested preview widgets, for instance, more responsive when
2214         you move the mouse quickly into them.
2215         (find_window_for_pointer_event): Make it actually compile.
2216         (gdk_event_translate): Set send_event to the value of
2217         InSendMessage (). This doesn't really mean the same as X11's
2218         send_event flag, but is close enough, says jpe@archaeopteryx.com
2219
2220 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2221
2222         * gdk/linux-fb/gdkdnd-fb.c:
2223         Implemented drag and drop.
2224         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2225         when it tries to free and then copy the same event (info->last_event).
2226         I am not sure about why this happens, but will continue looking.
2227
2228 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2229
2230         * gdk/linux-fb/gdkwindow-fb.c:
2231         Use gdk_window_invalidate_rect instead of
2232         gdk_window_invalidate_rect_clear to minimise flashing.
2233         When hiding windows you need to clear the root window though.
2234
2235 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2236
2237         * gdk/linux-fb/gdkdrawable-fb2.c:
2238         For optization, add an full_shapes argument to gdk_fb_clip_region.
2239         If this is false, only the cliprects of the shapes are used.
2240
2241         * gdk/linux-fb/gdkprivate-fb.h:
2242         Export gdk_fb_window_peek_shape.
2243         Add full_shapes to gdk_fb_clip_region.
2244
2245         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2246         When moving a window, don't clear everything under the it, just the
2247         root window. Makes stuff faster and flash less.
2248         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2249         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2250         offset of the shape.
2251         
2252
2253 2001-01-12  Havoc Pennington  <hp@redhat.com>
2254
2255         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2256         current invalid region, fixes redraw bug while scrolling the 
2257         text widget
2258
2259         * gtk/gtktextview.c, gtk/gtktextview.h:
2260         Rearrange the scrolling/validation/etc. code in a major way, 
2261         so it seems to make sense to me. Probably isn't genuinely that
2262         much better, but...
2263
2264         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2265         notifies
2266
2267         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2268
2269 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2270
2271         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2272         Hide mouse pointer while rotation. Show it afterwards.
2273
2274 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2275
2276         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2277         windows in consideration when generating clip region.
2278
2279         * gdk/linux-fb/gdkfb.h:
2280         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2281
2282         * gdk/linux-fb/gdkprivate-fb.h:
2283         Add shape to GdkWindowFBDatat.
2284         exported gdk_fb_window_get_abs_shape().
2285         removed gdk_fb_draw_lines declaration.
2286
2287         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2288         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2289         send focus changes when there is a grabbed window.
2290         (gdk_window_get_pointer): Handle shaped windows.
2291         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2292         (gdk_fb_window_peek_shape): Returns the shape for a window,
2293         handles GDK_FB_USE_CHILD_SHAPE.
2294         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2295         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2296         (gdk_window_shape_combine_mask): Implement.
2297
2298         * gtk/gtkwindow-decorate.c:
2299         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2300         setting the shape of a window makes the window transparent.
2301
2302 2001-01-11  Havoc Pennington  <hp@redhat.com>
2303
2304         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2305
2306 2001-01-10  Havoc Pennington  <hp@redhat.com>
2307
2308         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2309         add this function, bug 40251
2310
2311         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2312         of type macro   
2313
2314 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2315
2316         * acconfig.h:
2317         Added ENABLE_SHADOW_FB
2318
2319         * configure.in:
2320         Added --disable-shadowfb
2321
2322         * gdk/linux-fb/gdkcursor-fb.c:
2323         Update shadowfb when updating cursor
2324
2325         * gdk/linux-fb/gdkdrawable-fb2.c:
2326         Added wrappers for shadowfb that calls  the normal drawable
2327         methods, but calls gdk_shadow_fb_update(bounding box) when
2328         GdkWindows are drawed to.
2329         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2330         which also returns the bounding box.
2331
2332         * gdk/linux-fb/gdkfb.h:
2333         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2334
2335         * gdk/linux-fb/gdkgeometry-fb.c:
2336         Update shadowfb when scrolling window.
2337
2338         * gdk/linux-fb/gdkglobals-fb.c:
2339         Add _gdk_fb_screen_angle.
2340         
2341         * gdk/linux-fb/gdkkeyboard-fb.c:
2342         Test code for screen rotation. Shift-F2 in the xlate driver
2343         rotates the screen.
2344
2345         * gdk/linux-fb/gdkmain-fb.c:
2346         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2347
2348         * gdk/linux-fb/gdkmouse-fb.c:
2349         Use fb_width/height instead of modeinfo.xres/yres.
2350
2351         * gdk/linux-fb/gdkprivate-fb.h:
2352         Added fb_men, fb_width, fb_height & fb_stride. When using
2353         shadow fb these can differ from the framebuffer stuff.
2354         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2355         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2356         _gdk_fb_screen_angle. Removed CM, RP.
2357
2358         * gdk/linux-fb/gdkrender-fb.c:
2359         Added code for shadowfb handling and screen rotation using
2360         shadowfb.
2361
2362         * gdk/linux-fb/gdkwindow-fb.c:
2363         Use fb_mem, fb_stride, fb_width, fb_height.
2364         Added recompute_rowstride to reset the rowstride of all windows.
2365         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2366         window abs positions and window rowstrides. Usefull when the
2367         rotation has changed.
2368
2369 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2370
2371         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2372
2373 2001-01-10  Havoc Pennington  <hp@redhat.com>
2374
2375         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2376         where sibling == iter
2377         (gtk_tree_store_insert_after): handle sibling == iter
2378         (gtk_tree_store_prepend): remove stamp checks
2379         (gtk_tree_store_insert_before): ditto
2380         (gtk_tree_store_append): ditto
2381         (gtk_tree_store_get_path): ditto
2382         (gtk_tree_store_get_value): ditto
2383         (gtk_tree_store_iter_has_child): ditto
2384         (gtk_tree_store_iter_n_children): ditto
2385         (gtk_tree_store_iter_nth_child): ditto
2386         (gtk_tree_store_insert_after): ditto
2387         (gtk_tree_store_is_ancestor): ditto
2388         (gtk_tree_store_iter_depth): ditto
2389         (gtk_tree_store_insert_before): assert that sibling's parent is
2390         the same as the passed-in parent
2391         (gtk_tree_store_insert_after): assert that sibling's parent is
2392         the same as the passed-in parent
2393
2394         
2395         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2396         function to get the first iterator in a model
2397         
2398         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2399         conventionally the "root" in this sense is just NULL afaict.
2400
2401         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2402         where sibling == iter
2403         (gtk_list_store_insert_after): handle case where sibling == iter
2404
2405         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2406         automated tests for ListStore, TreeStore
2407
2408         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2409         (gtk_list_store_insert): update tail pointer, and fix it to work
2410         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2411         (gtk_list_store_append): use tail to be faster
2412         (gtk_list_store_prepend): fix it, update tail pointer
2413         (gtk_list_store_insert_after): fix it, update tail pointer
2414
2415         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2416         the list
2417
2418 2001-01-09  Havoc Pennington  <hp@redhat.com>
2419
2420         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2421         is NULL due to a pending resize
2422
2423         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2424         column width to values less than 1
2425
2426         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2427         width to be between min/max width, and still set the width 
2428         even if autosize is turned on, so the tree view can use this 
2429         function in order to autosize.
2430         (gtk_tree_view_column_init): set initial width to 1 not 0
2431
2432         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2433         setter function to modify column width, so we get notification
2434         (gtk_tree_view_insert_iter_height): ditto
2435         (gtk_tree_view_calc_size): ditto
2436         (gtk_tree_view_check_dirty): ditto
2437
2438         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2439         properties to change all the interesting attributes of the tree
2440         view column.
2441         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2442         (gtk_tree_view_column_get_clickable): add
2443         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2444         attributes; assume a cell renderer with equivalent object
2445         properties has been swapped in. Do g_object_notify().
2446         (gtk_tree_view_column_set_visible): g_object_notify
2447         (gtk_tree_view_column_get_sizing): rename from get_col_type
2448         (gtk_tree_view_column_set_sizing): g_object_notify
2449         (gtk_tree_view_column_set_width): add g_object_notify
2450         (gtk_tree_view_column_set_min_width): ditto
2451         (gtk_tree_view_column_set_max_width): ditto
2452         (gtk_tree_view_column_set_title): ditto
2453         (gtk_tree_view_column_set_clickable): ditto
2454         (gtk_tree_view_column_set_widget): ditto
2455         (gtk_tree_view_column_set_justification): ditto
2456
2457 2001-01-09  Havoc Pennington  <hp@redhat.com>
2458
2459         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2460         there are no rows in the model
2461
2462         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2463         NULL, then return the start of the list
2464
2465         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2466         if we can't get any rows from an empty model 
2467
2468         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2469         extraneous * after function pointer typedef usage
2470
2471         * Makefile.am: don't specify full path to cp and rm
2472
2473         * gtk/gtkcellrenderertextpixbuf.c
2474         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2475         NULL before dereferencing, fixes a segfault that happened from
2476         time to time
2477
2478         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2479         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2480         and reindent the function
2481         (gtk_cell_renderer_pixbuf_get_size): indentation
2482
2483         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2484         we quit it
2485         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2486         (gtk_dialog_set_default_response): New function, to set default
2487         button
2488         (gtk_dialog_set_response_sensitive): New function, to set 
2489         sensitivity of buttons
2490
2491         * gtk/gtkcellrendererpixbuf.c
2492         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2493         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2494
2495         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2496         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2497         also boxed types.
2498         (_gtk_tree_data_list_value_to_node): ditto
2499
2500         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2501         --gtk-debug=tree
2502
2503         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2504
2505         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2506
2507 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2508
2509         * gdk/win32/gdkevents-win32.c: Implement better mouse
2510         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2511         (find_window_for_pointer_event): New function.
2512         (gdk_event_translate): Use it when handling mouse events.
2513
2514 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2515
2516         * configure.in:
2517         Added --with-included-loaders option
2518
2519         * gdk-pixbuf/Makefile.am:
2520         * gdk-pixbuf/gdk-pixbuf-io.c:
2521         Add support for including selected gdk-pixbuf loaders only.
2522
2523         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2524         gtk_window_set_has_frame):
2525         Added inline documentation.
2526
2527         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2528         * docs/reference/gdk/tmpl/windows.sgml:
2529         Added inline documentation.
2530
2531 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2532
2533         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2534         realizing buttons that have already been realized.
2535
2536 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2537
2538         * tests/testtreeview.c (main): Show menu items before adding to
2539         option menu.
2540
2541         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2542         around if we kill them.
2543
2544         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2545         Return if we pass in a NULL model.
2546
2547 2001-01-08  Havoc Pennington  <hp@redhat.com>
2548
2549         * tests/testtreeview.c: hack on this some
2550
2551         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2552         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2553         list
2554         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2555
2556         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2557         functions
2558
2559 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2560
2561         * gtk/gtkwindow-decorate.[hc]:
2562         * gtk/Makefile.am:
2563         New files. Contains an implementation of a minimal WM for
2564         linux-fb.
2565
2566         * gtk/gtkwindow.h:
2567         Add the possibility for GtkWindows to specify a frame. This
2568         is used for the window decoration code, but could concievably
2569         be used for X programs too (xmms style windows).
2570         GtkWindow->frame is the toplevel window if the window is framed.
2571         The signal frame_event gets all events that are targeted to
2572         GtkWindow->frame.
2573         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2574         
2575         * gtk/gtkwindow.c:
2576         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2577         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2578
2579 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2580
2581         * docs/README.linux-fb:
2582         Correct filename ~/.pangoft2_aliases
2583
2584         * gdk/gdkwindow.h:
2585         Added new function gdk_window_get_decorations.
2586
2587         * gdk/linux-fb/gdkfb.h:
2588         Removed _gdk_window_get_decorations declaration.
2589         Renamed _gdk_window_set_child_handler to
2590         gdk_fb_window_set_child_handler.
2591
2592         * gdk/linux-fb/gdkwindow-fb.c:
2593         Renamed _gdk_window_set_child_handler to
2594         gdk_fb_window_set_child_handler.
2595
2596         * gdk/x11/gdkwindow-x11.c:
2597         New function gdk_window_get_mwm_hints().
2598         Implemented gdk_window_get_decorations.
2599
2600         * docs/reference/gdk/tmpl/windows.sgml:
2601         * docs/reference/gdk/gdk-sections.txt:
2602         Added gdk_window_get_decorations docs.
2603         
2604 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2605
2606         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2607         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2608         gdk_fb_window_send_crossing_events):
2609         Possibly send focus events when the mouse moves from one
2610         window to another.
2611
2612 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2613
2614         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2615         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2616         to match current API.
2617
2618         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2619         environment variable is set, don't call g_error when on a
2620         palettized (PseudoColor) display. Some people want to use GTK+ 
2621         in 256-colour mode even though works only partially.
2622
2623         * gdk/gdk.def
2624         * gtk/gtk.def
2625         * gtk/makefile.mingw.in: Update.
2626
2627 2001-01-05  Havoc Pennington  <hp@redhat.com>
2628
2629         * tests/testtreeview.c: hack on this a bit
2630
2631         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2632         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2633
2634         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2635         was spelled incorrectly
2636         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2637
2638         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2639         from gtk_tree_view_set_headers_active   
2640
2641         * gtk/gtktexttag.c:
2642         (gtk_text_tag_get_property): handle PROP_DIRECTION
2643         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2644         properties, bug 40235
2645
2646         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2647         forward_to_line_end
2648
2649 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2650
2651         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2652         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2653         for unicode,locale,filename conversion functions.
2654
2655 2001-01-05  Havoc Pennington  <hp@redhat.com>
2656
2657         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2658         broken if called on the first position in the buffer.
2659
2660         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2661         forward_to_delimiters to be called only if we aren't already at
2662         the delimiters.
2663
2664 2001-01-05  Havoc Pennington  <hp@redhat.com>
2665
2666         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2667
2668 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2669
2670         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2671         colormap in here. Sync from X port.
2672         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2673         Sync from X port.
2674         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2675         This happens now and then, and i don't think it is a bug.
2676         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2677         != endpoint.
2678         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2679         GDK_LINE_SOLID.
2680
2681         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2682         some of the fields filled in at least.
2683
2684         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2685         miLineArcD is no more, remove it from the function definition.
2686
2687 2001-01-04  Havoc Pennington  <hp@redhat.com>
2688
2689         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2690         this
2691
2692         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2693         user_data instead of tree_node
2694
2695         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2696         TREE_VIEW_COLUMN_SIZE
2697
2698         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2699         "size" field to "width" finishes bug 40061
2700
2701         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2702         for bitfields, bug 40268
2703
2704 2001-01-04  Havoc Pennington  <hp@redhat.com>
2705
2706         Rename some stuff:
2707         
2708         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2709
2710         s/GtkModelSimple/GtkTreeModelSimple/g;
2711         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2712         s/gtk_model_simple/gtk_tree_model_simple/g;
2713         s/gtkmodelsimple/gtktreemodelsimple/g;
2714
2715         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2716
2717         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2718         s/column_set_col_type/column_set_sizing/g;
2719
2720         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2721         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2722
2723         s/GtkCellRendererType/GtkCellRendererState/g;
2724         
2725         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2726         (gtk_cell_renderer_toggle_class_init): change "state" property to
2727         "active", to match GtkToggleButton
2728         (gtk_cell_renderer_toggle_get_active): new function, bug
2729         40269
2730         (gtk_cell_renderer_toggle_set_active): new function
2731         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2732         state through gtk_cell_renderer_set_active
2733
2734 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2735
2736         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2737         temporarily until they work again.  Brought up to date with
2738         changes in the model.
2739         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2740         model.
2741
2742 2001-01-04  Havoc Pennington  <hp@redhat.com>
2743
2744         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2745         equal to the line length, then position iterator before paragraph 
2746         separators. Fixes crash reported by Mikael Hermansson when
2747         pressing left arrow from the start of a line.   
2748
2749         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2750         about byte indexes off the end
2751         (iter_set_from_char_offset): add g_error about char offsets
2752         off the end
2753
2754 2001-01-03  Havoc Pennington  <hp@redhat.com>
2755
2756         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2757
2758         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2759         of private functions; remove inclusion of private headers.
2760
2761         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2762         function, so we don't need private functions in gtktextdisplay.c
2763
2764         * gtk/gtktextiterprivate.h: underscore-ification
2765
2766         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2767         to instead say "only useful to implement widgets"
2768
2769         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2770         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2771         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2772
2773         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2774         This function was completely broken
2775
2776         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2777
2778         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2779
2780         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2781
2782         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2783
2784         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2785
2786         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2787
2788         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2789         gtk_paint_layout
2790
2791         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2792         gtk_paint_layout
2793
2794         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2795         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2796         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2797         which were not implemented.     
2798
2799         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2800         insert_pixbuf signal. Rename delete_text to delete_range since it
2801         also deletes pixbufs and child anchors. This almost closes bug
2802         40245 (still need to deal with child anchors)
2803
2804         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2805         insert_pixbuf, change signal names as appropriate, change types of
2806         signals taking marks/tags to have the specific type, not just
2807         G_TYPE_OBJECT
2808         
2809         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2810         closes bug 40051
2811
2812         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2813         unnecessary remove_contents() call
2814         (gtk_option_menu_class_init): add a "changed" signal, closes
2815         bug 40039
2816         (gtk_option_menu_update_contents): emit "changed" if the 
2817         active menu item changes
2818
2819         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2820         cast to GtkObject, reported by Jonas Borgstrom
2821         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2822         we can't do stuff with side effects in finalize. Instead, spew a
2823         warning if the loader isn't closed.
2824
2825         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2826         colormap in here, non-X ports probably need to sync to this change
2827
2828         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2829         assertion that colormap != NULL, you can set the colormap to NULL
2830         if you like.
2831         
2832         * Makefile.am: remove gtk-config-2.0
2833
2834         * configure.in: Use pkg-config to locate GLib. Remove
2835         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2836         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2837         Use pkg-config to locate Pango. Output correct Pango libs to
2838         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2839
2840         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2841         files
2842         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2843         X11 pc files
2844
2845         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2846         unref from here
2847
2848 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2849
2850         * configure.in:
2851         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2852
2853 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2854
2855         * gtk/gtktextlayout.c
2856         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2857         variable when moving back onto a single line.
2858
2859 2001-01-01  Havoc Pennington  <hp@redhat.com>
2860
2861         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2862
2863         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2864
2865         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2866         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2867
2868 2001-01-01  Havoc Pennington  <hp@redhat.com>
2869
2870         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2871
2872         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2873         GtkTextAttributes
2874
2875         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2876         #40246
2877         (gtk_text_attributes_copy_values): rename from 
2878         gtk_text_attributes_copy
2879         (gtk_text_attributes_copy): a more standard GTK copy function, 
2880         which returns a new object
2881
2882 2001-01-01  Havoc Pennington  <hp@redhat.com>
2883
2884         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2885         
2886         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2887         don't fill in tree_view->priv->selection, kind of an unexpected
2888         side effect
2889
2890         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2891         gtkintl.h
2892         
2893         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2894         gtkintl.h
2895         (gtk_cell_renderer_get_property): remove calls to g_value_init
2896
2897         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2898         gtkintl.h
2899
2900         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2901         and include gtkintl.h
2902         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2903         property names
2904
2905         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2906         GtkTreeSelection
2907         (_gtk_tree_selection_new_from_with_view): rename, return
2908         GtkTreeSelection
2909         (_gtk_tree_selection_set_tree_view): rename with uscore
2910         (gtk_tree_selection_get_selected): fill in the "model" out param
2911         first, so it gets filled in even if we return at the top of the 
2912         function
2913         (gtk_tree_selection_real_select_all): add a comment and an else{}
2914         to clarify this a bit
2915         (gtk_tree_selection_real_unselect_all): add the same else{}
2916
2917         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2918         set_tree_view to have underscore prefixes, move them to the
2919         private header, fix return type of new_with_tree_view
2920         (struct _GtkTreeSelection): mark struct
2921         fields private  
2922
2923         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2924         GtkTreeModelFlags, not a guint
2925         (gtk_tree_path_prev): return gboolean not gint
2926         (gtk_tree_path_up): return gboolean not gint
2927
2928         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2929         return GtkTreeModelFlags, not a guint
2930
2931         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2932         that child model is non-null before unrefing it
2933         (g_value_int_compare_func): make this a qsort compare func, not 
2934         a boolean predicate
2935
2936         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2937         (add -umn to the end), and mark it unimplemented
2938         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2939         I don't see what it's for - doesn't the model always sort itself?
2940         (gtk_tree_model_sort_set_compare): this had the wrong signature
2941
2942         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2943         Fix the docs to say that it destructively replaces existing
2944         attributes (previously said that it added attributes).
2945         (gtk_tree_view_column_set_visible): canonicalize bool before
2946         equality testing. Also, check for realization before
2947         hiding/showing the tree_column->window; if this window could exist
2948         before realization, then it's busted and needs fixing, we can't 
2949         create GDK resources pre-realization. Also, remove
2950         superfluous queue_resize(), since set_size() does that for us.
2951         (gtk_tree_view_column_set_col_type): check realization before 
2952         using tree_column->window
2953
2954         * gtk/gtktreedatalist.c: fix filename in copyright notice
2955
2956 2000-12-31  Havoc Pennington  <hp@pobox.com>
2957
2958         * gtk/gtktextview.c: Rearrange all the
2959         scroll-while-dragging-or-selecting code to be different, not
2960         necessarily better. ;-)
2961         (gtk_text_view_scroll_to_mark): Change this
2962         function to take within_margin as a fraction instead of a pixel
2963         value, and to take alignment arguments (indicating where to align 
2964         the mark inside the visible area)
2965         
2966         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2967         to GtkObject
2968
2969         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2970         behavior so that offsets past the end of the line are not 
2971         allowed, and an offset equal to the line length moves the iterator
2972         to the next line
2973         (gtk_text_iter_set_line_index): make parallel change
2974         (gtk_text_iter_get_bytes_in_line): add this function
2975         
2976         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2977         of byte indexes off the end of the line; byte index at the end of
2978         the line now returns FALSE and doesn't fill in the requested
2979         values, byte index past the end of the line is an error.  Also,
2980         don't allow -1 offset anymore, since its meaning is unclear.
2981
2982         This change exposes some bug in visual cursor motion, where we
2983         end up with a huge invalid byte index; needs fixing. Symptom of 
2984         bug is a crash when you hit up arrow.
2985         
2986         (_gtk_text_line_char_locate): match the change to byte_locate
2987
2988         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2989         from start of line properly. fixes bug reported by Mikael
2990         Hermansson where backspace would delete all text before the
2991         cursor.
2992
2993 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2994
2995         * gdk/win32/gdkwindow-win32.c
2996         (gdk_window_impl_win32_get_visible_region): New function, as in
2997         the X11 backend.
2998         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2999         instead of duplicating the same code here.
3000
3001         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3002         GDK_COLORMAP macro.
3003
3004         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3005         destroy function.
3006         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3007         access that.
3008
3009         * gtk/gtk.def: Update.
3010
3011         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3012
3013 2000-12-30  Havoc Pennington  <hp@pobox.com>
3014
3015         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3016         colormap on input only windows, to avoid special cases all over
3017         the code for these windows.
3018
3019 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3020
3021         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3022         we are on a palettized display ("PseudoColor" in X11), as the code
3023         for that doesn't work anyway, and never has.
3024
3025 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3026
3027         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3028         Don't use isprint() for chars > 255.
3029
3030 2000-12-21  Havoc Pennington  <hp@redhat.com>
3031
3032         * tests/testtreeview.c: more work
3033
3034 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3035
3036         * docs/README.linux-fb:
3037         Update the docs to the new pangoft2 way.
3038
3039 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3040
3041         * configure.in:
3042         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3043         pango version.
3044         Remove modules/linux-fb/Makefile.
3045
3046         * gdk/linux-fb/gdkdrawable-fb2.c:
3047         Render glyphs using freetype.
3048
3049         * gdk/linux-fb/gdkfb.h:
3050         Add new fb-specific functions needed for managing windows.
3051
3052         * gdk/linux-fb/gdkmain-fb.c:
3053         Remove gdk_font_init/fini() calls.
3054
3055         * gdk/linux-fb/gdkpango-fb.c:
3056         Remove old implementation. Use pangoft2 instead.
3057
3058         * gdk/linux-fb/gdkprivate-fb.h:
3059         Remove PangoFBFont and related stuff.
3060
3061         * gdk/linux-fb/gdkwindow-fb.c:
3062         Implement drawable->get_visible_region.
3063         Implement support for _gdk_window_set_child_handler () and
3064         _gdk_window_get_decorations().
3065
3066         * modules/Makefile.am:
3067         Remove linux-fb subdir.
3068
3069         * modules/linux-fb/*:
3070         Removed all.
3071         
3072 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3073
3074         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3075         calls, as they are no longer needed.
3076
3077         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3078         
3079         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3080         figure out how to emit a signal on an interface.
3081
3082 2000-12-20  Havoc Pennington  <hp@redhat.com>
3083
3084         * tests: new directory to contain tests, gtk/test* should move
3085         here sometime (with appropriate on-cvs-server hackery)
3086
3087         * tests/testtreeview.c, tests/Makefile.am: a test
3088         
3089         * configure.in (AC_OUTPUT): add tests/Makefile
3090
3091         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3092         and "invisible_set" which were missing
3093
3094         * gtk/gtkrbtree.h: some cheesy indentation fix
3095         
3096 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3097
3098         * gtk/gtkinvisible.c (gtk_invisible_realize):
3099         Attach the style to the window so that the style it is not
3100         leaked when unrealizing the window.
3101
3102 2000-12-18  Havoc Pennington  <hp@redhat.com>
3103
3104         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3105         begin/end user action where appropriate
3106         (gtk_text_view_commit_handler): add begin/end user action
3107
3108         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3109         bracket interactive operations with begin/end user action pair.
3110         
3111         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3112         "interactive" arg from insert_text and delete_text signals.
3113         Add begin_user_action, end_user_action signals
3114         (gtk_text_buffer_begin_user_action): 
3115         (gtk_text_buffer_end_user_action): New functions to delimit 
3116         a user-visible action
3117
3118         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3119         signals.
3120         
3121 2000-12-18  Havoc Pennington  <hp@redhat.com>
3122
3123         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3124         was pretty non-working.
3125
3126         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3127         by passing the length to g_utf8_validate().
3128
3129 2000-12-16  Havoc Pennington  <hp@pobox.com>
3130
3131         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3132         Port to GObject, can go back in gdk-pixbuf after setting up 
3133         a gdk-pixbuf-marshal.h header over there.
3134
3135         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3136         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3137         args
3138         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3139         set
3140         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3141         here, do it when we create the buttons later
3142         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3143         (gtk_tree_view_map): paranoia checks that column->button is shown 
3144         and unmapped
3145         (gtk_tree_view_size_request): only request visible children.
3146         Move header size calculation in here, for cleanliness, and 
3147         to maintain invariants for child widgets if we eventually 
3148         let users set different children inside the buttons
3149         (gtk_tree_view_map_buttons): factor out code to map buttons,
3150         since it was being called several times
3151         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3152         windows instead of just moving them; their height may change 
3153         if we allow random widgets in there, or the theme changes.
3154         (gtk_tree_view_size_allocate): move button size allocation 
3155         above emitting the scroll signals, to ensure a sane state when we
3156         hit user code
3157         (gtk_tree_view_button_release): remove queue_resize after
3158         tree_view_set_size(), set_size() will handle any resize queuing
3159         that's needed
3160         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3161         draw_focus goo
3162         (gtk_tree_view_focus): use gtk_get_current_event() and
3163         gdk_event_get_state()
3164         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3165         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3166         semicolon
3167         (gtk_tree_view_create_button): show the button here
3168         (gtk_tree_view_button_clicked): actually emit the clicked signal
3169         on the column
3170         (_gtk_tree_view_set_size): return right away if the size is
3171         unchanged, as a cheesy optimization
3172         (gtk_tree_view_setup_model): rename set_model_realized to 
3173         setup_model to match the flag that indicates whether we've 
3174         called it
3175         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3176         exist, because set_scroll_adjustment does that and it shouldn't
3177         matter what order you call these in
3178         (gtk_tree_view_get_vadjustment): ditto
3179         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3180         for paranoia
3181         (gtk_tree_view_set_headers_visible): call
3182         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3183         (gtk_tree_view_append_column): clarify whether the return value
3184         is the count of columns before or after, and do the increment 
3185         separately from the return statement so you can tell from the code.
3186         (gtk_tree_view_remove_column): ditto
3187         (gtk_tree_view_insert_column): ditto
3188         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3189         outside the existing range, the docs say that outside-range
3190         columns are allowed, so we handle them as documented. (Presumably
3191         this allows a nice loop with column != NULL as test.)
3192         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3193         mean (left/right/center etc.).
3194         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3195         (gtk_tree_view_expand_row): add docs
3196         (gtk_tree_view_collapse_row): add docs
3197
3198         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3199         function to emit the clicked signal on a column
3200         
3201         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3202         state of an event
3203         (gdk_event_get_time): don't treat GDK_SCROLL 
3204         as a button event, remove default case from switch so gcc 
3205         will whine if we don't explicitly handle all event types
3206
3207         * gtk/gtktreeselection.h: added some FIXME 
3208         
3209         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3210         "columns" to "n_columns" and "column" to "columns" for clarity
3211
3212 2000-12-16  Havoc Pennington  <hp@pobox.com>
3213         
3214         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3215         stuff. This should make e.g. the delete key work again in the
3216         text widget...
3217         (gtk_text_iter_forward_cursor_positions): handle negative count
3218         (gtk_text_iter_backward_cursor_positions): handle negative count
3219         (gtk_text_iter_forward_word_ends): handle negative count
3220         (gtk_text_iter_backward_word_starts): handle negative count
3221
3222         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3223         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3224         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3225         GObject. No doubt will cause breakage.
3226
3227         * demos/gtk-demo/textview.c: remove hacks around
3228         non-GObject-ification of the text objects
3229
3230         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3231         the text tag
3232         
3233 2000-12-14  Havoc Pennington  <hp@pobox.com>
3234
3235         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3236         that we have Xrender
3237
3238 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3239
3240         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3241         Add two virtualized functions gdk_drawable_get_clip_region - to
3242         get the clip region when drawing.
3243         
3244         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3245         use invalidate_region.
3246
3247         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3248         region.
3249
3250         * acconfig.h configure.in: Check for Xft. For now, assume
3251         that if Xft is found, Pango was compiled with Xft support
3252         as well.
3253
3254         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3255         gdk_colormap_query_color().
3256         
3257         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3258         with Xft if appropriate.
3259
3260         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3261         a pangoxft context if we have XFT and the environment
3262         variable GD_USE_XFT is set.
3263         
3264         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3265         and also possibly an XftDraw structure.
3266
3267         * gtk/gtkfontsel.c: Handle the case where the font from the
3268         style doesn't match any of the fonts a bit better.
3269         
3270         * gtk/testgtk.c: Add tabs between directional segments for
3271         hebrew/arabic test. (Not really necessary, just a little
3272         prettier.)
3273
3274 2000-12-14  Havoc Pennington  <hp@redhat.com>
3275
3276         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3277         reading a file
3278
3279 2000-12-14  Havoc Pennington  <hp@redhat.com>
3280
3281         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3282         unused call to get_last_line()
3283
3284         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3285         here until boxed is working (and maybe after that - we should
3286         really not gratuitously break old code)
3287
3288         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3289         specific types for font_desc and tabs args, move them to
3290         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3291         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3292
3293         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3294         use GTK_TYPE_POINTER for signal signatures as a hack-around
3295
3296         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3297         PangoTabArray
3298
3299         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3300         make static
3301         (line_display_index_to_iter): make static
3302
3303         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3304         to marshal a string not a boxed
3305
3306         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3307
3308         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3309         since the UTF-8 isn't validated yet
3310
3311         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3312         lines to end in '\n'
3313         
3314         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3315         forward_to_delimiters, and grapheme boundaries
3316         (gtk_text_view_delete_from_cursor): properly handle non-newline
3317         delimiters, and grapheme boundaries
3318
3319         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3320         to gtk_text_iter_forward_to_delimiters, and make it work properly
3321         if empty lines end with a character other than '\n'
3322
3323         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3324         position
3325
3326 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3327
3328         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3329
3330         * gtk/gtk.def
3331         * gdk/gdk.def: Update.
3332
3333         * gdk/win32/gdkmain-win32.c
3334         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3335         gdkmain-win32.c here.
3336
3337         * gdk/win32/makefile.mingw.in (all): No need to make
3338         gdk-win32res.o here, the makefile one step up will call us to make
3339         it.
3340
3341         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3342         gdkkeys-win32.
3343
3344         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3345
3346         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3347         call to g_source_add().
3348
3349         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3350         leak. Thanks to Andreas Kemnade.
3351
3352 2000-12-13  Havoc Pennington  <hp@pobox.com>
3353
3354         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3355
3356         * gtk/gtktext*.[hc]: update accordingly
3357         
3358 2000-12-13  Havoc Pennington  <hp@pobox.com>
3359
3360         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3361         header file
3362
3363         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3364
3365 2000-12-13  Alex Larsson  <alexl@redhat.com>
3366
3367         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3368         Add support for ps2 intellimouse.
3369
3370         * gdkkeyboard-fb.c:
3371         Move shift-F1 repaint handling to xlate handler only.
3372         
3373         * docs/README.linux-fb:
3374         Add imps2 to docs.
3375         Document the new refresh keys.
3376         
3377 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3378
3379         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3380
3381         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3382         ::position and ::padding.
3383
3384         * gtk/gtkcontainer.c: make ::border_width an INT property.
3385
3386         * gtk/gtkpacker.c: make ::position an INT property.
3387
3388         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3389         guard against NULL h/v scrollbars, since this is used at construction
3390         time.
3391
3392         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3393         internal gtk_clist_constructor().
3394
3395         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3396         gtk_ctree_constructor().
3397
3398         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3399         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3400
3401         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3402         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3403
3404         * gtk/gtkwidget.[hc]:
3405         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3406         and gtk_widget_get().
3407         (gtk_widget_new): use g_object_new_valist().
3408         (gtk_widget_set): use g_object_set_valist().
3409
3410         * gtk/gtkobject.[hc]:
3411         removed gtk_object_arg_get_info(), gtk_object_getv(),
3412         gtk_object_query_args(), gtk_object_newv(),
3413         gtk_object_class_add_signals(),
3414         gtk_object_class_user_signal_new(),
3415         gtk_object_class_user_signal_newv(),
3416         gtk_object_arg_set(), gtk_object_arg_get(),
3417         gtk_object_args_collect(),
3418         gtk_object_default_construct(),
3419         gtk_object_constructed(),
3420         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3421         removed nsignals, signals and n_args members from GtkObjectClass.
3422         (gtk_object_new): use g_object_new_valist().
3423         (gtk_object_set): use g_object_set_valist().
3424         (gtk_object_get): use g_object_get_valist().
3425         
3426         * gtk/gtkcompat.h: define gtk_object_default_construct().
3427         
3428         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3429         g_object_new().
3430
3431         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3432         fucntions, cleaned up method assignments (make sure your structures
3433         are setup properly before calling out). removed all GTK_CONSTRUCTED
3434         hacks ;)
3435
3436 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3437
3438         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3439         off-by-one error in checks. (Dave Lambert)
3440
3441 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3442
3443         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3444         Don't free gdk_fb_keyboard twice.
3445
3446 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3447
3448         * gtk/testgtk.c:
3449         (create_tooltips): 
3450         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3451         use GObject swapped_signal:: properties instead.
3452
3453         * gtk/gtkcellrenderertoggle.c: 
3454         * gtk/gtkcellrenderertextpixbuf.c: 
3455         * gtk/gtkcellrenderertext.c: 
3456         * gtk/gtkcellrendererpixbuf.c: 
3457         * gtk/gtkcellrenderer.c:
3458         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3459         missing warnings for invalid property ids, install properties
3460         with g_object_class_install_property() now.
3461         
3462         * gtk/gtksignal.c:
3463         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3464         
3465 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3466         
3467         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3468         to determine if a window is the focus widget within
3469         its toplevel.
3470
3471         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3472         to be boolean.
3473
3474         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3475         of the case where the container CAN_FOCUS to here instead
3476         of having it in each individual move-the-focus place.
3477
3478         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3479         focusing to be geometric in a much more obvious sense. Arrowing
3480         around is still non-intuitive because it isn't perfect and
3481         because entries, etc, grab the arrow keys, but it at least
3482         usually will do what you expect now.
3483         
3484         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3485         file.
3486
3487         * gtk/gtknotebook.c: Change tabs to be a single item in
3488         the focus chain. Make movement of focus on tabs with arrow
3489         keys wrap around.
3490         
3491         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3492         CHECK_FIND_CHILD macro to give informative error messages
3493         instead of silent returns.
3494
3495         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3496         flag since we handle GdkReturn on the tabs.
3497
3498         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3499         windows rather than sending expose events directly.
3500
3501         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3502         definition for GtkNotebookPage into .c file, since it is private.
3503
3504         * gtk/testgtk.c (create_notebook): Add option for 
3505         testing borderless notebook.
3506
3507         * gtk/testgtk.c (page_switch): Removed egregious poking
3508         around in GTK+ internals.
3509
3510         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3511
3512         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3513         properly through gtk_clist_focus. Make the title headers a
3514         single item in the tab-focus chain, and make left-right wrap
3515         around.
3516
3517         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3518         focus method so that wrapping around works properly.
3519
3520         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3521         that is handled for the widget now. 
3522
3523 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3524
3525         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3526         widgets as TOPLEVEL.
3527
3528         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3529         TOPLEVEL widgets are containers.
3530
3531         * gtk/gtkinvisible.h: Remove useless include.
3532
3533 2000-12-11  Havoc Pennington  <hp@redhat.com>
3534
3535         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3536         Handle chopping off \r\n and 0x2029 in addition to \n before
3537         passing to PangoLayout
3538
3539         * gtk/gtkimcontextsimple.c
3540         (gtk_im_context_simple_get_preedit_string): 
3541         return an empty string if no match is pending
3542
3543         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3544         assertion that the returned preedit string was sane
3545
3546         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3547         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3548         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3549
3550 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3551
3552         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3553         Fix up finalizer to chain to its parent.
3554
3555 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3556
3557         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3558         Clearified the difference between the keyboard types. Wrote a note
3559         about the magic sysrq key to get out of raw mode.
3560
3561 2000-12-09  James Henstridge  <james@daa.com.au>
3562
3563         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3564         member to hold masks for detecting the start of a protocol packet.
3565         (mouse_devs): add packet start masks for ps2 and ms device types.
3566         Left the mask for fidmour blank, as I have no idea what it should
3567         be.
3568         (handle_mouse_io): skip bytes until we get to the start of a
3569         packet.  My Logitech mouse seems to be passing an extra NULL pad
3570         byte, and GPM does a similar thing here.
3571         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3572         this is the ms mouse driver.
3573         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3574         completely broken except for button1.  It was checking the wrong
3575         bit in the packet for the status of the right mouse button, and
3576         wrongly assuming right == button2 rather than 3.  I fixed that and
3577         also added support for middle button (button2).
3578
3579 2000-12-08  Havoc Pennington  <hp@redhat.com>
3580
3581         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3582         that cause a segfault on text insertion
3583
3584         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3585         warning
3586
3587         * gtk/gtktextiter.c (test_log_attrs): use
3588         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3589
3590         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3591         Get log attrs for a line, using a cache stored on the buffer
3592         
3593         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3594         reported by Jeff Franks
3595
3596 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3597
3598         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3599         /dev/ttyS0 -> /dev/mouse
3600
3601 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3602
3603         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3604         Added dummy gdk_fontset_load.
3605
3606 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3607
3608         * docs/README.linux-fb:
3609         * docs/Makefile.am:
3610         Initial GtkFB docs.
3611         
3612         * gdk/linux-fb/Makefile.am:
3613         Define GDK_DATA_PREFIX.
3614
3615         * gdk/linux-fb/gdkmain-fb.c:
3616         Fix typo.
3617         Change default display to /dev/fb0.
3618
3619         * gdk/linux-fb/gdkpango-fb.c:
3620         Add $(prefix)/share/fonts/ to font path.
3621         
3622 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3623
3624         * gdk/linux-fb/gdkkeyboard-fb.c:
3625         New file containing the abstracted keyboard driver. Most code
3626         taken from gdkinput-ps2.c
3627
3628         * gdk/linux-fb/gdkinput-ps2.c:
3629         Removed file.
3630         
3631         * gdk/linux-fb/Makefile.am:
3632         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3633
3634         * gdk/linux-fb/gdkcolor-fb.c:
3635         display->fb was renamed to display->fb_fd.
3636
3637         * gdk/linux-fb/gdkcursor-fb.c:
3638         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3639
3640         * gdk/linux-fb/gdkinput.c:
3641         Moved gdk_input_init here from gdkinput-ps2.c
3642
3643         * gdk/linux-fb/gdkmain-fb.c:
3644         display->fb was renamed to display->fb_fd.
3645         Now the tty and the console is opened here instead
3646         of in the keyboard driver. Also check GDK_VT to see what
3647         tty to open.
3648         Move gdk_beep () here from gdkinput-ps2.c
3649         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3650
3651         * gdk/linux-fb/gdkmouse-fb.c:
3652         Add header.
3653         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3654         Return correct keyboard modifiers.
3655         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3656
3657         * gdk/linux-fb/gdkprivate-fb.h:
3658         Add tty and vt info to display.
3659         Add orignal modeinfo storage to display
3660         Update global functions
3661
3662         * gdk/linux-fb/gdkwindow-fb.c:
3663         Added gdk_fb_window_find_focus().
3664         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3665
3666 2000-12-07  Havoc Pennington  <hp@pobox.com>
3667
3668         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3669         function, noticed by Alex
3670
3671 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3672
3673         * configure.in: Detect freetype properly
3674
3675         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3676         above.
3677
3678 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3679
3680         * gdk/linux-fb/Makefile.am:
3681         Add gdkmouse-fb.c
3682         
3683         * gdk/linux-fb/gdkmouse-fb.c:
3684         New file. Abstracted the mouse drivers a bit.
3685
3686         * gdk/linux-fb/gdkcursor-fb.c:
3687         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3688
3689         * gdk/linux-fb/gdkinput-ps2.c:
3690         Removed old mouse handling code. Moved cursor handling code
3691         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3692         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3693         gdk_mouse_get_info.
3694
3695         * gdk/linux-fb/gdkmain-fb.c:
3696         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3697
3698         * gdk/linux-fb/gdkprivate-fb.h:
3699         Removed public gdk_fb_find_common_ancestor, added and renamed
3700         functions for the new mouse handling code.
3701
3702         * gdk/linux-fb/gdkwindow-fb.c:
3703         Moved gdk_fb_window_send_crossing_events here. added global
3704         variable gdk_fb_window_containing_pointer. made
3705         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3706         renamed to gdk_mouse_get_info.
3707
3708 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3709
3710         * gdk/linux-fb/gdkevents-fb.c:
3711         Update to match latest gmain/gsource changes.
3712
3713         * gdk/linux-fb/gdkinput-ps2.c:
3714         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3715         it links. Will be implemented later.
3716
3717 2000-12-03  Havoc Pennington  <hp@pobox.com>
3718
3719         * gdk/Makefile.am: add gdkkeys.[hc]
3720
3721         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3722         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3723
3724         * acconfig.h, configure.in: add checks and command line options
3725         for XKB
3726
3727         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3728         
3729         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3730         and group in the key event
3731
3732         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3733         field with the low-level hardware key code, and a group
3734         field with the keyboard group
3735
3736         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3737         and declare a couple globals used for keymap handling
3738         
3739         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3740         hold down Shift-Control and type a hex number to get a Unicode 
3741         character corresponding to the hex number
3742         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3743         (return bytes not chars)
3744
3745 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3746
3747         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3748         to avoid waste on 64-bit platforms.
3749
3750 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3751
3752         * INSTALL: Fix link to PNG home, remove reference
3753         to fribidi.
3754
3755         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3756         
3757         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3758         tested.)
3759
3760         * gtk/gtkcheckmenuitem.c: Permanently turn on
3761         always_show_toggle.
3762
3763         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3764         be NULL. (Vladimir Klebanov, #26545)
3765
3766         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3767         some signed/unsigned comparison problems. (#6510,
3768         David Kaelbling)
3769
3770         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3771         return type to boolean (Oskar Liljeblad, #18648)
3772
3773 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3774
3775         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3776         Remove bogus colormap setting.
3777
3778 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3779
3780         * gdk/linux-fb/gdkcolor-fb.c:
3781         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3782
3783         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3784         Must set colormap.
3785         
3786 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3787
3788         * docs/tutorial/gtk-tut.sgml: DND updates
3789
3790 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3791
3792         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3793         Remove old debug g_warning().
3794         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3795         or an implementation, just pass the implementation to draw_drawable_2.
3796         
3797         * gdk/linux-fb/gdkprivate-fb.h:
3798         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3799
3800         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3801         clear and invalidate area when window is destroyed.
3802         (send_map_events): Remove old commented out code.
3803
3804 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3805
3806         * gdk/linux-fb/gdkpango-fb.c:
3807         Use italic instead of oblique in font aliases.
3808         
3809         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3810         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3811         other unsupported functions.
3812
3813 2000-12-04  Havoc Pennington  <hp@redhat.com>
3814
3815         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3816
3817         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3818
3819         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3820
3821         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3822         hack to avoid infinite loops (synthetic expose event) - 
3823         Owen has more appropriate fixes in a branch he'll check in later.
3824
3825         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3826         separator, CR, and CRLF as line ends
3827
3828         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3829         into lines using pango_find_paragraph_boundary(); other bits of
3830         the widget are still going to be broken if the boundary isn't '\n'
3831         though
3832
3833 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3834
3835         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3836         multiply.
3837
3838         * gdk/linux-fb/gdkpango-fb.c:
3839         Copied some 26.6 scaling macros from pango to clean up the rounding.
3840         (pango_fb_font_get_glyph_info): Correct sign on x value.
3841
3842         * gdk/linux-fb/gdkprivate-fb.h:
3843         Removed unreferenced external functions.
3844
3845         * modules/linux-fb/Makefile.am: Use ` instead of '.
3846
3847         * modules/linux-fb/basic.c:
3848         Remove dead code. In particular the dummy lang engine which broke all
3849         pango layouts in GtkFB. Don't include tables-big.i anymore.
3850
3851         * modules/linux-fb/tables-big.i:
3852         Upgrade to latest version from pango. Left for reference, basic_ranges
3853         moved to basic.c.
3854         
3855 2000-12-04  Havoc Pennington  <hp@redhat.com>
3856
3857         Fix bugs Alex found:
3858         
3859         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3860         to "draw"
3861
3862         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3863
3864         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3865
3866         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3867         implementation in here, apparently the expose() implementation was
3868         dead code.
3869
3870 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3871
3872         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3873         Return positive descent.
3874
3875 2000-12-02  Havoc Pennington  <hp@pobox.com>
3876
3877         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3878         method and signal
3879         
3880         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3881         calls gdk_window_process_updates() to push the exposes through
3882         (gtk_widget_class_init): No more draw signal, no
3883         gtk_widget_real_draw()  
3884         
3885         * gtk/gtkbin.c (gtk_bin_draw): remove
3886
3887         * gtk/gtkbox.c (gtk_box_draw): remove
3888
3889         * gtk/gtkbutton.c (gtk_button_draw): remove
3890
3891         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3892
3893         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3894
3895         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3896
3897         * gtk/gtkclist.c (gtk_clist_draw): remove
3898
3899         * gtk/gtkentry.c (gtk_entry_draw): remove
3900
3901         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3902
3903         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3904
3905         * gtk/gtkframe.c (gtk_frame_draw): remove
3906
3907         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3908
3909         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3910
3911         * gtk/gtklayout.c (gtk_layout_draw): remove
3912
3913         * gtk/gtklist.c (gtk_list_draw): remove
3914
3915         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3916
3917         * gtk/gtkmenu.c (gtk_menu_draw): remove
3918
3919         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3920
3921         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3922
3923         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3924
3925         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3926
3927         * gtk/gtkpacker.c (gtk_packer_draw): remove
3928
3929         * gtk/gtkrange.c (gtk_range_draw): remove
3930
3931         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3932
3933         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3934
3935         * gtk/gtktable.c (gtk_table_draw): remove
3936
3937         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3938
3939         * gtk/gtktext.c (gtk_text_draw): remove
3940
3941         * gtk/gtktextview.c (gtk_text_view_draw): remove
3942
3943         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3944
3945         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3946
3947         * gtk/gtktree.c (gtk_tree_draw): remove
3948
3949         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3950
3951         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3952
3953         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3954
3955         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3956
3957         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3958
3959         * gtk/gtkwindow.c (gtk_window_draw): remove
3960
3961 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3962
3963         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3964         a GtkToggleButton is both insensitive and active, it was being
3965         drawn by the GtkButton draw handler which doesn't check the
3966         state. Now it's calling gtk_toggle_button_paint instead.
3967         
3968 2000-12-01  Havoc Pennington  <hp@redhat.com>
3969
3970         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3971         dangling pointers to the appearance attributes from the 
3972         line display
3973
3974         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3975         width/height to mean "full width/height of drawable"
3976
3977         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3978         click to select word/line
3979         
3980         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3981         when getting log attrs. Get a slice, so that pixmaps and stuff
3982         are properly handled.
3983
3984         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3985         paste into the selection (replaces selection now, previously
3986         crashed or added to selection). Reveals longstanding btree bug -
3987         select multiple lines, middle-click on the selection, boom. This
3988         isn't related to my changes though.
3989
3990         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3991         PangoLogAttrs changes
3992         (gtk_entry_move_backward_word): ditto
3993
3994         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3995         functions return bool whether the iter moved onto a
3996         dereferenceable position.
3997  
3998         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3999         functions for motion in terms of display lines.
4000
4001         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4002         get the buffer a mark is inside
4003         
4004 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4005
4006         * gdk/linux-fb/Makefile.am:
4007         * modules/linux-fb/Makefile.am:
4008         Freetype 2 final uses freetype-config
4009
4010         * gdk/linux-fb/gdkpango-fb.c:
4011         Upgrade to use Freetype 2 final.
4012         More flexible support for font aliases, this also fixes a bug with
4013         GtkFontSelector, as the aliases must be visible in the font/family list,
4014         or GtkFontSelector reads uninitialized memory.
4015
4016 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4017
4018         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4019         XGetIMValues to properly terminate variable argument list, and do
4020         NULL return check for ic_values and xim_styles.
4021
4022         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4023         Restore preedit state after XmbResetIC().
4024         
4025         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4026         XvaCreateNestedList() should take XvaNestedList, but not
4027         XvaNestedList*.
4028
4029         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4030         preedit_draw_callback, preedit_caret_callback): Match
4031         "preedit-changed" signal name to "preedit_changed" to be
4032         consistent to the spec.
4033
4034         * gtk/gtkimcontextsimple.c (check_table):
4035         Match "preedit-changed" to "preedit_changed" to be consistent
4036         to the spec.
4037
4038 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4039
4040         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4041         gc->clip_region == NULL>
4042
4043 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4044
4045         Changes by Hans Breuer:
4046         
4047         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4048         Dont't use negative width and height as max_hints. This fixes
4049         Owen's recent testgtk changes for win32.
4050
4051         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4052         gdk_win32_hdc_release): These are exported and may be called with
4053         other drawable types than our GdkDrawableImplWin32 (?).
4054
4055         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4056         so always #define USE_BACKING_STORE.
4057
4058         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4059         of printf for debugging output.
4060
4061         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4062         
4063         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4064
4065         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4066         declaration.
4067
4068         * gtk/gtktexttypes.h: Ditto.
4069
4070         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4071         (GDK_VoidSymbol) also if in case of arg check failure.
4072
4073         * gtk/gtkimcontextsimple.c
4074         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4075         position to the pointer, but to the variable it points to.
4076
4077         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4078
4079         * gtk/gtk.def: Updates.
4080
4081 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4082
4083         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4084         GTK_TYPE_TREE_MODEL.
4085
4086 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4087
4088         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4089         Set the size of the font from the description.
4090         (gdk_text_width): Gross hack that calculates the width
4091         of text by text_length * size/2. This is necessary because
4092         GtkLabel does some ugly gtk_string_width call to calculate
4093         an good size.
4094         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4095
4096 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4097
4098         * docs/tutorial/gtk-tut.sgml: DND updates
4099
4100 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4101
4102         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4103         If you pass width or height == 0 to gdk_window_clear_area they
4104         should be calculated from the window size.
4105
4106 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4107
4108         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4109         a grab, but no grab-cursor, use the cursor from the grabbed
4110         window. (gdk_fb_window_send_crossing_events): Send normal
4111         enter/leave notifications if grab and owner_events == TRUE.
4112
4113 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4114
4115         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4116         Do implicit button grabs, even if the window doesn't
4117         want the event.
4118         (gdk_fb_window_send_crossing_events): If there is a
4119         grab, only the grabbed window gets normal enter/leave
4120         notifications. On ungrab go from grabbed window to current.
4121         Don't send any notification to b when propagating from c -> b.
4122         If setting a grab on window, don't set prev_window.
4123         (handle_mouse_input): Send enter/leave events to the window the
4124         mouse is over, not the grabbed one.
4125         
4126 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4127
4128         * gdk/gdkregion-generic.c: Zap warning.
4129         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4130         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4131
4132 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4133
4134         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4135         The cursor should be hidden if it is part of either the
4136         source or destination region. Not only if it is in both.
4137         (gdk_window_set_transient_for): Silence warnings.
4138
4139 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4140
4141         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4142         The default mode in X is Pie Arcs, therefore that is
4143         what Gtk+ uses.
4144
4145 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4146
4147         * gdk/linux-fb/gdkinput-ps2.c:
4148         Implement correct EnterNotify/LeaveNotify:
4149         (gdk_fb_window_send_crossing_events): New function that sends
4150         all GdkCrossingEvents from the last mouse-window to the specified
4151         destination.
4152         (gdk_fb_window_visibility_crossing): Removed function.
4153         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4154         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4155         instead of gdk_window_get_pointer() for better readability.
4156
4157         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4158         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4159
4160         * gdk/linux-fb/gdkprivate-fb.h:
4161         removed gdk_fb_window_visibility_crossing, added
4162         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4163
4164         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4165         New function that finds the least common ancestor of two windows.
4166         (gdk_window_show, gdk_window_hide):
4167         Use gdk_fb_window_send_crossing_events.
4168         (gdk_fb_window_move_resize): Send configure events to toplevel
4169         windows. Use gdk_fb_window_send_crossing_events.
4170
4171 2000-11-27  Havoc Pennington  <hp@redhat.com>
4172
4173         * gtk/gtkprivate.h (enum): Remove a trailing comma
4174
4175 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4176
4177         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4178         the "changed" callback of the adjustment.  We need to redraw the
4179         spin button's arrows when the adjustment's range changes.
4180         (adjustment_changed_cb): Draw the arrows.
4181         (gtk_spin_button_value_changed): Draw the arrows.
4182
4183 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4184
4185         * gdk/linux-fb/gdkselection-fb.c:
4186         Initial selection implementation.
4187
4188         * gtk/gtkselection.c:
4189         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4190         requestor in gtk_selection_request.
4191         
4192         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4193         Added gdk_selection_property atom.
4194
4195         * gdk/linux-fb/gdkprivate-fb.h:
4196         Export _gdk_selection_window_destroyed.
4197         Removed mask_off_x/y from GdkCursorPrivateFB.
4198         Removed hbearing, added top, left to PangoFBGlyphInfo.
4199
4200         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4201         Call _gdk_selection_window_destroyed
4202         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4203         the root window has been created.
4204         (static_dx_hack, static_dy_hack, compare_draw_rects,
4205         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4206         in region. They are already sorted. Instead just traverse them in
4207         reverse if draw_direction < 0.
4208         
4209         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4210         Double-clicks must be sent after the normal button_press.
4211         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4212         
4213         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4214         Pass _gdk_fb_screen_gc instead of NULL.
4215
4216         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4217         Initialize gdk_selection_property.
4218         (gdk_event_make): Remove unused code.
4219
4220         * gdk/linux-fb/gdkcursor-fb.c:
4221         Make the pixmap for the cursor the same size as the mask. Also remove
4222         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4223         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4224         Now the whole cursor is visible.
4225
4226         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4227         Fix bug where xdest+height instead of ydest+height was used
4228         to calculate if the source and dest overlapped. This fixes the
4229         redraw bug when the main window in testgtk was scrolled when
4230         partially covered by a tall window.
4231         Copy rectangles in region in order depending on draw_direction.
4232         Also moved the draw_direction flipping of start_y and end_y into
4233         the gc functions, as this might not be what all of them want.
4234         (gdk_fb_draw_lines): Support dashed lines.
4235         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4236         so that the text is positioned correctly (was 1 pixel high).
4237
4238         gdk/linux-fb/gdkgc-fb.c:
4239         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4240         all lines were drawn a pixel to short. Also checked the default of
4241         the rest of the values, and they're the same as X now.
4242
4243         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4244         Clean up pixel positioning of the glyphs. Just use bgy->top and
4245         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4246         to all divisions to get correct rounding behaviour.
4247
4248         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4249         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4250         Moved start_y/end_y flip into draw_drawable implementations.
4251         Flip also x rendering when draw_direction < 0.
4252         Remove unneccesary multiply with draw_direction.
4253
4254 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4255
4256         * docs/tutorial/gtk-tut.sgml:
4257           - get rid of gtk_toggle_button_toggled FUD
4258           - start DND section - needs work - based on:
4259                 http://wolfpack.twu.net/docs/gtkdnd/
4260
4261 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4262
4263         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4264         Correct calculation of font metrics. Now GtkEntrys have sane
4265         size.
4266
4267 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4268
4269         * gdk/gdktypes.h:
4270         Add new type GdkSpan
4271         
4272         * docs/reference/gdk/gdk-sections.txt,
4273         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4274         gdk/gdkregion.h:
4275         Implement and document gdk_region_spans_intersect_foreach.
4276
4277         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4278         Add new file gdkrender-fb.c which contains all core
4279         rendering code.
4280         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4281         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4282         (optimized rectangle fillers).
4283
4284         * gdk/linux-fb/gdkdrawable-fb2.c:
4285         Move all rendering code to gdkrender-fb.c.
4286         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4287         Use the new span intersection functions in gdk_fb_fill_spans.
4288         gdk_fb_draw_rectangle() clips filled rectangles and calls
4289         gc->fill_rectangle with the result.
4290         gdk_fb_fill_spans() gets extra argument "sorted".
4291
4292         * gdk/linux-fb/gdkevents-fb.c:
4293         Remove unused includes and defines.
4294         New function gdk_fb_get_time() to get correct time for events.
4295
4296         * gdk/linux-fb/gdkinput-ps2.c:
4297         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4298         Make sure to set the time of all events.
4299
4300         * gdk/linux-fb/gdkmain-fb.c:
4301         Use gdk_fb_get_time ().
4302
4303         * gdk/linux-fb/gdkprivate-fb.h:
4304         New virtual GC calls: fill_span & fill_rectangle.
4305         Export gdk_fb_get_time().
4306         gdk_fb_fill_spans() gets extra argument "sorted".
4307
4308         * gdk/linux-fb/mi*.c:
4309         Use GdkSpan instead of GdkRectangle.
4310         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4311         from XFree 4 source)
4312         
4313 2000-11-22    <jrb@redhat.com>
4314
4315         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4316         reversing the order in an if statement will do.  Doing so managed
4317         to make the treemodelsort half work.  Other half will follow after
4318         I get the insert function fully fixed.
4319
4320 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4321         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4322         more than 2 bits. Besides, I need to implement an evil hack. :)
4323
4324 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4325
4326         * docs/tutorial/gtk-tut.sgml: minor corrections
4327
4328 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4329         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4330           convert to and from relative path's and iters.
4331
4332         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4333           testing sorting functions a bit better.  Currently broken -- will
4334           fix in morning.
4335
4336 2000-11-20  Havoc Pennington  <hp@redhat.com>
4337
4338         * gtk/gtkwidget.c: Documented a bunch of functions in here
4339         (gtk_widget_realize): Warn if you try to realize
4340         a widget with no parent that isn't a toplevel
4341         (gtk_widget_intersect): return a gboolean
4342
4343 2000-11-20  Havoc Pennington  <hp@redhat.com>
4344
4345         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4346         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4347         scrolling to be implemented in GDK to finish. Also, right now
4348         we just size_allocate all children on every layout change,
4349         which is pretty lame. Test commented out of testtext.c, 
4350         until it works better.
4351
4352 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4353
4354         * gdk/linux-fb/gdkdrawable-fb2.c:
4355         Removed unused arguments from gdk_fb_drawable_get_pixel().
4356
4357         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4358         Renamed fidur specific mouse packet data in MouseDevice to
4359         generic. Used it in ps2 mouse handling code to avoid blocking
4360         reads.
4361
4362 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4363
4364         * demos/gtk-demo/main.c: Changed to have the list become
4365         non-italic when the demo window is destroyed through an external
4366         event (like a close button).  Doing so found three bugs in the
4367         widget.
4368
4369         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4370
4371         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4372         we actually set the cell.
4373
4374         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4375
4376         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4377         free a leaked path.  Thanks memprof.
4378
4379 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4380
4381         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4382         off-by-one error when destroying allocated segments
4383         on failure. (Elliot)
4384
4385 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4386
4387         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4388         memleaks found by Evan Martin.
4389
4390 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4391
4392         * Released 1.3.2
4393         
4394         * NEWS: Updates for 1.3.2
4395
4396 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4397
4398         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4399         but in general for window system specific events.
4400
4401         * gtk/gtk.def
4402         * gtk/makefile.mingw.in
4403         * gtk/makefile.msc.in: Update.
4404         
4405         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4406
4407 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4408
4409         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4410         distribute gtk.immodules.
4411
4412         * gtk/Makefile.am (install-data-local): Don't install the
4413         gtk.immodules file created for the uninstalled modules;
4414         instead run gtk-query-immodules after install
4415
4416 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4417
4418         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4419         -rpath to the right install location.
4420
4421         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4422         -export-dynamic.
4423
4424         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4425         properly.
4426
4427 2000-11-15  Havoc Pennington  <hp@pobox.com>
4428
4429         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4430         patch from Mikael Hermansson to temporarily stop blinking while
4431         the user is using the keyboard to type or navigate. 
4432
4433         Also, when blinking, stay on for longer than we stay off. Also,
4434         return from start_cursor_blink if !cursor_visible, to save
4435         checking that flag all over the place before we call
4436         start_cursor_blink.
4437
4438 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4439
4440         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4441         only contain a "fontset" line, which is now ignored.
4442
4443         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4444         double-click-to-select-word work.
4445         
4446 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4447
4448         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4449         Don't move back one char when we are actually at the end of the 
4450         paragraph.
4451
4452 2000-11-15  Robert Brady  <robert@suse.co.uk>
4453
4454         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4455         'o' < 'p'.
4456         
4457         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4458         bind_textdomain_codeset.
4459
4460         (gtk_init_check): Make the warning about translating default:LTR
4461         sterner.
4462         
4463 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4464
4465         * **/Makefile.am : remove unecessary rules for win32-specific
4466         config-substituted targets. If you want these rules, use
4467         --enable-maintainer-mode (called automatically by autogen.sh).
4468         Stops a lot of unneccessary make-time warnings.
4469
4470         * gtk/gtktext{layout,display}.c: Factor in total width as
4471         well as screen when figuring alignment for word-wrap as well as
4472         no wrap; this is necessary to handle lines that cannot be wrapped
4473         at all.
4474
4475 2000-11-15  Havoc Pennington  <hp@redhat.com>
4476
4477         * gtk/testtext.c: Implement essential color cycling feature
4478
4479 2000-11-15  Havoc Pennington  <hp@redhat.com>
4480
4481         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4482         when we invalidate the main window.
4483
4484         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4485         GtkTextView will now invalidate the side windows for us when text
4486         changes.
4487
4488 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4489
4490         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4491         unconditionally, since we may need to update the horizontal
4492         scrollbars even if the height didn't change.
4493
4494         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4495         the extra attrs, since some of them affect size.
4496
4497         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4498         x_offset correctly.
4499
4500 2000-11-15  Havoc Pennington  <hp@redhat.com>
4501
4502         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4503         don't move the first line out into the margin, instead move the
4504         whole paragraph in order to make space for the first line within 
4505         the margin
4506
4507 2000-11-15  Havoc Pennington  <hp@redhat.com>
4508
4509         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4510         xoffset in addition to yoffset, so horizontal scrolling doesn't
4511         break redraws
4512
4513 2000-11-15  Havoc Pennington  <hp@redhat.com>
4514
4515         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4516         from the cursor
4517         (render_layout_line): fix reversed test that caused weird
4518         underlines to get drawn
4519
4520 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4521
4522         * gdk/linux-fb/gdkprivate-fb.h:
4523         Fix debug macros.
4524         
4525 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4526
4527         * gdk/linux-fb/gdkprivate-fb.h:
4528         Added virtual functions set_pixel, get_color,
4529         fill_span and draw_drawable to the GC.
4530         Added global _gdk_fb_screen_gc to use instead of
4531         NULL when drawing to the screen.
4532         Added _gdk_fb_gc_calc_state() prototype.
4533
4534         * gdk/linux-fb/gdkgc-fb.c:
4535         Call _gdk_fb_gc_calc_state() on any gc state change.
4536
4537         * gdk/linux-fb/gdkglobals-fb.c:
4538         Add _gdk_fb_screen_gc
4539                 
4540         * gdk/linux-fb/gdkdrawable-fb2.c:
4541         _gdk_fb_gc_calc_state() calculates best functions
4542         for the GC state and depth.
4543         Moved bpp specialized code to separate functions.
4544         Added optimized 24 bpp AA draw_drawable.
4545
4546         * gdk/linux-fb/gdkevents-fb.c:
4547         Silence gcc warning.
4548
4549         * gdk/linux-fb/gdkimage-fb.c:
4550         Use _gdk_fb_screen_gc
4551
4552         * gdk/linux-fb/gdkwindow-fb.c:
4553         Init and use _gdk_fb_screen_gc
4554
4555         * gdk/linux-fb/mitypes.h:
4556         Remove unused types.
4557
4558 2000-11-14  Havoc Pennington  <hp@pobox.com>
4559
4560         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4561         to pixels
4562
4563 2000-11-14  Havoc Pennington  <hp@pobox.com>
4564
4565         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4566
4567         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4568         unknown char, no real reason we were using a variable. 
4569         Remove gtk_text_unknown_char variable. Fix all the text widget
4570         files accordingly.
4571
4572         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4573         since the Unicode spec seems to prefer that character for our
4574         purposes.
4575
4576 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4577
4578         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4579         value of g_getenv() isn't freeable, so g_strdup it.
4580
4581         * modules/input/inuktitut.c: Inuktitut input method.
4582
4583         * modules/input/Makefile.am: Build this.
4584         
4585 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4586
4587         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4588         of gtk programs.
4589
4590 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4591
4592         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4593         reversed > that was causing Home to go to end of previous line.
4594
4595         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4596         modified-keypresses (leave for bindings.)
4597
4598         * modules/input/Makefile.am: Remove useless -export-dynamic
4599         from module LDFLAGS.
4600
4601 2000-11-14  Havoc Pennington  <hp@redhat.com>
4602
4603         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4604         higher.
4605
4606         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4607         account. Also, render rise, underline, background, etc. for
4608         pixbufs as well as text. Also, draw underlines one pixel higher.
4609
4610         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4611         PangoAttribute for the rise, so it gets drawn properly. Also,
4612         add the GtkTextAppearance attribute for pixbuf/widget segments
4613         as well; we should go ahead and have rise, underline, background,
4614         stipple work for those
4615
4616         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4617         Pango
4618
4619 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4620
4621         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4622
4623         * gtk/gtk.def: Update.
4624
4625         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4626         included.
4627         (gtk_rc_get_im_module_file): Use run-time installation directory
4628         on Win32.
4629
4630         * gdk/win32/rc/gdk.rc: Remove.
4631         * gdk/win32/rc/gdk.rc.in: New file.
4632         * gdk/win32/rc/Makefile.am: New file
4633         * gdk/win32/Makefile.am: Corresponding changes.
4634
4635         * gtk/gtk.rc: Remove.
4636         * gtk/gtk-win32.rc.in: New file.
4637         * gtk/Makefile.am: Corresponding changes.
4638
4639         * configure.in: Corresponding changes.
4640
4641         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4642         has a built gtkcompat.h. Developers using CVS code on Win32 can
4643         hand-edit it from gtkcompat.h.in.
4644
4645         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4646         gtkcompat.h from gtkcompat.h.win32.
4647
4648 2000-11-14  Havoc Pennington  <hp@redhat.com>
4649
4650         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4651         to default to GDK_ACTION_MOVE if the drag is within a single
4652         widget. Defaults to GDK_ACTION_COPY between widgets.
4653
4654 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4655
4656         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4657
4658         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4659
4660         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4661         srcdir != builddir
4662
4663         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4664
4665         * configure.in (GTK_VERSION): Up to 1.3.2
4666
4667         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4668         gtkimcontextxim.h
4669
4670         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4671         missing doc comment.
4672
4673 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4674
4675         * modules/linux-fb/basic.c:
4676         Use the glib iconv wrappers.
4677
4678 2000-11-13  Havoc Pennington  <hp@pobox.com>
4679
4680         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4681         still more bugs.
4682
4683         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4684         scroll the GdkWindows before realization.
4685
4686 2000-11-13  Havoc Pennington  <hp@redhat.com>
4687
4688         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4689         where GC didn't always get updated properly
4690
4691         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4692         of fonts instead of setting the entire font
4693
4694         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4695         setting entire font
4696
4697         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4698
4699         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4700         a bunch of individually-settable font attributes. You can still 
4701         use the "font" and "font_desc" args, they just set all the font
4702         attributes at once.
4703
4704 2000-11-13 Elliot Lee <sopwith@redhat.com>
4705
4706         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4707
4708 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4709
4710         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4711         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4712
4713         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4714         work better.
4715
4716 2000-11-13  Havoc Pennington  <hp@redhat.com>
4717
4718         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4719         the module file.
4720
4721         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4722         dest->language
4723
4724         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4725         settings
4726
4727         * gtk/gtktextview.c: Implement object args and setters/getters for
4728         all the aspects of the GtkTextAttributes that are not set from
4729         GtkWidget attributes. This is spacing, justification, margins,
4730         etc.
4731
4732         (gtk_text_view_set_arg)
4733         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4734         args
4735         (gtk_text_view_class_init): Add args for justify, left_margin,
4736         right_margin, indent, and tabs
4737         
4738
4739         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4740         attribute properly
4741
4742         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4743         replace with indent attribute
4744
4745         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4746         PANGO_SCALE
4747
4748         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4749         rearranging code to do that
4750         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4751         i.e. don't subtract the top_margin first, just to keep
4752         all margin-futzing in one place.
4753
4754         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4755
4756         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4757         special case of last line, Pango now handles this itself.
4758         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4759         Y coordinate
4760         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4761         (find_display_line_above): wasn't moving the byte index as it
4762         iterated over lines, so always returned byte 0. Also, port to use
4763         PangoLayoutIter.
4764         (find_display_line_below): same problem as
4765         find_display_line_above. Also, port to use PangoLayoutIter.
4766
4767 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4768
4769         * gdk/linux-fb/*.[ch]:
4770         Massive reindent to gtk+ standard. My hands hurt.
4771
4772         * gdk/linux-fb/gdkcolor-fb.c:
4773         Move GdkColorPrivateFB from inherited to windowing_data
4774
4775         * gdk/linux-fb/gdkcursor-fb.c:
4776         _gdk_cursor_new_from_pixmap made static
4777
4778         * gdk/linux-fb/gdkdnd-fb.c:
4779         GdkDragContextPrivate moved to windowing_data
4780
4781         * gdk/linux-fb/gdkdrawable-fb2.c:
4782         Removed endian.h, use glib endianness macros instead
4783         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4784         and GDK_DRAWABLE_IMPL_FBDATA
4785
4786         * gdk/linux-fb/gdkfont-fb.c:
4787         Add empty gdk_font_load(). Needed for linking of Gtk+.
4788
4789         * gdk/linux-fb/gdkimage-fb.c:
4790         Removed endian.h, use glib endianness macros instead
4791         Moved GdkImagePrivateFB to windowing_data
4792         gdk_image_new_bitmap didn't always allocate enough
4793         memory.
4794
4795         * gdk/linux-fb/gdkinput-ps2.c:
4796         Added semi-working support for MS serial mice.
4797
4798         * gdk/linux-fb/gdkprivate-fb.h:
4799         s/GdkWindowPrivate/GdkWindowObject/
4800         Removed GdkWindowPrivate typedef
4801         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4802         Removed GDK_DRAWABLE_P
4803         Move GdkColorPrivateFB from inherited to windowing_data
4804         Moved GdkImagePrivateFB to windowing_data
4805
4806         * gdk/linux-fb/gdkvisual-fb.c:
4807         Removed some unused debug code.
4808
4809         * gdk/linux-fb/gdkwindow-fb.c:
4810         Use stock cursors instead of including X headers.
4811         s/GdkWindowPrivate/GdkWindowObject/
4812
4813         * gdk/linux-fb/mitypes.h:
4814         Removed unused types.
4815
4816         * modules/linux-fb/basic.c:
4817         Use the pango fribidi wrappers.
4818
4819 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4820
4821         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4822         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4823         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4824         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4825         GEqualFunc where applicable.
4826         
4827         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4828         pango_font_description_equal as changed in pango.
4829         
4830         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4831
4832         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4833
4834         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4835
4836         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4837
4838         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4839
4840         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4841
4842         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4843         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4844
4845         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4846         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4847
4848 2000-11-12  Havoc Pennington  <hp@pobox.com>
4849
4850         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4851         dir to datadir/gtk+-2.0/demo
4852
4853         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4854         sorts of text widget and Pango font bugs. Urgh.
4855
4856         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4857
4858         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4859         tree that you should double click to see the demo. Fix 
4860         types of variables to reflect changed return values from 
4861         GtkTreeStore and GtkTreeViewColumn constructors.
4862
4863         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4864         newly-created buffer to prepare for GObject semantics
4865
4866         * gtk/testtext.c: don't leak the buffer with GObject semantics
4867
4868         * gtk/testtextbuffer.c: ditto
4869         
4870 2000-11-12  Havoc Pennington  <hp@pobox.com>
4871
4872         Rename this testgtk to gtk-demo to avoid confusion, and 
4873         install it so people can use it as a supplement to 
4874         the documentation.
4875         
4876         * demos/gtk-demo: Moved from demos/testgtk
4877
4878         * demos/testgtk: Removed
4879
4880         * configure.in: make Makefile in gtk-demo
4881         
4882         * demos/gtk-demo/Makefile.am: Install sample source to 
4883         datadir/gtk-demo (maybe there's a better place?), and 
4884         rename the binary to gtk-demo
4885         
4886         * demos/gtk-demo/main.c (load_file): Load installed sample
4887         source if source isn't found in pwd.
4888
4889 2000-11-09  Havoc Pennington  <hp@pobox.com>
4890
4891         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4892         argument to set the char displayed when visibility == FALSE
4893         (gtk_entry_create_layout): If !entry->visible, replace 
4894         all chars with the "invisible char"
4895
4896         * gtk/testgtk.c: Test the invisible_char deal
4897         
4898 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4899
4900         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4901         can't get a native font in the right encoding.
4902
4903 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4904
4905         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4906         respectively.
4907
4908 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4909
4910         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4911         Fix warning when moving between paragraphs.
4912
4913         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4914         delete => delete_from_cursor, insert => insert_at_cursor
4915
4916 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4917
4918         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4919
4920         * modules/input/imthai-broken.c: A Thai input method for use if
4921         Thai keys are really generating Latin1 keysyms.
4922
4923         * modules/input/Makefile.am: Build these.
4924
4925 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4926
4927         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4928         g_filename_{to,from}_utf8 now takes an extra parameter.
4929
4930         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4931         strftime into UTF-8.
4932
4933         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4934         calendars.
4935
4936         (gtk_calendar_paint_day_names): Draw day names in the right 
4937         place.
4938         
4939 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4940
4941         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4942         problem with using result of g_get_charset() backwards -
4943         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4944
4945         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4946         negative min_width/height and max_width/height to
4947         mean "requisition"; this allows setting a window
4948         to be user-resizable in only one direction easily.
4949
4950         * gtk/testgtk.c (create_main_window): Remove hard-coded
4951         usize - set a default size in the vertical direction.
4952
4953 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4954
4955         * gtk/gtkrange.c: Add some missing casts. Support 
4956         2 and 3 button clicks on the arrows to mean 
4957         "move by pages" and "jump to end". (Like gtkspinbutton)
4958
4959 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4960
4961         * gdk/win32/makefile.msc : reflect build module changes
4962
4963         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4964         from GdkPixmap*, cast implementation member instead.
4965
4966         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4967         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4968         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4969         more Gdi functions return value checking. 
4970         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4971         GdkImagePrivateWin32 *.
4972
4973         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4974         menus useable again. Add #pragma message to keep reminded on this issue.
4975         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4976         windows. This allows to enable backing store on Win32!
4977
4978         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4979         in drawable is of impl type. Correct specific type checks appropriate.
4980  
4981         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4982         GDK_WINDOW_DESTROYED before allocating new resources.
4983
4984         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4985
4986         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4987         (gdk_window_foreign_new) initialize parent handle.
4988         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4989
4990         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4991         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4992         problems (e.g. main buttons in testgtk). 
4993
4994 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4995
4996         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4997         gtk_widget_activate for GDK_Return.
4998
4999         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5000         of preedit cursor position.
5001
5002 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5003
5004         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5005         static.
5006
5007 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5008
5009         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5010         out support for multiple locales; that simple doesn't
5011         work reliably with current Xlib
5012
5013         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5014         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5015         Add support for positioning the cursor within the preedit string.
5016
5017 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5018
5019         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5020         at XIM input method module.
5021
5022         * gtk/gtktextview.c: Check for bindings after passing
5023         events to im context filter.
5024
5025 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5026
5027         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5028         empty attribute lists properly.
5029
5030 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5031
5032         * gtk/queryimmodules.c (main): Return non-zero exit
5033         status if errors were encountered querying any
5034         modules.
5035
5036         * modules/input/Makefile.am (moduledir): remove
5037         leftover bin program target.
5038
5039         * docs/make-todo: Fix typo in error message.
5040
5041 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5042
5043         * configure.in: Add modules/input/Makefile
5044
5045 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5046
5047         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5048         don't include gtkthemes.h.
5049
5050         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5051         to point
5052
5053         * gtk/Makefile.am: Add new .c and .h files, build 
5054         gtk-query-immodules and use it to create a gtk.immodules
5055         file for use of test programs.
5056
5057         * gtk/gtkpreview.c: remove extra blank line.
5058
5059 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5060
5061         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5062         Add the ability to add extra tables beyond the default
5063         one, and also the ability to have compose sequences 
5064         that are prefixes of other compose sequences. 
5065
5066         * gtk/gtkimcontextsimple.c: Export a preedit string which
5067         consists of possible candidates for keystrokes that have
5068         been entered but not yet committed.
5069
5070         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5071         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5072
5073         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5074         Add a function to add input-method switching menu items
5075         to a menu.
5076
5077         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5078         when switching input methods.
5079
5080         * gtk/gtkimcontextsimple.[ch]: Change the format of
5081         the compose table to allow compose tables of different
5082         lengths / sequence.
5083
5084 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5085
5086         * gtk/gtkimmodule.[ch]: Support routines for loading
5087         GtkIMContext implementations dynamically at runtime.
5088
5089         * modules/input/imcyrillic-translit.c: A sample input
5090         method (based on GtkIMContextSimple with an extra table),
5091         which demonstrates preedit strings and the module
5092         system for input modules
5093
5094         * gtk/queryimmodules.c: Program to query the available
5095         input modules and write the results into a file.
5096          
5097         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5098         extra config options "im_module_file" (cache file for
5099         input method modules), and "im_module_path" - path
5100         to look for modules when generating cache file.
5101
5102         This doesn't scale.
5103
5104 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5105
5106         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5107         generic code from gtkthemes into a new abstraction
5108         GtkModule which has the logic for implementing
5109         a loadable module which implements a number of 
5110         GObject types.
5111
5112 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5113
5114         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5115         a class into an interface  
5116         
5117         * gtk/gtkoldeditable.[ch]: Move the old editable
5118         implementation into here, so legacy widgets can
5119         still rely on the implemenation. GtkOldEditable
5120         exports GtkEditable. Make selection handling
5121         code use new text conversion functions (and
5122         handle UTF-8 as a side-effect). Use GtkClipboard
5123         for CLIPBOARD.
5124
5125         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5126         Adopt to match above changes.
5127
5128         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5129         avoid GtkOldEditable implementation. Restructure
5130         to reduce number of places that modify state directly.
5131         Move to GtkBindingSet. Display the preedit string.
5132         Queue recomputation of PangoLayout and scroll position
5133         to improve effiency of doing complex changes naively.
5134         Add a menu with cut/copy/paste and input method selection.
5135
5136 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5137
5138         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5139         to set preedit string and attributes; display preedit string by
5140         inserting string and attributes at cursor when creating the
5141         GtkTextLineDisplay.
5142
5143         * gtk/gtktextlayout.c: Move all conversions between byte
5144         positions in PangoLayout and GtkTextIter into new functions
5145         line_display_iter_to_index/index_to_iter that properly
5146         handle the preedit string.
5147
5148         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5149         it to return const char * (eventually will end up
5150         as GCONST char *, most likely.)
5151
5152         * gtk/gtktextview.[ch]: Handle the preedit string, call
5153         gtk_im_context_reset() as necessary, add a menu to switch
5154         input methods.
5155         
5156         * gtk/gtktextlayout.[ch]: Remove useless
5157         gtk_text_layout_get_log_attrs() function.
5158
5159 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5160
5161         * gdk/gdk.def
5162         * gtk/gtk.def: Update.
5163
5164         * gdk/win32/*.c: Add last argument to g_type_register_static()
5165         calls.
5166
5167         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5168
5169         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5170         generated by older wheel mouse drivers. Get the correct y
5171         coordinate from WM_MOUSEWHEEL messages.
5172
5173         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5174         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5175         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5176         Debugging functions.
5177
5178         * gdk/win32/gdkprivate-win32.h: Declare them.
5179
5180         * gdk/win32/gdkinput-win32.h: Add declaration for
5181         gdk_input_window_destroy().
5182
5183         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5184
5185 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5186
5187         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5188         function to help handle keeping things in sync.
5189
5190 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5191
5192         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5193         BOXED marshallers.
5194
5195         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5196         (gtk_list_store_class_init): use the new BOXED marshallers.
5197
5198         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5199         new_with_values to new_with_types.
5200         (gtk_tree_store_get_column_type): add this.
5201         (gtk_tree_store_class_init): use the new BOXED marshallers.
5202
5203         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5204         mirror some POINTER marshallers.
5205
5206 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5207
5208         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5209         allow more interesting iterators.  Also, made the lifecycle of
5210         iterators more explicit.
5211
5212         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5213
5214         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5215         types.
5216
5217 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5218
5219         * demos/testgtk/menus.c:
5220         Changes to make the new testgtk compile after
5221         gtk_menu_append was removed.
5222
5223         * gdk/linux-fb/gdkdrawable-fb2.c
5224         (gdk_fb_get_depth, gdk_fb_get_visual,
5225         gdk_drawable_impl_fb_class_init): Implement
5226         these drawable functions. Now GtkImages work again.
5227
5228         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5229
5230         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5231         
5232         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5233         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5234         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5235         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5236
5237 2000-11-08  Havoc Pennington  <hp@pobox.com>
5238
5239         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5240         visible_set args, don't know where these had gone, I thought they
5241         used to be there
5242
5243         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5244         now we can test the feature and see that it's totally broken.
5245
5246 2000-11-08  Havoc Pennington  <hp@pobox.com>
5247
5248         Make DND copy pixbufs and tags when source and target share a 
5249         tag table.
5250         
5251         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5252         in-process GTK_TEXT_BUFFER_CONTENTS target
5253         (gtk_text_view_drag_data_received): Paste from
5254         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5255
5256 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5257
5258         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5259         API changes.
5260
5261         * gtk/gtkmenu.c: Add support for scrolling menus.
5262         Remove gtk_menu_append/prepend/insert, these have been moved to
5263         gtkcompat.h as #defines.
5264
5265         * gtk/gtkcompat.h.in:
5266         Add compatibility #defines for gtk_menu_append/prepend/insert
5267
5268         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5269         GtkMenuPositionFunc gets an extra argument push_in.
5270         gtk_menu_append/prepend/insert removed.
5271         
5272         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5273         positioning behaviour to fit to scrolling menus.
5274
5275         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5276         into menuitem->submeny. That is wrong, and broke torn
5277         off submenus of torn off menus, since they were unrealized
5278         when the first menu was unrealized.
5279
5280         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5281         gtk_menu_shell_select_item() since these need to be overridden in
5282         GtkMenu.
5283
5284         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5285         positioning behaviour to fit to scrolling menus.
5286         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5287         the current item so that it is prelighted when the menu pops up.
5288         This is a workaround to the fact that the menu doesn't get the
5289         initial enter event (due to grabs).
5290
5291         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5292         s/gtk_menu_append/gtk_menu_shell_append/
5293
5294         * gtk/gtknotebook.c:
5295         s/gtk_menu_insert/gtk_menu_shell_insert/
5296
5297         * gtk/testgtk.c (create_menu, create_menus):
5298         Create the first menu with 50 items so that menu scrolling
5299         can be tested.
5300         
5301         
5302         Patch from Jonathan Blandford  <jrb@redhat.com>
5303
5304         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5305         system to handle size requests.  First, we ask what the size of
5306         the toggle is.  Then, when allocating the size, we allocate the
5307         toggle_size first.  This way we can have multiple menu-item
5308         classes w/o needing a seperate class for each.
5309
5310         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5311         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5312
5313         * gtk/gtkcheckmenuitem.c
5314         (gtk_check_menu_item_toggle_size_request): New function to handle
5315         the toggle size-request.
5316
5317 2000-11-07  Havoc Pennington  <hp@redhat.com>
5318
5319         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5320         Half-ass somewhat fix this function, so that scrolling to the
5321         insertion point works. Pango hacking is in the future to really
5322         fix it.
5323
5324         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5325         length of data, no longer used.
5326
5327         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5328         method contents in here, get rid of destroy method
5329         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5330         that were backward. Remove debug spew.
5331         (cut_or_copy): Make the clipboard work with insert_range to
5332         preserve tags and pixbufs, not just the primary selection.
5333
5334 2000-11-07  Havoc Pennington  <hp@redhat.com>
5335
5336         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5337         to gtk_text_mark_get_visible
5338
5339         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5340         bug that was generating an invalid iterator
5341
5342         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5343         ensure_char_offsets() in front of code placing the iter in an
5344         invalid state.
5345
5346         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5347         make override_location arg const
5348         (paste): Replace the selection if we paste into the 
5349         current selection
5350
5351         * gtk/gtkselection.h: Remove "GtkSelectioData"
5352         (struct _GtkSelectionData): move the definition here.
5353
5354         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5355         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5356
5357         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5358
5359         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5360         (gtk_text_buffer_insert_range_interactive): implement
5361         (gtk_text_buffer_get_tags): Remove, replaced by
5362         gtk_text_iter_get_tags()
5363
5364         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5365         limit parameter, to avoid infinite linear scan.
5366         (gtk_text_iter_backward_search): Add search limit
5367         (gtk_text_iter_forward_find_char): Add search limit
5368         (gtk_text_iter_backward_find_char): Add search limit
5369
5370 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5371
5372         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5373         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5374         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5375         gdk/linux-fb/gdkwindow-fb.c:
5376         use g_object_new() instead of g_type_create_instance() which
5377         is a private function for fundamental type implementations.
5378
5379         * gdk/linux-fb/gdkinput-ps2.c:
5380         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5381         instead just store the current modifier state. Add a (somewhat broken)
5382         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5383         Rename exported function gdk_input_ps2_get_mouseinfo to
5384         gdk_input_get_mouseinfo.
5385
5386         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5387         gdk/linux-fb/gdkwindow-fb.c:
5388         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5389         
5390
5391 2000-11-02  Havoc Pennington  <hp@redhat.com>
5392
5393         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5394         use stock buttons. Should be 100% source compatible, appropriate
5395         filesel fields now point to dialog->vbox and dialog->action_area.
5396         On the bizarre side, dialog->action_area and filesel->action_area
5397         are not the same widget.
5398         (gtk_file_selection_init): Put some padding around the selection
5399         entry, so it isn't touching the GtkDialog separator.    
5400
5401         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5402         use stock buttons, etc. Should also be source compatible.
5403         Set the dialog default title in _init not _new().
5404         
5405         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5406         Use stock buttons; don't put a button box inside the existing
5407         dialog button box. Don't bother with push/pop colormap anymore.
5408
5409         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5410         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5411         for message dialog, and necessary for the font selection and color
5412         selection with help and apply buttons.
5413         
5414         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5415         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5416         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5417         between buttons, put less padding around the action area.
5418         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5419         This will also exit the loop if the widget is hidden.
5420         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5421         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5422         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5423         special-case delete event.
5424
5425         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5426         formatting
5427         
5428 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5429
5430         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5431         button to temporarily disable position recording in the
5432         "saved position" test.
5433
5434 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5435
5436         * gtk/gtkthemes.c: added compat code that temporarily implements
5437         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5438         going to be revamped by owen's upcoming GtkModule patches, but
5439         untill then people want gtk to build, right? ;)
5440
5441 2000-11-04  Havoc Pennington  <hp@pobox.com>
5442
5443         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5444         list
5445
5446         * docs/Changes-2.0.txt: Add note about
5447         gtk_container_get_toplevels()
5448
5449         * gtk/gtktextview.h: formatting
5450         
5451         * gtk/gtktextview.c: don't start descriptions with "Returns",
5452         confuses gtk-doc
5453
5454 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5455
5456         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5457         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5458
5459 2000-11-03  Havoc Pennington  <hp@redhat.com>
5460
5461         * gtk/gtktexttagtable.c: Docs
5462         (gtk_text_tag_table_size): return a signed int
5463
5464         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5465         (gtk_text_tag_event): make the event_object a GObject
5466
5467         * gtk/gtktextview.c: Write API docs for all functions.
5468
5469         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5470         for gtk_text_view_get_window_type() called on one of the private
5471         windows.
5472
5473         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5474         directly, call get_buffer() which demand-creates a default
5475         buffer. So gtk_text_view_new() can be used to create a view with a
5476         default buffer in it, if you just want an empty text box users can
5477         put data in. Useful for GUI builders also.
5478
5479 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5480
5481         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5482         the charset encodign portion MUST be in lowercase.
5483         * gtk/gtkrc.az: added file for Azeri language
5484
5485 2000-11-03  Havoc Pennington  <hp@redhat.com>
5486
5487         Get widgets working on the btree/buffer side. Display of them 
5488         still doesn't work.
5489         
5490         * gtk/gtktextview.c: start implementing child widget stuff
5491
5492         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5493
5494         * gtk/gtktextlayout.c: handle embedded widgets
5495
5496         * gtk/gtktextdisplay.c: handle embedded widgets
5497
5498         * gtk/gtktextchild.c: Implement all the child anchor goo
5499
5500         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5501         function
5502
5503         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5504         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5505         creating a child anchor or a pixbuf segment.
5506         (gtk_text_btree_create_child_anchor): new function
5507         (gtk_text_btree_unregister_child_anchor): new function
5508
5509         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5510         allocate_child signal on GtkTextLayout
5511
5512         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5513         values
5514         (gtk_text_iter_get_child_anchor): new function
5515
5516         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5517         default handler for the changed signal, which calls
5518         gtk_text_buffer_set_modified(), instead of just always emitting
5519         changed then calling set_modified() manually. I guess this is
5520         maybe more flexible. It seems logical.
5521
5522 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5523
5524         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5525         now.
5526
5527         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5528
5529 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5530
5531         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5532         been marked static.
5533
5534 2000-11-02  Havoc Pennington  <hp@redhat.com>
5535
5536         * gtk/testgtk.c (create_labels): had a test backward
5537
5538         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5539         fields, so the dest GC ends up with the correct clip origin, 
5540         etc. Fixes a bug where colored labels didn't redraw 
5541         properly.
5542
5543 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5544
5545         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5546         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5547         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5548         Add last argument to t_type_register_static call.
5549         
5550         * gdk/linux-fb/gdkdrawable-fb2.c:
5551         Add last argument to t_type_register_static call.
5552         export the get_image drawable virtual function.
5553
5554         * gdk/linux-fb/gdkimage-fb.c:
5555         Add last argument to t_type_register_static call.
5556         rename gtk_image_get to _gdk_fb_get_image and
5557         export it for use by gdkdrawable-fb2.
5558
5559         * gdk/linux-fb/gdkprivate-fb.h:
5560         export _gdk_fb_get_image.
5561
5562         * gdk/linux-fb/gdkselection-fb.c:
5563         Add new api call stubs.
5564
5565         * gtk/Makefile.am:
5566         Missing ( in linux-fb part.
5567
5568         * modules/linux-fb/Makefile.am:
5569         Must link with gdk_pixbuf or get unresolved symbol.
5570
5571 2000-11-01  Havoc Pennington  <hp@pobox.com>
5572
5573         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5574         GTK_TYPE_TEXT_ITER and BOXED marshallers
5575
5576         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5577
5578         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5579         
5580         * gtk/gtk-boxed.defs: add GtkTextIter
5581
5582         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5583         properly use OBJECT and BOXED
5584
5585 2000-11-01  Havoc Pennington  <hp@redhat.com>
5586
5587         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5588
5589         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5590         before returning it. 
5591         
5592 2000-11-01  Havoc Pennington  <hp@redhat.com>
5593
5594         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5595         Clip the rectangle to be rendered to the drawable, since
5596         get_from_drawable() requires a region within the drawable
5597
5598 2000-11-01  Havoc Pennington  <hp@redhat.com>
5599
5600         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5601         from coordinates.
5602
5603 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5604
5605         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5606         it isn't NULL.
5607
5608 2000-11-01  Havoc Pennington  <hp@pobox.com>
5609
5610         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5611         on a label
5612         (gtk_label_finalize): unref the attr list if any.
5613
5614         * gtk/testgtk.c (create_get_image): close test on second click
5615         (make_message_dialog): close dialog if it exists
5616
5617         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5618
5619         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5620         gdk-pixbuf
5621
5622         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5623         from Pango markup format
5624         (gtk_label_set_markup_with_accel): ditto but with accelerator
5625         parsing
5626
5627         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5628
5629         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5630         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5631         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5632         call gdk_window_get_origin().
5633
5634         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5635         implement GDK_PIXBUF_ALPHA_FULL
5636         
5637 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5638
5639         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5640         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5641         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5642         multiple handlers respectively, instead of only treating the
5643         first handler found (bug reported by owen).
5644
5645 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5646
5647         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5648
5649         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5650
5651         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5652         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5653         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5654
5655         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5656         widget.  Needs writing someday.
5657
5658         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5659         the docs.
5660
5661 2000-10-30  Havoc Pennington  <hp@redhat.com>
5662
5663         * gtk/gtktextview.h, gtk/gtktextview.c:
5664         Rename delete_at_cursor delete_from_cursor, and 
5665         move to move_cursor.
5666
5667 2000-10-30  Havoc Pennington  <hp@redhat.com>
5668
5669         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5670         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5671         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5672         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5673         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5674         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5675         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5676         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5677         gtktexttypes.h, gtktextview.c, gtktextview.h:
5678
5679         Massive reindentation and reformatting. Arg alignment and comments
5680         still need fixing in various places.
5681
5682 2000-10-30  Havoc Pennington  <hp@redhat.com>
5683
5684         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5685         to be named insert_at_cursor and delete_at_cursor so C++ can
5686         handle them.
5687
5688 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5689
5690         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5691         to get a double directory separator in case the home directory
5692         ends with one. This would cause trouble especially on Windows,
5693         where the path will be confused with the syntax for an an UNC
5694         (network share) path \\server\share\path.
5695         (gtk_rc_add_initial_default_files): Ditto.
5696
5697 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5698
5699         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5700
5701         * gtk/gtktextview.c: Use correct marshallers.
5702
5703 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5704
5705         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5706         use new iter stuff, and added all the appropriate signals et al.
5707
5708         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5709         code is internal to gtk only.
5710
5711 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5712
5713         * gtk/gtk.def
5714         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5715         glib-genmarshal etc.
5716
5717 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5718
5719         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5720         parallel builds.
5721
5722 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5723
5724         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5725
5726 2000-10-27  Robert Brady  <robert@suse.co.uk>
5727
5728         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5729         en_GB (British), ia (Interlingua).
5730
5731 2000-10-26  Havoc Pennington  <hp@redhat.com>
5732
5733         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5734
5735         Fixed output of:
5736         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5737         
5738         * gtk/gtktextsegment.c (char_segment_new): rename
5739         (_char_segment_new_from_two_strings): rename
5740         (_toggle_segment_new): rename
5741         
5742         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5743         (make_clipboard_widget): make it static
5744         (text_get_func): static
5745         (text_clear_func): static
5746
5747         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5748         static
5749         (hex_changed): make it static
5750         (hsv_changed): make it static
5751         (opacity_entry_changed): make it static
5752
5753         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5754         (toggle_segment_check_func): rename with _gtk
5755
5756         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5757         (_widget_segment_new): rename
5758         (_widget_segment_add): rename
5759         (_widget_segment_remove): rename
5760         (_widget_segment_ref): rename
5761         (_widget_segment_unref): rename
5762
5763         * gtk/gtktextmark.c (_mark_segment_new): Rename
5764         _gtk_mark_segment_new   
5765
5766 2000-10-26  Havoc Pennington  <hp@redhat.com>
5767
5768         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5769         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5770         types
5771
5772         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5773         marshaller types
5774
5775         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5776         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5777         license on these files.
5778
5779         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5780         work.
5781
5782         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5783         runtime random number different for each tree, instead of 
5784         a constant I made up.
5785
5786 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5787
5788         * gtk/Makefile.am: buncha cleanups, kludged build sources
5789         dependencies with a Makefile: oldest-source-stamp dependancy
5790         for the moment. automake is really fighting us here, with
5791         intentionally not allowing user-defined rules or dependancies
5792         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5793
5794         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5795         to public headers. tehy have a comment stating that they are
5796         "semi-public" aren't included by gtk.h and if enums popup there,
5797         they can be /*< skip >*/-ed.
5798
5799         * gtk/gtktextlayout.h: 
5800         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5801         added LGPL... <SIGH>
5802
5803 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5804
5805         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5806         GtkTreeIter.  Added iterators everywhere.
5807
5808         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5809
5810         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5811
5812         * gtk/gtktreestore.c: Changed to use the iterators.
5813
5814         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5815         iterators tomorrow.
5816
5817         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5818         iterators tomorrow.
5819
5820         * gtk/treestoretest.c: Changed to use iterators.
5821
5822         * demos/testgtk/main.c: Moved to use the new iterator system.
5823
5824 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5825
5826         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5827         localization misbehaviour.
5828
5829         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5830         a useless type without copy/free.
5831
5832         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5833         of GTK_TYPE_CTREE_NODE.
5834
5835 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5836
5837         * gtk/gtksignal.c:
5838         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5839         applicable.
5840
5841         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5842         gtk_selection_data_copy and gtk_selection_data_free
5843         do GtkSelectionData work as params in signals.
5844
5845 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5846
5847         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5848         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5849         couldn't they at least give it a non-standard name?
5850         
5851         * gtk/gtktextlayout.c: arg! yet another implementation of
5852         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5853
5854         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5855         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5856         home. now i know this _is_ a conspiracy.
5857
5858         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5859         ::state-changed.
5860
5861         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5862         (gtk_accel_group_create_add): marshaller signature fixups.
5863
5864         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5865         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5866
5867         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5868         anymore.
5869
5870 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5871
5872         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5873         due to the signal system changes, it wouldn't build currently. to
5874         be fixed soon.
5875
5876         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5877
5878         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5879         so it needs gtk_marshal_VOID__ENUM() instead of
5880         gtk_marshal_NONE__UINT().
5881
5882         * gdk/gdk*.c: adapted type registration functions.
5883
5884         * gtk/gtkbindings.c:
5885         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5886         gone.
5887
5888         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5889
5890         * gtk/gtkobject.c:
5891         (gtk_object_destroy):
5892         (gtk_object_shutdown): fixed recursion guards. basically we have to
5893         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5894         is called during ::destroy, and avoid recursion there.
5895
5896         * gtk/gtktypeutils.c:
5897         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5898         boxed_copy/boxed_free. this needs a more general solution based on a
5899         publically installed code-generator utility.
5900
5901         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5902         glib's gobject has support for that now.
5903         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5904
5905 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5906
5907         * gtk/gtksignal.[hc]:
5908         * gtk/gtkmarshal.[hc]:
5909         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5910         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5911         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5912         care of that.
5913
5914         * *.c: marshaller name fixups.
5915
5916         * gtk/gtkmarshal.list: added a comment briefing the format.
5917
5918 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5919
5920         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5921         compatibility macros here now. more specifically, most of
5922         the API is preserved (yes, _most_, nonwithstanding the
5923         following exceptions listed, the API is stil lHUGE ;)
5924         things that got removed completely:
5925         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5926         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5927         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5928         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5929         gtk_signal_remove_emission_hook().
5930         non-functional functions variants:
5931         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5932         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5933         not supported anymore.
5934         (gtk_signal_compat_matched): new internal function to aid
5935         implementation of the compatibility macros, it  provides
5936         functionality to block/unblock/disconnect handlers based
5937         on func/data.
5938
5939         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5940
5941         * *.c: adaptions to new type registration API signatures.
5942
5943 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5944
5945         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5946
5947 2000-10-25  Robert Brady  <robert@suse.co.uk>
5948
5949         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5950         gdk_property_delete): If window == NULL, assume the root window.
5951         (restoring the behaviour that was in 1.2).
5952         
5953         * gtk/testtext.c (save_buffer): Allow creation of new files when
5954         saving.
5955
5956         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5957         calls to read().
5958
5959 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5960
5961         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5962
5963         * gdk/win32/gdkdrawable-win32.c
5964         * gdk/win32/gdkimage-win32.c
5965         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5966         X11 backend.
5967
5968         * gdk/win32/gdkcc-win32.c
5969         * gdk/win32/gdkcolor-win32.c
5970         * gdk/win32/gdkfont-win32.c
5971         * gdk/win32/gdkinput-win32.c
5972         * gdk/win32/gdkmain-win32.c
5973         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5974
5975 2000-10-24  Havoc Pennington  <hp@redhat.com>
5976
5977         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5978         it a static function
5979
5980         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5981         redraw text when a tag is applied to it.
5982
5983         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5984         (gtk_text_tag_affects_nonsize_appearance): private functions to
5985         see if a tag requires various kinds of redraw/layout to be queued
5986         up.
5987
5988         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5989
5990         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5991         at the start of the buffer, so search works by default
5992
5993         * gtk/gtktextiter.c (lines_match): init match_start always
5994
5995         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5996         function, get iter at a line + a byte index
5997
5998         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5999         to set byte position within a line
6000         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6001
6002 2000-10-23  Havoc Pennington  <hp@redhat.com>
6003
6004         * gtk/testtext.c: Re-enable the "find" dialog
6005
6006         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6007         
6008         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6009         the arguments to gdk_draw_drawable were in the wrong order
6010         (gdk_window_paint_init_bg): This function was ignoring the
6011         init_region, instead of clipping to it, so the entire backing
6012         pixmap was cleared on every begin_paint()
6013         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6014         was in here again, the loop kept using the same GtkWindowPaint
6015         over and over.
6016         (gdk_window_begin_paint_region): Fix a bug where we had two
6017         x_offset instead of x_offset and y_offset
6018
6019         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6020         before we get the image.
6021         (gdk_draw_drawable): get the composite before we draw the drawable.
6022         (gdk_drawable_real_get_composite_drawable): default
6023         get_composite_drawable implementation that returns the drawable 
6024         itself
6025
6026         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6027         get_composite_drawable virtual function
6028
6029         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6030         list-walking bug
6031
6032         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6033         make this work if the source drawable is a GdkDrawableImplX11
6034         instead of a public drawable type. This is really broken; the
6035         problem is that GdkDrawable needs a virtual method get_xid(), but
6036         of course that doesn't work in practice. Enter RTTI.
6037
6038         Also, improve mismatched depth message.
6039
6040         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6041         GdkPixmap
6042
6043         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6044         install _gdk_x11_get_image as our implementation of get_image
6045         
6046         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6047         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6048
6049         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6050         gdk_drawable_get_image
6051
6052         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6053
6054         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6055         get_image
6056
6057         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6058         trailing semicolon after for loop
6059
6060 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6061
6062         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6063         where font_desc for widget's context lagged widget's font_desc by
6064         one step.
6065
6066 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6067
6068         * gdk/win32/gdkgc-win32.c
6069         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6070
6071         * gtk/makefile.mingw.in
6072         * gtk/gtk.def: Updates.
6073
6074         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6075         library.
6076
6077         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6078
6079         * gtk/makefile.msc: Remove
6080
6081         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6082
6083         * gtk/Makefile.am: Add it.
6084
6085         * configure.in: Generate it.
6086
6087         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6088         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6089         something even if not implemented, to satisfy picky MSVC.
6090
6091         Patches by Hans Breuer:
6092         
6093         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6094         SetBkMode() and SetTextAlign() before calling
6095         pango_win32_render().
6096
6097         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6098         Set hcliprgn to NULL after destroying it.
6099         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6100
6101         * gdk/win32/gdkgeometry-win32.c
6102         (_gdk_windowing_window_queue_antiexpose): More effective
6103         implementation.
6104
6105         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6106         depth as default, not the visual's.
6107
6108         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6109         against empty title.
6110
6111         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6112         IMAGE_PRIVATE_DATA.
6113
6114         * gdk/win32/gdkimage-win32.c: Use it.
6115
6116 2000-10-22  Robert Brady  <robert@suse.co.uk>
6117
6118         * configure.in: Check for bind_textdomain_codeset
6119
6120         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6121         present, make use of it.
6122
6123         Add a translatable string "default:LTR" which, if translated
6124         to "default:RTL", will cause the default direction to be
6125         Right-to-Left.
6126
6127         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6128         direction if marked as flippable.
6129
6130         * gtk/gtkhscale.c: Mark widget as flippable.
6131         
6132 2000-10-04  Havoc Pennington  <hp@redhat.com>
6133
6134         * gtk/testgtk.c (create_buttons): create some stock buttons
6135         with the default accel group
6136         (create_image): test some new GtkImage features
6137         (make_message_dialog): test GtkMessageDialog
6138         (create_modal_window): fix someone's bizzarro indentation
6139
6140         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6141         GTK_WIN_POS_CENTER_ON_PARENT. 
6142         Add "destroy with parent" setting, which means the window goes
6143         away with its transient parent.
6144         (gtk_window_get_default_accel_group): get the default accel group
6145         for the window.
6146         (gtk_window_set_destroy_with_parent): set/unset destroy with
6147         parent flag
6148         (gtk_window_read_rcfiles): invalidate icon set caches
6149         after reloading rcfiles 
6150
6151         * gtk/gtkenums.h (GtkWindowPosition): add
6152         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6153         on its parent window when the dialog is mapped for the first time.
6154
6155         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6156         a simple message dialog class
6157         
6158         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6159         handler to emit response signal, and maybe later it would
6160         honor a hide_on_delete flag - though that isn't there yet.
6161         Set border width on the vbox to 2, so we get some padding.      
6162         Use a button box for the action area.
6163         (gtk_dialog_key_press): synthesize a delete event if Esc
6164         is pressed and the GtkWidget key press handler didn't 
6165         handle the escape key.
6166         (gtk_dialog_new_with_buttons): new function creates a dialog
6167         with some default buttons in it.
6168         (gtk_dialog_add_action_widget): add an activatable widget
6169         as a button in the dialog - you can also add a non-activatable
6170         widget by accessing the action area directly.
6171         (gtk_dialog_add_button): add a simple button - stock ID or 
6172         label - to the action area
6173         (gtk_dialog_response): emit response signal
6174         (gtk_dialog_run): block waiting for the dialog, return 
6175         the response. Override normal delete_event behavior, so that 
6176         delete_event does nothing inside gtk_dialog_run().
6177
6178         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6179         emitted when an action widget is clicked or the dialog gets
6180         delete_event
6181
6182         * gtk/gtk.h: add gtkmessagedialog.h
6183
6184         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6185
6186 2000-10-18  Havoc Pennington  <hp@redhat.com>
6187
6188         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6189         where any number of empty lines would get skipped
6190
6191         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6192         edge.
6193
6194         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6195         warning about invalid iterators (explain more thoroughly)
6196         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6197
6198         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6199         big
6200
6201         * demos/*.c: Add error handling
6202
6203         * gtk/gtktextbuffer.c: don't modify const iterators
6204
6205         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6206
6207         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6208         on file load
6209
6210         * gtk/gtkiconfactory.c: Update to reflect addition of error
6211         handling to gdk-pixbuf loaders
6212
6213 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6214
6215         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6216         move to new modularized testgtk.
6217
6218 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6219
6220         * gtk/gtktreeview.c: Draw the arrows correctly.
6221
6222         * gtk/gtktreemodel.c: Added user docs.
6223
6224         * gtk/gtk.h: remove gtktreedatalist.h.
6225
6226         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6227         parent when generating my type.
6228
6229         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6230         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6231
6232 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6233
6234         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6235         GtkTreeModel from object to interface.
6236
6237 2000-10-16  Havoc Pennington  <hp@redhat.com>
6238
6239         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6240         compilation
6241
6242 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6243
6244         * gtk/gtktreeselection.c: Add API documentation to all public
6245         functions.
6246
6247         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6248         functions.
6249
6250 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6251
6252         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6253         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6254         docs to all public functions.
6255
6256         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6257         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6258         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6259         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6260         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6261         issue.
6262
6263 2000-10-14  Robert Brady  <robert@suse.co.uk>
6264
6265         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6266
6267 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6268
6269         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6270         values other then G_TYPE_STRING.
6271         * gtk/gtktreeselection.c: Minor commenting updates.
6272         * gtk/gtktreeview.c: Format updates.
6273
6274 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6275
6276         * README.win32: Update.
6277
6278         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6279         lines that had been deleted by mistake (?).
6280
6281         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6282         also the case fg==white and bg==black (but still not randomly
6283         coloured cursors). Thanks to Wolfgang Sourdeau.
6284
6285         * gdk/win32/*.c: Silence gcc -Wall.
6286
6287         * gtk/gtk.def: Add missing entry points.
6288
6289         Fixes by Hans Breuer:
6290
6291         * gdk/makefile.msc
6292         * gdk/win32/makefile.msc: Update.
6293
6294         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6295         some MSVC thing, presumably), cause breakpoint on failures. Add
6296         GDK_NOR case. Call g_log_set_always_fatal.
6297
6298         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6299         should be pased by reference.
6300         
6301         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6302         
6303         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6304
6305         * gdk/win32/gdkevents-win32.c
6306         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6307
6308         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6309         implementation object.
6310
6311         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6312         not just windows.
6313         
6314         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6315         Use the wrapper object.
6316         
6317 2000-10-06  Havoc Pennington  <hp@redhat.com>
6318
6319         * Makefile.am (SRC_SUBDIRS): contrib subdir
6320
6321         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6322         so it can be used in Xlib version
6323
6324         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6325         tree
6326
6327         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6328         change from 1.0 tree that returns first frame of animation
6329         if the loaded file is an animation.
6330
6331         * contrib: add new directory to hold stuff that comes with GTK+
6332         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6333         
6334         * configure.in: add contrib/*
6335
6336 2000-10-05  Havoc Pennington  <hp@redhat.com>
6337
6338         * demos/testpixbuf-save.c: add pixbuf save test
6339
6340         * demos/Makefile.am: add testpixbuf-save.c
6341
6342 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6343
6344         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6345         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6346         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6347         * gtk/gtktreeselection.[ch]: Replaced
6348         "node_selected"/"node_unselected" signal with "selection_changed"
6349         signal.
6350
6351 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6352
6353         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6354         tree widget.
6355
6356 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6357
6358         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6359         drawing.
6360
6361 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6362
6363         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6364         Move list pointer forwards before removing item from
6365         list. (Crash reported by Salmaso Raffaele)
6366
6367         * gdk/gdkwindow.h: Remove spurious trailing ,
6368
6369         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6370         dependencies on uninstalled libraries, sorry folks.
6371
6372 2000-10-04  Havoc Pennington  <hp@redhat.com>
6373
6374         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6375         gtk/gtkiconfactory.c: Fix copyrights    
6376
6377         * demos/testpixbuf.c: add inline pixbuf test
6378         
6379 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6380
6381         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6382         Add gdk_window_iconify.
6383
6384         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6385         (gdk_window_set_geometry_hints): Add win_gravity
6386         to geometry structure.
6387
6388         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6389         Implement _NET_WM_PING.
6390
6391         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6392         Set _NET_WM_PID on the client leader.
6393
6394         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6395         Handle UTF-8 better.
6396
6397         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6398         UTF-8 better, set _NET_WM_NAME as well. Only set
6399         icon name if it hasn't previously been explicitely 
6400         set.
6401
6402 2000-10-03  Havoc Pennington  <hp@redhat.com>
6403
6404         * gtk/testtextbuffer.c: clean up trailing whitespace,
6405         add extensive tests for tag toggle iteration.
6406         
6407         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6408         distance
6409
6410         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6411         optimize case where the tag root is on level 1
6412         (gtk_text_line_previous_could_contain_tag): attempt to implement
6413         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6414         functionality
6415
6416         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6417         Implement this, though not very efficiently.
6418
6419         * gtk/gtktextiterprivate.h: reformat
6420
6421         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6422         iterator
6423
6424         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6425         this to properly revalidate the iterators.
6426
6427         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6428         properly at the end of the line (and therefore on empty lines)
6429
6430         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6431         maybe we should return a value...
6432
6433 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6434
6435         * config.h.win32: Guard definition of alloca(). glib.h now handles
6436         that.
6437
6438         * gdk/gdk.def
6439         * gtk/gtk.def: Add new entry points.
6440
6441         Changes just to make GTK+ build without errors on Win32. No hope
6442         of it working in its current state, though...:
6443         
6444         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6445         some functions from the X11 backend, just to make GTK+ build.
6446
6447         * gdk/makefile.mingw.in
6448         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6449         number. Add new object files.
6450
6451         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6452         GetMessageTime to get timestamp (where on X11 uses
6453         gdk_x11_get_server_time()).
6454
6455 2000-10-02  Havoc Pennington  <hp@pobox.com>
6456
6457         * gtk/gtktextview.c: text_window_* weren't static and should have
6458         been.
6459         Start work on child widgets; not yet complete, syncing to 
6460         office computer.
6461
6462         * gtk/gtktextchild.h: change this to contain a public interface,
6463         starting work on child interfaces.
6464         * gtk/gtktextchildprivate.h: move private interfaces here
6465
6466         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6467
6468         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6469         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6470         gtk/gtktextmark.c: copyright notices
6471
6472         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6473         internal functions      
6474
6475         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6476         internal function
6477
6478         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6479         Reformatting    
6480
6481 2000-09-30  Havoc Pennington  <hp@pobox.com>
6482
6483         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6484         NULL start/end pointers
6485
6486         * gtk/gtktextbuffer.c: Write some docs
6487         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6488         NULL, so you can just check whether there's a selection.        
6489
6490         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6491         cleanup_line or segments_changed ourselves, it gets done 
6492         in unlink_segment
6493
6494         * gtk/gtktextmark.h:
6495         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6496         
6497         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6498
6499         * gtk/gtktextmark.c: delete some more old Tk cruft
6500
6501         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6502         mark before removing it, so we can emit MARK_DELETED with a valid
6503         pointer.
6504         (gtk_text_buffer_mark_set): hold ref across signal emission
6505
6506         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6507         whining about attempts to delete special marks
6508
6509         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6510         underscore, since it's internal.
6511
6512         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6513         now implemented in terms of iterators in gtktextiter.h
6514
6515         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6516         New function, destructively sets contents of buffer. Also 
6517         a convenient way to clear the buffer by setting text to ""
6518
6519         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6520         multiline string literal
6521
6522         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6523         text changes.
6524
6525         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6526         is not dereferenceable
6527         (gtk_text_iter_forward_lines): fix return value
6528
6529 2000-09-29  Havoc Pennington  <hp@redhat.com>
6530
6531         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6532
6533         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6534         that set border window size to have nicer name
6535         (gtk_text_view_mark_set_handler):  Fix this to have the 
6536         right signature.
6537
6538         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6539
6540         * gtk/testtext.c: Update with API changes, put line numbers on 
6541         both sides.
6542         
6543         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6544         with this
6545
6546         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6547         pixbuf; delete a big block of #if 0 Tk code
6548
6549         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6550         insert_pixmap with insert_pixbuf
6551
6552 2000-09-29  Martin Baulig  <baulig@suse.de>
6553
6554         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6555         confusion with the GdkPixbuf of the GNOME 1.x platform.
6556
6557 2000-09-29  Havoc Pennington  <hp@pobox.com>
6558
6559         * gtk/gtktextview.c: Implement the side windows.
6560
6561         * gtk/testtext.c: Implement simple line numbering in the 
6562         left side window; seems to make scrolling sloooow. Oops.
6563         Also, cursor blink is for some reason causing redraws
6564         of the line numbers. Should investigate...
6565
6566 2000-09-28  Havoc Pennington  <hp@redhat.com>
6567
6568         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6569         scrolling child windows, and draw focus rectangle properly.
6570         
6571         (gtk_text_view_buffer_to_window_coords):
6572         Coordinate transformation to deal with all these freaking windows
6573         and offsets
6574         (gtk_text_view_window_to_buffer_coords): transform the other way
6575
6576         * gtk/testtext.c (create_buffer): Update to match Pango API change
6577
6578         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6579         anonymous tags
6580         (foreach_unref): don't emit remove signal from finalize, just
6581         set tag's parent to NULL
6582
6583 2000-09-26  Havoc Pennington  <hp@redhat.com>
6584
6585         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6586         Fix some warnings       
6587
6588 2000-09-26  Havoc Pennington  <hp@redhat.com>
6589
6590         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6591         headers into the private header list
6592
6593         * Makefile.am (pkgconfig_DATA): install pkg-config files
6594
6595         * configure.in: add pkg-config files
6596
6597         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6598
6599         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6600         outstanding icon caches on theme change.
6601
6602         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6603         important types:
6604
6605         (GtkIconSource): Specification for creating a pixbuf 
6606         appropriate for a direction/state/size triplet from 
6607         a source pixbuf or filename
6608
6609         (GtkIconSet): List of GtkIconSource objects that are used to
6610         create the "same" icon (e.g. an OK button icon), and cache for
6611         rendered icons
6612
6613         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6614         up the icon set for a given stock ID.  GTK maintains a stack of
6615         GtkIconFactory to search, and applications or libraries can add
6616         additional icon factories on top of the stack
6617         
6618         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6619         the set of GtkIconSource specified for a given stock ID into 
6620         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6621         RcStyle, under the specified stock ID.
6622
6623         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6624         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6625         This allows people to theme how prelight, insensitive, etc. are
6626         done.
6627
6628         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6629         icon factories for a style, and return the resulting 
6630         icon set if any.
6631
6632         (gtk_style_render_icon): Render an icon using the render_icon 
6633         method in the GtkStyleClass.
6634
6635         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6636         Use the style for a given widget to look up a stock ID, get the
6637         icon set, and render an icon using the render_icon method 
6638         of the style
6639
6640         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6641         (contains information about a stock item), the built-in stock item
6642         IDs, and functions to add/lookup stock items.
6643
6644         * gtk/stock-icons/*: Stock icons that come with GTK
6645
6646         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6647         a button based on a GtkStockItem
6648         (gtk_button_new_accel): Takes a uline string and accel group, and
6649         installs the accelerator.
6650
6651         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6652         image-display widget.
6653
6654 2000-09-25  Havoc Pennington  <hp@redhat.com>
6655
6656         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6657
6658         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6659         Fix a bug when removing node data, we didn't properly 
6660         re-splice the linked list after removing the data.
6661
6662         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6663         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6664
6665         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6666
6667         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6668         for the layout from the GtkTextTag.
6669
6670         * gtk/gtktexttypes.h: delete tab and search cruft, 
6671         remove g_convert() in favor of GLib version
6672
6673         * gtk/gtktexttypes.c: remove tab implementation from here,
6674         move to Pango
6675
6676         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6677         tab stuff using new PangoTabArray from Pango
6678
6679         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6680         unused border_width stuff
6681
6682 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6683
6684         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6685         glib) and now useless utf_to_latin1() latin1_to_utf()
6686
6687         * gtk/gtktextview.[ch]: Change ::move_insert and
6688         ::delete_text action signals to ::move and ::delete;
6689         create the signals with the right enumeration type,
6690         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6691         C-v bindings, change Home, End to move to beginning/end
6692         of line, Add C-Home C-End to move to beginning/end
6693         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6694         combine ::scroll_text into ::move; use new GtkSelectionData
6695         functions to simplify DND text handling.
6696         
6697         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6698         deletion enumerations here, rename enumeration values to 
6699         be consistently plural.
6700
6701         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6702         for cut/copy/paste and primary selection.
6703
6704         * gtk/gtktextbuffer.[ch]: Remove excess time and
6705         'interactive' arguments from cut/copy/paste;
6706         rename cut to cut_clipboard, etc; remove
6707         gtk_text_buffer_get_clipboard_contents().
6708
6709         * gtk/gtktextlayout.[ch]: Add 
6710         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6711         line ends.
6712
6713         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6714         Functions to set or get a UTF-8 string on the selection
6715         data.
6716
6717         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6718         interfaces.
6719
6720         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6721         created widgets - one of these is useless if we don't.
6722
6723         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6724         a public function clear all targets registered for the
6725         widget.
6726
6727         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6728         Never call gtk_widget_realize() - that was just asking
6729         for bizarre side-effects.
6730
6731         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6732         gdk_selection_owner_set even if the widget is the
6733         same so that we reliably update the timestamp on
6734         the server.
6735
6736         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6737         gdk_x11_get_server_time() function.
6738         
6739         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6740         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6741         Add some tricky filtering on serial numbers for
6742         selection clear events to fix up long-standard
6743         race condition FIXME's in gtkselection.c.
6744
6745         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6746         routines to convert from utf8 to compound text or
6747         STRING and from a text property to UTF-8.
6748
6749         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6750         a convenience function gdk_get_current_event_time().
6751
6752         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6753         and free selection_data->data properly
6754
6755 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6756
6757         * gtk/gtkthemes.c: Remove some unecessary includes.
6758
6759 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6760
6761         * gtk/gtktextdisplay.c
6762         * gtk/gtktextlayout.c
6763         * gtk/gtktexttag.c
6764         * gtk/gtktexttag.h
6765         * gtk/testtext.c: Change the overstrike property to strikethrough,
6766         to closer match pango.
6767
6768 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6769
6770         * gtk/gtktextview.c: Fix up visibility so that focus,
6771         cursor_visible and blink interact properly.  Reenable cursor blink
6772         which had been roughly disabled. Make blink and focus
6773         properly per-view.
6774
6775         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6776         Add a flag for whether to display insertion cursor and
6777         a function to set the flag.
6778
6779         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6780         get_line_y() to get_line_yrange(), to be a bit more generally
6781         useful.
6782
6783 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6784
6785         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6786           do stop_navigating_submenu, to clear last timeout properly.
6787           Also in gtk_menu_motion_notify move ignore_enter above
6788           the conditional to make it always happen as suggested by Owen
6789
6790 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6791
6792         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6793
6794         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6795         w32api headers.
6796
6797         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6798         declarations.
6799
6800         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6801         (gdk_win32_get_colormap): A line had been deleted by mistake.
6802
6803         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6804         (gdk_event_translate): Handle more virtual keycodes to be able to
6805         generate GDK events for Control-comma, Control-period, etc.
6806
6807         * gtk/gtk.def: Add some missing entry points.
6808
6809 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6810
6811         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6812         Doc comment fixing. (Mostly non-matching parameter names.)
6813
6814         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6815         comments a little to avoid looking like a doc comment.
6816
6817         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6818         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6819         conversions be changed to GError?)
6820
6821         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6822         Move private #defines into .c file.
6823
6824         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6825         order of argument addition, remove duplicates.
6826
6827         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6828         parent class is FrameClass, not BinClass.
6829
6830         * gtk/gtk.h: Add gtkinvisible, which was missing.
6831         (It's occasionalyl useful for client apps, if seldom.)
6832
6833         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6834         #define.
6835
6836 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6837
6838         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6839         coordinates when creating window, instead of GDK-space
6840         coordinates. (Avoid BadValue on too large windows.)
6841
6842 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6843
6844         * configure.in (use_mmx_asm): Remove conftest* after use along the
6845         lines of AC_TRY_COMPILE.        
6846         
6847         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6848         of g_dirname, which is deprecated.
6849         (gtk_rc_parse_any): Removed calls to
6850         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6851
6852         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6853         Removed calls to g_hash_table_{freeze,thaw}, as they are
6854         deprecated now.
6855
6856         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6857         instead of g_basename.
6858         
6859 2000-09-04 Elliot Lee <sopwith@redhat.com>
6860         
6861         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6862         ANSI warning.
6863
6864 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6865
6866         * gtk/gtkwidget.h:  Add some documenting comments about 
6867           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6868           just as owen said on irc.
6869
6870         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6871           set HAS_DEFAULT.  Only set it if there isn't another window
6872           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6873           it if the widget is not the focused window with RECEIVES_DEFAULT.
6874           This fixes weird double default bugs in dialogs which has things
6875           call gtk_window_set_default at times.
6876
6877 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6878
6879         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6880         Nils Barth and David Santiago to improve submenu
6881         navigation. The patch does this by creating a triangular
6882         region from the point where the pointer leaves the
6883         menu to the submenu.  While the pointer is in
6884         that region and a timeout has not expired, events 
6885         that would cause the active submenu to change are
6886         ignored.
6887
6888 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6889
6890         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6891         moving a toplevel window immediately after sizing it would
6892         result in it being sized back to the old size since 
6893         impl->width, impl->height aren't updated until we hear
6894         back from the server. There is still a (longstanding) bug
6895         here that gdk_window_get_size() will give the wrong size
6896         until we do hear back.
6897
6898 2000-08-31  Havoc Pennington  <hp@redhat.com>
6899
6900         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6901         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6902         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6903         Rename GtkTextStyleValues to GtkTextAttributes
6904
6905 2000-08-31  Havoc Pennington  <hp@pobox.com>
6906
6907         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6908         for rapid testing whether an iterator is the end iterator
6909         (gtk_text_btree_new): init end line cache
6910         (gtk_text_line_is_last): use fast cached line to 
6911         see if we're the last line.
6912         (get_last_line): use cached line here too, should 
6913         speed up some random unrelated code.
6914         
6915 2000-08-30  Havoc Pennington  <hp@pobox.com>
6916
6917         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6918         signals.
6919
6920         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6921         delete_text signals. This allows the signals to be used for
6922         implementing undo.
6923
6924         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6925         provide "interactive" argument when emitting insert_text or
6926         delete_text signal.
6927         
6928 2000-08-30  Havoc Pennington  <hp@pobox.com>
6929
6930         * gtk/gtktextbuffer.c: Docs
6931
6932 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6933
6934         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6935         from switch statements, since Tor removed the enumeration
6936         value.
6937         
6938         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6939         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6940
6941 2000-08-29 Elliot Lee <sopwith@redhat.com>
6942         * */*.h: Use G_GNUC_CONST.
6943
6944 2000-08-27  Havoc Pennington  <hp@pobox.com>
6945
6946         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6947         minor indentation fixes, inserted some FIXME about stuff I
6948         realized was broken while documenting it.
6949         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6950         GTK convention  
6951
6952 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6953
6954         * gtk/testgtk.c (create_styles): Fix double free of
6955         font desc.
6956
6957 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6958
6959         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6960         
6961         * gtk/testgtk.c (create_styles): Add a test for modifying
6962         the style through gtk_widget_modify_*.
6963
6964         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6965         a function to get the current modifier style.
6966
6967         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6968         of the passed in GtkRcStyle instead of ref'ing it.
6969
6970         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6971
6972 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6973
6974         * gdk/gdkimage.h
6975         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6976         shared memory image+pixmap GdkImage type, or
6977         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6978         I am dropping that.
6979
6980         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6981         actually call gtk_init_abi_check(), passing also
6982         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6983
6984         * gtk/gtk.def
6985         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6986         New functions, used to check that the GTK+-using code has been
6987         compiled using the correct compiler and switches. In particular,
6988         with gcc one has to use the -fnative-struct switch as GTK+ is
6989         compiled with that.
6990
6991 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6992
6993         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6994         ->prev fields when merging lists. (Found simultaneously
6995         by Pawel Salek and Jakub Jelinek)
6996
6997 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6998
6999         * gdk/gdk.def
7000         * gtk/gtk.def: Add missing entries.
7001
7002         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7003         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7004
7005         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7006         function. Dummy implementation at this point.
7007
7008         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7009         rules. Undefine GTK_COMPILATION when compiling the test programs.
7010         
7011         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7012
7013 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7014
7015         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7016         to convert back and forth from UTF-8 and the "system" (or "current
7017         locale") charset when necessary. Indentation/spacing cleanup.
7018
7019 2000-08-10  Havoc Pennington  <hp@redhat.com>
7020
7021         * Makefile.am (snapshot): Change the format of the snapshot
7022         version to match glib
7023
7024         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7025         from EXTRA_DIST since it doesn't seem to exist
7026
7027 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7028
7029         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7030         version of the directory name (not the UTF-8 one) when building
7031         the path name to stat().
7032
7033 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7034
7035         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7036         PANGO_ATTR_SHAPE set.
7037
7038 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7039
7040         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7041         Peter Osterlund to simplify the code while keeping the
7042         functionality the same.
7043
7044 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7045
7046         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7047         is_viewable() test further inside the function, since removing the 
7048         window from the redraw list without clearing ->update_area
7049         was also very broken.
7050
7051 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7052
7053         * configure.in: Check for <unistd.h>.
7054
7055 2000-08-01  Martin Baulig  <baulig@suse.de>
7056
7057         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7058         to display the message that this is a development version of GTK+.
7059
7060 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7061
7062         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7063         was depending on widget->allocation instead of the width of text_area,
7064         which was incorrect for subclasses like GtkSpinButton.
7065
7066         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7067         with width == 1 tests that should be width == -1.
7068
7069 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7070
7071         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7072         (broken, Elliot, every single window blank on X) custom code with call
7073         to gdk_window_is_viewable() which a) prevents code duplicate and
7074         b) works. 
7075
7076 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7077
7078         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7079         to get the GDK_PARENT_ROOT() macro to work.
7080         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7081         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7082         of, windows that aren't shown.
7083         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7084         pointer grab stuff.
7085
7086 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7087
7088         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7089           s/gtk_main_iteration/g_main_iteration/
7090
7091           Did this already in change:
7092                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7093           don't know how it got reverted.
7094
7095 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7096
7097         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7098         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7099
7100         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7101         not gdk_pixbuf.
7102
7103 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7104
7105         * configure.in,po/{sp,sr}.po: Added Serbian files
7106
7107 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7108
7109         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7110
7111         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7112         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7113         GIOChannel implementation.
7114
7115         * gdk/win32/gdkinput.c
7116         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7117
7118         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7119         definition to match prototype.
7120
7121         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7122
7123 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7124
7125         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7126         function, to allow handling image formats that cannot be detected
7127         by looking at content alone.
7128
7129 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7130
7131         * docs/tutorial/*.gif *.jpg *.eps
7132           Update these to the same look-n-feel.
7133           Why does including images in DocBook suck so badly?
7134
7135 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7136
7137         * gtk/gtktable.c: applied patch from Phil Thompson
7138         <phil@river-bank.demon.co.uk> that enables space settings for
7139         the last row/columns as well.
7140
7141 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7142
7143         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7144         updates the license headers to the GNU Lesser General Public License,
7145         as well as updating the copyright year to 2000.
7146
7147 2000-07-26  Robert Brady  <rwb197@zepler.org>
7148
7149         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7150           and po/Makefile, was installing and looking for them under gtk20
7151           and gtk2 respectively.
7152
7153 2000-07-25  Havoc Pennington  <hp@redhat.com>
7154
7155         * gtk/testtext.c: Comment out some stuff that depends on the rest
7156         of my patches.
7157
7158 2000-07-25  Havoc Pennington  <hp@redhat.com>
7159
7160         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7161         buffer
7162
7163 2000-07-25  Havoc Pennington  <hp@redhat.com>
7164
7165         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7166         widget changes.
7167
7168         * gtk/gtktextview.h: To be consistent with usage of "line"
7169         throughout the API to mean "newline-terminated thingy", change
7170         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7171         to MOVEMENT_LINE.
7172
7173         (GtkTextView): Add flags for default editability, and whether to
7174         show the cursor. Add functions to get/set that. Add 
7175
7176         (gtk_text_view_get_iter_location): new function
7177
7178         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7179         gtktextlayout.h
7180         (g_convert): Add g_convert temporarily, will go in glib in a bit
7181         
7182         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7183         GtkTextTagTableForeach instead of brokenly using GHFunc.
7184         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7185
7186         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7187         moved to public header.
7188
7189         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7190         "invisible", since "elide" was a bad name.
7191         (gtk_text_tag_get_priority): Added
7192
7193         (GtkTextStyleValues): put this in public header, along with
7194         functions to use it.
7195
7196         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7197         longer include gtktextbtree.h.
7198
7199         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7200         gtk_text_mark_deleted
7201
7202         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7203         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7204         to make this possible. Now we only need to install
7205         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7206         (However the Makefile.am isn't changed yet because of the
7207         logistics of merging gtk-hp-patches piecemeal)
7208
7209         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7210         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7211         gtk_text_iter_get_line is now used in the public API for a
7212         different purpose.
7213
7214         * gtk/gtktextiter.h: Clean up function names to be more
7215         consistent. Always call char offset "offset" and byte index
7216         "index". A "line" is always a line number. 
7217
7218         (gtk_text_iter_is_last): new function, more efficient than 
7219         the existing way to check
7220         (gtk_text_iter_is_first): new function, also more efficient
7221
7222         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7223
7224         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7225         gtk_text_iter_forward_char, etc.
7226
7227         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7228         forward_find_tag_toggle, since this isn't a linear search
7229
7230         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7231
7232         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7233         New functions, search for a buffer substring.
7234
7235         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7236         interactive and default editable (since we need to store that info
7237         until we receive the selection data).
7238
7239         Remove all the _at_char and at_line etc. versions of functions;
7240         only have iterator versions.
7241
7242         Add _interactive() versions of functions, that consider the
7243         editability of text. (FIXME add interactive flag to the 
7244         insert/delete signals per Darin's suggestion)
7245
7246         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7247         tag table if necessary
7248
7249         Remove declaration of gtk_text_buffer_get_iter_from_string
7250
7251         (_gtk_text_buffer_get_btree): private/internal function, added.
7252         
7253
7254         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7255         (gtk_text_line_is_last): new function
7256
7257 2000-07-25  Havoc Pennington  <hp@redhat.com>
7258
7259         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7260         using GtkProgressBar. See Changes-2.0.txt for details.
7261
7262         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7263         "pulse_step" which are the equivalent of
7264         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7265         Implement new API.
7266         
7267         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7268         (use_text_format) to mark whether text set on the progress bar is
7269         a format string. Deprecate entire GtkProgress interface.
7270
7271         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7272         (gtk_progress_build_string): make this a no-op if use_text_format
7273         is FALSE
7274
7275         * docs/Changes-2.0.txt: Describe progress bar changes.
7276
7277 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7278
7279         * Makefile.am: Include the build directory.
7280
7281         * configure.in: Generate build/Makefile, build/win32/Makefile,
7282         gdk/, gdk/win32/, and gtk/makefile.mingw.
7283
7284         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7285         Add GETTEXT_PACKAGE.
7286         
7287         * gdk/gdk.def
7288         * gtk/gtk.def: Updates.
7289
7290         * gdk/gdkfont.h
7291         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7292         need them any longer.
7293
7294         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7295
7296         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7297         PANGOWIN32_LIBS and gdk_pixbuf.
7298
7299         * gdk/win32: Compiles, but no doubt doesn't work at all.
7300
7301         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7302
7303         * gdk/win32/gdkinput.c: New file, temporarily.
7304         
7305         * gdk/win32/gdkinput-win32.h: New file
7306
7307         * gdk/win32/gdkinputprivate.h: Remove.
7308
7309         * gdk/win32/gdkpango-win32.c: New file.
7310
7311         * gtk/makefile.mingw.in: New file
7312
7313         * gtk/makefile.cygwin: Removed
7314         
7315         * gtk/Makefile.am: Update accordingly.
7316
7317         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7318         made externally visible.
7319
7320         * gtk/gtkmain.c: Use it.
7321         
7322         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7323         is enough.
7324
7325         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7326
7327 2000-07-24 Elliot Lee <sopwith@redhat.com>
7328         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7329         individual backends already.
7330         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7331         again. Yes, there really is a good reason for this, if you are using the gdkregion
7332         internals, and if you're not, why do you care?
7333         * gdk/gdkwindow.c: Fix inverted condition
7334         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7335         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7336         * gtk/gtkrange.c: Redraw trough when moving.
7337         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7338         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7339
7340 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7341
7342         * configure.in: Check for mkstemp and sigsetjmp. Output
7343         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7344
7345         More work on GDK for Win32. Still in an intermediate state.
7346
7347         * gdk/makefile.cygwin
7348         * gdk/win32/makefile.cygwin: Removed.
7349         
7350         * gdk/makefile.mingw.in
7351         * gdk/win32/makefile.mingw.in: New files.
7352
7353         * gdk/Makefile.am
7354         * gdk/win32/Makefile.am: Generate and distribute them.
7355
7356         * gdk/win32/gdkwindow-win32.h
7357         * gdk/win32/gdkdrawable-win32.h
7358         * gdk/win32/gdkpixmap-win32.h: New files.
7359
7360         * gdk/win32/gdkcolor-win32.c
7361         * gdk/win32/gdkcursor-win32.c
7362         * gdk/win32/gdkdrawable-win32.c
7363         * gdk/win32/gdkgc-win32.c
7364         * gdk/win32/gdkimage-win32.c
7365         * gdk/win32/gdkprivate-win32.h
7366         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7367         Rename fields and variables called xcursor, xid, etc (these names
7368         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7369
7370 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7371
7372         * gtk/gtkentry.[ch]: Fix some problems with vertical
7373         alignment.
7374
7375         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7376         char/byte confusion.
7377
7378 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7379
7380         * gtk/gtktextview.c (changed_handler): Fix bug where
7381         redraw wasn't being done properly when height of
7382         dirty region changed.
7383
7384         * demos/Makefile.am: Remove various references to
7385         -lgmodule
7386
7387 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7388
7389         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7390         PangoAttrShape to reserve space for pixmaps, add 
7391         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7392         in the display functions.
7393         
7394         * gtk/testgtk.c (create_layout): Set some more exotic
7395         scrolled window options
7396
7397         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7398         Add function to set the shadow type of a window, to allow
7399         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7400         which don't draw their own frame.
7401
7402 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7403
7404         * docs/tutorial/package-db-tutorial.sh: New file for
7405           packaging DocBook format tutorial
7406
7407 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7408
7409         * docs/tutorial/gtk-tut.sgml: Minor updates
7410
7411         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7412
7413 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7414
7415         * gtk/gtksignal.c: Fix C++ comment.
7416
7417         * gtk/gtkimmulticontext.c
7418         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7419         don't return value from void functions.
7420
7421         * gtk/gtk.def: Add gtk_rc_style_unref.
7422
7423 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7424
7425         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7426         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7427         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7428         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7429         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7430         gtk/gtktypeutils.h: Include files outside of the extern "C"
7431         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7432         <vakatov@peony.nlm.nih.gov>.
7433
7434 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7435
7436         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7437           Completes first pass. Hurrah!
7438
7439 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7440
7441         * docs/tutorial/gtk-tut.sgml: More clean ups.
7442
7443 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7444
7445         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7446         paint the background of the text area which was accidentally
7447         removed at some point.
7448
7449         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7450           
7451          - Move most of the functionality from the theme vtable
7452            into GtkRcStyleClass and GtkStyleClass. The moved
7453            vtable functions were changed a bit in the move to
7454            work better in their new home.
7455
7456          - Get rid of the engine and engine_data fields from
7457            GtkRcStyle and GtkStyle; instead the theme
7458            engine derives theme-specific subclasses of GtkRcStyle
7459            and GtkStyle
7460
7461          - Add extra dlsym() found entry point to themes,
7462            theme_create_rc_style().
7463
7464         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7465         in gtk_style_real_copy.
7466
7467         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7468         to register a type associated with an engine. (The engine
7469         won't be unloaded as there is an instance of the type.)
7470
7471
7472 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7473
7474         * docs/tutorial/gtk-tut.sgml: Clean ups.
7475
7476 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7477
7478         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7479           of cleaning up to do.
7480
7481 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7482
7483         * gdk/testgdk.c: New file, quick hack to test backends for
7484         pixel-by-pixel correctness of the most simple graphic operations.
7485
7486 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7487
7488         * Really release 1.3.1
7489         
7490         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7491         include structure.
7492
7493 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7494
7495         * Released 1.3.1
7496
7497 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7498
7499         * gtk/gtktextlayout.c: use FALSE for size_only most
7500         of the time when calling gtk_text_layout_get_line_display()
7501         to avoid causing double reshapes when a redraw follows
7502         immediately after.
7503
7504 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7505
7506         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7507         appropriate region and gdk_window_process_updates() so trough
7508         updating doesn't lag behind the window being scrolled.
7509
7510         * gdk/gdkgc.c: Make parent_class pointer static.
7511          
7512 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7513
7514         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7515         include <string.h>.
7516          
7517         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7518         cut-and-paste error in computing memory offset for 4 channels.
7519
7520 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7521
7522         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7523         gtk_rc_append_default_pixmap_path(), since it wasn't
7524         adding an interesting path and we don't have a meaningful
7525         default for this value.
7526
7527 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7528
7529         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7530         gtk-config to gtk-config-2.0 move gtk_.m4 to
7531         gtk-2.0.m4
7532
7533         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7534         gdk/Makefile.am demos/Makefile.am: Change 
7535         library names to libgtk-1.3.la, etc, so that we
7536         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7537
7538         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7539         gdk/Makefile.am gdk/x11/Makfile.am
7540         Move include files into /usr/include/gtk-2.0, 
7541         /usr/lib/gtk-2.0/include/
7542          
7543         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7544         gtk/gtkintl.h: Change package for gettext from 
7545         gtk+ to gtk20. Put hack in autogen.sh to modify
7546         po/Makefile.in.in after gettextize to make this
7547         possible.
7548
7549         * gtk+.spec: Some updates, not tested.
7550
7551         * gdk-pixbuf/Makefile.am: Move loaders into
7552         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7553
7554         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7555         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7556         to THEMENAME/gtk-2.0/. Move engine directory  to
7557         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7558         
7559 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7560
7561         Win32 changes, still doesn't build though.
7562
7563         * gdk/makefile.cygwin
7564         * gdk/win32/makefile.cygwin
7565         * gtk/makefile.cygwin: Updates.
7566
7567         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7568         default values for fg and bg pixel as X11 does (0 and 1), not
7569         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7570         Use 0 for pen width by default (treated as 1 anyway later, but for
7571         apps that might check the value in the GdkGC).
7572         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7573         interface to gdk_gc_predraw and _postdraw.
7574
7575         * gdk/win32/gdkwin32.h
7576         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7577
7578         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7579         extraneous semicolon.
7580
7581         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7582
7583         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7584         not the Win32 bitspixel value.
7585
7586         * gdk/win32/gdkcc-win32.c:
7587         * gdk/win32/gdkcolor-win32.c 
7588         * gdk/win32/gdkprivate-win32.h
7589         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7590         GDK object structure.
7591
7592 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7593
7594         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7595         * docs/tutorial/gtk_tut_it.sgml (name): 
7596         * docs/tutorial/gtk_tut_fr.sgml (name): 
7597         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7598         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7599
7600 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7601
7602         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7603           small changes.
7604
7605 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7606
7607         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7608         a bug here, never been here and never fixed anything ;(
7609         (don't segfault if tree->root_tree is NULL, which happens prior
7610         to widget realization, but puke instead).
7611
7612 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7613
7614         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7615         add the necessary tokens.
7616
7617         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7618         (gtk_rc_style_to_style): copy thicknesses.
7619         (gtk_rc_init_style): apply thicknesses.
7620         (gtk_rc_parse_style): parse xthickness and ythickness.
7621
7622         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7623
7624         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7625         (gdk_window_new): 
7626         (_gdk_windowing_window_init): 
7627         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7628         (gdk_pixmap_create_from_data): 
7629         (gdk_bitmap_create_from_data): 
7630         (gdk_pixmap_new): 
7631         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7632         (gdk_image_new): 
7633         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7634         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7635         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7636         (gdk_colormap_get_system): 
7637         (gdk_colormap_new): 
7638         * gdk/gdkwindow.c (gdk_window_init): 
7639         * gtk/gtkstyle.c (gtk_style_new):
7640         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7641         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7642         * gtk/gtkrc.c (gtk_rc_style_new):
7643         use g_object_new() instead of g_type_create_instance() which
7644         is a private function for fundamental type implementations.
7645
7646 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7647
7648         * configure.in: Add check for db2html
7649
7650 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7651
7652         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7653         hack to set glib_debug_objects based on gtk_debug_flags.
7654
7655 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7656
7657         * INSTALL.in: Update the Prerequisites section.
7658
7659         * Makefile.am demos/Makefile.am docs/Makefile.am
7660         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7661         gdk/linux-fb/Makefile.am: Dist fixes
7662
7663 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7664
7665         * NEWS: 10,000 foot view of 1.3.1 changes.
7666
7667 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7668
7669         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7670         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7671         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7672         gdk/x11/gdkmain-x11.c: 
7673
7674         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7675         as a return value of gdk_*_grab(). Previously, we just
7676         returned the X11 values directly.
7677
7678 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7679
7680         * gdk/x11/Makefile.am: Patch from George Lebl to 
7681         install all the headers in the right place.
7682
7683 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7684
7685         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7686           initial conversion to DocBook.
7687
7688 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7689
7690         * README.win32: Improve a bit.
7691
7692         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7693         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7694         Alt+0nnn on the numpad (used to enter characters by numeric code
7695         from current DOS or ANSI codepage) working correctly, as in other
7696         Windows apps.
7697
7698         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7699         same argument validity tests as in X11 version.
7700         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7701
7702         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7703         definitions in case missing from headers.
7704
7705         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7706         destroy the window-specific cursor.
7707         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7708         calling GetModuleHandle(NULL).
7709         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7710         with CopyCursor before setting it as the window-specific
7711         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7712         also its Windows cursor) after calling this function. Destroy any
7713         previous window-specific cursor.
7714
7715 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7716
7717         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7718         font charset is iso8859-1, not iso-8859-1.
7719
7720 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7721
7722         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7723         Use g_get_charset() instead of g_get_codeset().
7724
7725         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7726         Comment out some strdup'ing functions to keep timj
7727         happy until we finish fighting this out.
7728
7729 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7730
7731         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7732         <= width or height.
7733
7734         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7735         from 1.2 for parent/child states.
7736
7737         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7738         of typos.
7739
7740         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7741         event structures, replace with a generic axes field. Replace 
7742         deviceid/sourec with GdkDevice *device.
7743
7744         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7745         to extract particular axis use value from event. (Also
7746         can be used for normal X/Y.)
7747
7748         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7749         allow for arbitrary number of axes, namespace everything
7750         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7751         everywhere.
7752
7753         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7754         Get rid of the gdk_input_vtable setup if favor of simply
7755         defining the functions in gdkinput-none/gxi/xfree.c in
7756         a similar fashion to the way that the port structure is 
7757         done.
7758
7759         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7760         for new event structures. 
7761
7762         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7763         new device interfaces.
7764
7765 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7766
7767         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7768         set the initial text.
7769
7770         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7771         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7772         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7773         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
7774
7775         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7776         pango_layout_set_font_description to simplify.
7777
7778 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
7779
7780         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7781         pango_layout_set_font_description to simplify.
7782
7783 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7784
7785         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7786         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7787         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7788
7789         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7790         PANGO_PIXELS() macro.
7791
7792 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7793
7794         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7795         that returns a PangoContext owned by the widget and updated to
7796         match future changes in the widget. Also, make 
7797         gtk_widget_create_pango_layout() use this context. If we ever
7798         add a ::changed signal to PangoContext, this will make things
7799         much more convenient. 
7800
7801         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7802         in the appropriate places instead of destroying the layouts and
7803         creating new ones.
7804
7805         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7806         in a few strategic places.
7807
7808 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7809
7810         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7811         gtk_widget_size_request() on reparented child, if one. Otherwise,
7812         queue_resize() on the child never results in it getting size-requested
7813         at all.
7814
7815         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7816         in option menus, so that (with luck) people won't copy it into
7817         their apps in the future.
7818
7819         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7820         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7821         a lot of problems with changing the size of the menu's menu
7822         items after adding it to the option menu.
7823
7824         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7825
7826         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7827         the text direction for a widget changes.
7828
7829         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7830         ::direction_changed to get rid of various hacks.
7831
7832 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7833
7834         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7835         name.
7836
7837 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7838
7839         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7840         flag to the structure. Do not call XFreePixmap on pixmaps created
7841         by gdk_pixmap_foreign_new().
7842
7843 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7844
7845         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7846         value using GdkRGB functionality given GdkColormap and GdkColor.
7847         (name not final, waiting for inspiration.)
7848         
7849         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7850         set the foreground/background of a GC using the GC's colormap
7851         and GdkRGB. (name not final, waiting for inspiration.)
7852
7853         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7854         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7855
7856         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7857         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7858         purely a function of the corresponding colormap. Make
7859         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7860
7861         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7862         gdk_pixbuf_*create_from_xpm_* in terms of
7863         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7864         code.
7865
7866         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7867         advantage of the new draw_rgb_32_image_dithalign.
7868
7869         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7870
7871         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7872         on each created GC.
7873
7874         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7875
7876         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7877         which we initialize from the drawable when the GC is created,
7878         if the drawable has a colormap.
7879
7880         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7881
7882         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7883
7884         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7885
7886 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7887
7888         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7889         actually returning expose events, make sure to set
7890         the count field properly.
7891
7892         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7893         accidentally reintroced bug which always cleared
7894         the graphics_exposures value. 
7895
7896 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7897
7898         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7899
7900 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7901
7902         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7903
7904 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7905
7906         * docs/faq/gtk-faq.sgml: Start of Section 6.
7907
7908 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7909
7910         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7911         
7912         (Fixes problem with drawing childless frames. Pointed out
7913         by and a first patch from Anders)
7914         
7915         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7916         compute a child_allocation, even if we don't have a child.
7917
7918         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7919         Always chain to the parent's impl, even if we don't have a child.
7920
7921 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7922
7923         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7924         use multiple parts of it instead of creating a bunch of separate
7925         segments, since the maximum number of segments per system is not
7926         large. (This might be worth backporting to GTK+-1.2.x if we make a
7927         new release )
7928
7929         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7930         structure in preparation for per-colormap GdkRGB.
7931
7932         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7933         to False when we get EINVAL from shmget so that the caller of
7934         gdk_image_new can retry with a smaller segment size.
7935
7936 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7937
7938         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7939
7940 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7941
7942         * configure.in: make the current version number 1.3.1 (binary age 0,
7943         interface age 0).
7944         
7945         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7946         gtkcompat.h is all we want.
7947
7948         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7949         GLib primitive types. fixed g_type_register_fundamental() argument
7950         ordering.
7951
7952         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7953         compiles.
7954
7955         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7956         object code cleanup, comment trigraph fixes, etc...
7957
7958 2000-06-23  Havoc Pennington  <hp@redhat.com>
7959
7960         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7961         instead of making up a bogus name for first_para_mark
7962
7963         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7964         0 as a context ID
7965
7966 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7967
7968         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7969
7970 2000-06-21  Havoc Pennington  <hp@pobox.com>
7971
7972         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7973         we didn't check window->bg_pixmap != GDK_NO_BG.
7974
7975         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7976         gdk-pixbuf
7977
7978 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7979
7980         * docs/faq/gtk-faq.sgm: Move file to here.
7981           TODO: Update Makfile.am 
7982
7983 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7984
7985         * docs/gtk-faq.sgm: Add Section 2
7986
7987 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7988
7989         * docs/gtk-faq.sgm: New file. Start of DocBook
7990           version of the FAQ.
7991
7992 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7993
7994         * configure.in (GDK_PIXBUF_MAJOR): Define version
7995         numbers for GDK_PIXBUF_*, as they get substituted
7996         into a header file. Need to consider versioning
7997         for gdk-pixbuf more carefully later.
7998
7999 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8000
8001         Work with srcdir != builddir.   
8002         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8003         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8004         * demos/testpixbuf.c: Likewise.
8005         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8006         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8007         <gdk/x11/gdkx.h>.
8008         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8009         "gdk-pixbuf.h".
8010         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8011
8012 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8013
8014         * TODO.xml: Change 1.4 version numbers to 2.0.
8015
8016 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8017
8018         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8019         fixups to GTK+ standard.
8020
8021 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8022
8023         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8024         gdk-pixbuf.
8025
8026         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8027         fixups for GObject.
8028
8029         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8030         gdk-pixbuf with GDK dependencies moved into GDK.
8031         
8032         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8033         move gdk-pixbuf-loader here until GObject has signals.
8034
8035         * demos/: New directory of demos. Move demos from
8036         gdk-pixbuf here.
8037
8038         * demos/pixbuf-init.c: Small bit of code to check for
8039         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8040         set GDK_PIXBUF_MODULEDIR appropriately.
8041
8042         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8043         define which no longer makes sense.
8044
8045 2000-06-21  Havoc Pennington  <hp@redhat.com>
8046
8047         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8048         gtk_get_default_language
8049
8050         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8051         new function to get the default language
8052
8053         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8054         s/gtk_text_view_style_values/gtk_text_style_values/
8055
8056         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8057         Add a "language" field to tags.
8058
8059         (gtk_text_tag_set_arg): Fix bug in setting
8060         "bg_full_height_set" tag.
8061
8062 2000-06-21  Havoc Pennington  <hp@redhat.com>
8063
8064         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8065         in the interfaces
8066
8067         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8068         stuff instead when possible.
8069
8070         * gtk/gtktexttypes.h: Delete some unused constants
8071
8072         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8073         testtextbuffer.c: use glib instead of custom unicode routines
8074
8075 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8076
8077         * docs/es/: Removed mistakenly added generated sgml
8078
8079         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8080         Remove outdated info files.
8081
8082         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8083         Moved tutorial files into subdir
8084
8085         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8086         subdir.
8087
8088         * docs/man/gtk_button.pod: Remove. (contents will be
8089         integrated into gtk-reference button page.)
8090
8091         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8092         docs/faq/Makefile.am: Adjust for new organization
8093
8094 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8095
8096         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8097         not $(MKINSTALLDIRS)
8098
8099 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8100
8101         * gtk/testgtk.c (create_text): Finish the job Elliot started
8102         of removing font setting test for text widget. (Since text widget
8103         and GdkFont are not deprecated, and cause portability problems.)
8104
8105 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8106
8107         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8108         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8109         Remove use of libunicode in favor of new GLib functions.
8110
8111         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8112         nano-x, framebuffer. The X11 include is just a hack until we get
8113         the necessary functions in gdkcolor.h, so there is no reason to
8114         add other includes of platforms.
8115
8116         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8117         window bigger than the screen change.
8118
8119         * gtk/testgtk.c: Revert some random changes from Elliot
8120         that had no particular point and were causing testgtkrc
8121         not to function correctly.
8122         
8123         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8124         because GdkSegment and GdkRegionBox have the same fields,
8125         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8126         results in clearer code.
8127
8128         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8129         gdk_input_translate_coordinates): Fix missed GdkObjectification
8130
8131 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8132
8133         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8134         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8135
8136 2000-06-20  Havoc Pennington  <hp@redhat.com>
8137
8138         * modules/linux-fb/Makefile.am: Make this compile
8139         without framebuffer enabled
8140
8141         * gdk/linux-fb/Makefile.am: Add conditional to not build
8142         framebuffer unless specified in configure
8143
8144         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8145         the size of the target instead of source if -1 was passed for
8146         width/height
8147
8148         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8149         width/height confusion.
8150
8151 2000-06-19  Havoc Pennington  <hp@redhat.com>
8152
8153         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8154         GDK_DRAWABLE_XID. In the future, we probably want to make it
8155         faster with G_DISABLE_CHECKS turned on.
8156
8157 2000-06-14  Havoc Pennington  <hp@redhat.com>
8158
8159         * gdk/Makefile.am: add gdkpixmap.c
8160
8161         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8162         s/gdk_image_init/_gdk_windowing_image_init
8163
8164         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8165         ref/unref
8166
8167         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8168
8169         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8170         GdkWindowType is now non-deprecated; 
8171         change gdk_window_get_type() compat to be
8172         gdk_window_get_window_type().
8173
8174         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8175
8176         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8177         virtual GObject. Make all functions call into the vtable.
8178         Move gdk_image_put() guts in here. Remove GdkDrawableType
8179         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8180         draw_image, get_depth, get_size, set_colormap, get_colormap,
8181         get_visual added to the vtable.
8182         
8183         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8184         GObject. Virtualize everything. 
8185         (gdk_gc_new_with_values): remove check for destroyed window,
8186         because now GdkWindow::create_gc will check this.
8187         (gdk_gc_set_values): New function to set GC values, this 
8188         was already implemented but wasn't in the header
8189
8190         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8191
8192         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8193         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8194         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8195         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8196         _gdk_windowing_window_init, rename gdk_image_init to
8197         _gdk_windowing_image_init.
8198         
8199         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8200         (gdk_draw_layout): Remove check for destroyed window, 
8201         because all the drawable methods already check it.
8202         
8203         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8204         Add gdkpixmap.c which contains implementation of GdkDrawable
8205         virtual table (by chaining to a platform-specific implementation
8206         object).
8207         
8208         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8209         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8210         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8211         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8212         GdkColormapPrivate. 
8213
8214         * gdk/gdktypes.h: #include <glib-object.h>
8215
8216         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8217         Move most functionality to platform-specific implementation
8218         object. GdkWindow itself now handles the backing store, then
8219         chains to the platform-specific implementation.
8220         (gdk_window_get_window_type): return GdkWindowType of the window.
8221         (gdk_window_peek_children): New routine, returns the children of 
8222         a GdkWindow
8223         (gdk_window_get_children): Was in X11-specific code and did 
8224         XQueryTree. Changed to simply return a copy of window->children; 
8225         so it can go in cross-platform code.
8226         
8227         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8228
8229         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8230         GdkColormap; just changed to use the new private data instead
8231         of casting to GdkColormapPrivate.
8232
8233         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8234         gdk_cursor_new().
8235
8236         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8237         (private data member in the GObject). 
8238         (xdnd_manager_source_filter): Function had broken 
8239         error handling, fix it (use gdk_error_trap_push).
8240
8241         * gdk/x11/gdkdrawable-x11.c: This file now implements
8242         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8243         base class is purely for the convenience of the X port,
8244         and not part of the interface to cross-platform GDK.
8245
8246         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8247         
8248         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8249         specific to X, and returned by the create_gc virtual method
8250         of GdkDrawableImplX11. 
8251         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8252         rather than gchar, this was also changed in the GdkGC vtable.
8253         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8254         mask is 0, return immediately, instead of checking every flag.
8255         This is faster, and keeps us from segfaulting if values is NULL
8256         and the mask contains some nonzero flags.
8257
8258         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8259         GdkWindow.
8260
8261         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8262         GdkWindowPrivate is gone.
8263
8264         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8265
8266         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8267         remove the image_put stuff that got transferred to GdkDrawable.
8268         
8269         * gdk/x11/gdkinput.c: renamings
8270
8271         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8272
8273         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8274
8275         * gdk/x11/gdkprivate-x11.h: indentation fixes
8276
8277         * gdk/x11/gdkproperty-x11.c: renamings
8278
8279         * gdk/x11/gdkselection-x11.c: renamings
8280
8281         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8282         implements the platform-specific "impl" object.
8283         Moved gdk_window_get_children to gdk/gdkwindow.c
8284
8285         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8286         that no longer exist. Add declaration of GdkGCX11 object here.
8287         Fix all the macros to still work. 
8288
8289         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8290         GdkDragContext from the boxed types since they are now GObjects.
8291
8292         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8293         moved xthickness/ythickness into the instance. GtkStyleClass
8294         functions are now in the standard vtable for GtkStyle, so you have
8295         to create a GObject subclass to write a theme engine.
8296         (gtk_style_copy): fixed a leaked PangoFontDescription
8297         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8298         can be the standard GObject function.
8299         
8300         * Throughout GTK:
8301         s/style->klass->[xy]thickness/style->[xy]thickness
8302         s/pango_layout_unref/g_object_unref/
8303
8304         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8305         
8306         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8307         accessing GDK internals.
8308
8309         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8310         accessing GDK internals.
8311
8312 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8313
8314         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8315
8316         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8317         problem by calculating event position relative to the trough
8318         rather than the slider.
8319         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8320
8321         * gdk/gdkgc.h: Add GDK_NOR.
8322
8323         * configure.in, Makefile.am: Add modules top level dir
8324         * configure.in: Only use pangox library if building x11 target.
8325         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8326
8327 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8328
8329         * gtk/gtkcolorsel.c: Change private class member to be named
8330         private_data throughout the file.
8331
8332         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8333         private_data to avoid clashing with keyword.
8334
8335 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8336
8337         * gdk/gdkdnd.h: Add comment to remove warning.
8338
8339 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8340
8341         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8342         Byelorussian language; changed the Makefile and file names 
8343         to reflect that.
8344
8345 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8346
8347         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8348         rather than gdk_window_hide; this makes things work
8349         correctly if the window is programmatically hidden while
8350         iconified.
8351
8352 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8353
8354         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8355         cut and paste typo where wrong pixmap was being
8356         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8357
8358 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8359
8360         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8361         Add helper function to compute format / bytes 
8362         relationship. Use in a couple places to fix up
8363         errors which assume 8 * format.
8364
8365         * gtk/gtkselection.c (gtk_selection_request): Use 32
8366         rather than 8 * sizeof (GdkAtom), to work correctly
8367         on Alpha.
8368
8369 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8370
8371         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8372         libgtk.la
8373         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8374         versions
8375
8376         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8377         checking macros return NULL since the function has a return value.
8378
8379 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8380
8381         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8382         GTK+ from building at all.
8383
8384         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8385
8386 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8387
8388         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8389         gtk/Makefile.am: make it possible to configure gtk for different
8390         targets on the same platform. The library name is now 
8391         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8392         flag. Only the x11 target compiles right now.
8393         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8394         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8395         * gdk/nanox/gdk*generic*: delete generic region code.
8396         * gdk/linux-fb/gdk*generic*: delete generic region code.
8397         * README.nanox: update information.
8398         
8399 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8400
8401         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8402         prepend not append. (Pointed out by Brett Hall.)
8403
8404 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8405
8406         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8407
8408 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8409
8410         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8411         need this later, and this makes sure that the atexit for
8412         glib gets called after that for GDK, so atexits are
8413         properly ordered for object leak checking.
8414
8415         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8416
8417         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8418         pango_x_shutdown_display()
8419
8420         * gtk/simple.c (main): Close window on destroy.
8421
8422 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8423
8424         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8425         to treat initial creation different from setting with 
8426         regards to the graphics-exposures parameter, so add a parameter
8427         indicating whether this is initial or not.
8428
8429 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8430
8431         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8432         to sort of work by adding an extra return_exposes arg
8433         to gdk_event_translate() - it might be better to simply
8434         deprecate the function altogether and force people to rewrite
8435         without it. gdk_window_scroll() handles most of it, and where
8436         gdk_window_scroll() doesn't work, simply redrawing more does.
8437
8438         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8439         assertion.
8440
8441         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8442
8443         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8444         bunch of pretty much useless /* Print debugging info */ comments 
8445         which had drifted away from the code they were commenting.
8446
8447 2000-06-02  Havoc Pennington  <hp@pobox.com>
8448
8449         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8450         is in working order.
8451         
8452         * gtk/testtext.c: Change to reflect anonymous mark API
8453
8454         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8455
8456         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8457         field, which was unused.
8458
8459         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8460         saves some typing.
8461
8462         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8463
8464         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8465         flag on the insertion point and selection bound
8466
8467         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8468         make mark-manipulation functions take a GtkTextMark* instead of a
8469         mark name.
8470         
8471         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8472         GtkTextMarkBody; will be used to detect attempts to delete
8473         the permanent marks (insert and selection bound)
8474
8475         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8476
8477 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8478
8479         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8480         flag to on.
8481
8482         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8483         Honor DOUBLE_BUFFRED_FLAG
8484
8485         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8486         function to set the DOUBLE_BUFFERED flag.
8487
8488         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8489         or not exposes done on the widget should be double-buffered.
8490
8491         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8492         to be what would be expected. (Fixes problem with a
8493         g_return_if_fail() validating a TextDirection enumeration)
8494
8495 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8496
8497         * gtk/gtkwidget.c: Remove all references to 
8498         offscreen flag which was no longer used.
8499
8500         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8501
8502         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8503         for non-null label_widget->parent.
8504
8505         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8506         which no longer was used.
8507
8508         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8509
8510         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8511         for null arguments.
8512
8513         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8514         check for destroyed windows.
8515
8516 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8517
8518         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8519         the slave context there.
8520
8521         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8522         identical to GtkWindow.
8523
8524 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8525
8526         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8527         pangox to here, so we can write them independent of rendering
8528         system, using GDK primitives.
8529
8530         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8531         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8532         since we have a rendering-system independent implementation in
8533         terms of draw_glyphs().
8534         
8535         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8536         function to render a single line.
8537
8538         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8539         into ../gdkpango.c, which simplifies things, since we
8540         don't have to deal with raw X gc's.
8541
8542 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8543
8544         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8545         get the logical attributes for a given GtkTextLine.
8546
8547 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8548
8549         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8550         g_locale_get_codeset() to g_get_codeset() change.
8551
8552 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8553
8554         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8555         descriptions.
8556
8557         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8558         the entry.
8559
8560         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8561         redoing (vastly simplifying) for Pango. Still needs quite
8562         a bit of work. (Size selection is currently poor. List of 
8563         predefined sizes is not a good idea, since all of these
8564         sizes won't necessarily be distinct.)
8565
8566 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8567
8568         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8569         CODESET results for LANG=C.
8570
8571 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8572
8573         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8574         which takes a stringized pango font description;
8575         ignore the older 'font' and 'fontset' declarations.
8576
8577         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8578         field with a GdkFont derived via gdk_font_from_description(),
8579         for compatibility. (Should we just remove it entirely?
8580         Probably too much compatibility breakage, but people
8581         should be migrating to the new Pango stuff as quickly
8582         as possible.)
8583
8584 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8585
8586         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8587
8588 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8589
8590         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8591         redoing; there are some bugs in size allocation right
8592         now, the semi-existant distinction between header / day
8593         fonts was removed, but, with Pango, could actually
8594         be made functional in a nice way.
8595         
8596         * gtk/testcalender: Move calender from examples into this
8597         directory as a test program. (We really need to restrcture
8598         testgtk into a whole directory full of tests for every
8599         widget or functionality group, separated into multiple .c
8600         files.)
8601
8602 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8603
8604         * gtk/testgtk.c (file_exists): Fix stupid typo that
8605         was keeping RC file from being loaded.
8606
8607         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8608         RC file font code.
8609
8610 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8611
8612         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8613         Add function to load a GdkFont from a PangoFontDescription.
8614
8615 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8616
8617         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8618         variable should be of type GdkEventPrivate.
8619
8620 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8621
8622         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8623         to have any widget for the label, use a GtkLabel widget
8624         to display the text. (Based partially on a patch from
8625         Anders Carlson.)
8626
8627         (Quite a bit of code reorganization - strip 90% of the
8628         guts out of gtkaspectframe and add a single virtual
8629         func to GtkFrameClass - compute_child_allocation.)
8630
8631 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8632
8633         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8634         (Removed clist->row_center_offset field because caching
8635         it wasn't saving time or code, added private function
8636         _gtk_clist_create_cell_layout()).
8637
8638 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8639
8640         * gtk/gtkaccellabel.c: Pangoized.
8641
8642         * gtk/[hv]ruler.c: Pangoized
8643
8644 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8645
8646         * gtk/gtkfilesel.c (gtk_file_selection_init):
8647         Use gtk_clist_set_column_auto_resize() to remove need
8648         need for manual column width computations.
8649
8650 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8651
8652         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8653         ensuring Pango correctness, and considerably simplifying the
8654         code.
8655         
8656         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8657
8658         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8659         getting of numbers of lines.
8660
8661         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8662         to the actual requested width of the lable, not to the wrap
8663         width we set.
8664
8665         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8666
8667         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8668           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8669
8670         * gtk/gtktextview.c: Fix structure inheritance.
8671
8672         * gtk/gtkprogressbar.c: Pangoize.
8673
8674 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8675
8676         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8677         in a function.
8678
8679         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8680         bug with computing line tops.
8681
8682         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8683
8684 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8685
8686         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8687         and y_offset coordinates to do what we need now. (The offset between
8688         buffer and layout coordinates has been reintroduced, but is a 
8689         bit different than before.)
8690
8691         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8692         handle the adjustments ourselves, and scroll as necessary using
8693         the new gdk_window_scroll().
8694         
8695         The advantage of this is that when we are incrementally revalidating,
8696         we are essentially rearranging things around the visible portion
8697         of the screen. With the old setup, the visible portion of the
8698         screen was moved around in the layout, so scrolling and redrawing
8699         to track that caused jumping of the display. Since we now
8700         control the scrolling ourselves, we can suppress this and
8701         only redraw when things actually change.
8702
8703 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8704
8705         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8706         the region not just redisplay it after-all, since we store the
8707         cursors in the LineDisplay. (Ugly interactions here between
8708         GtkLayout and GtkTextBTree here.)
8709         
8710         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8711
8712 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8713
8714         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8715         Added function to scroll contents of a window while keeping the
8716         window constant. Works by XCopyArea or guffaw-scrolling depending
8717         on the details of how the window is set up. (guffaw-scrolling
8718         still needs to be filled in.)
8719
8720 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8721
8722         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8723         move the debugging that was tied to a global variable
8724         to that.
8725
8726         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8727
8728         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8729         validated flag, in line data instead of setting height/width to
8730         -1. This allows us to perform operations with partially invalid
8731         buffer (using the old size for invalid lines) and thus to do
8732         incremental vaidation. Keep height/width aggregates up to date
8733         when deleting text and rebalancing the tree.
8734
8735         * gtk/gtktextbtree.[ch]: Add functions validate a line
8736         (gtk_text_btree_validate_line), and to validate up
8737         to a number of pixels (gtk_text_btree_validate).
8738
8739         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8740         that indicates that something is changed and a revalidation
8741         pass is needed. Change ::need_repaint to ::changed, and
8742         make it take old and new yranges instead of a rectangle.
8743
8744         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8745         the line_data_destroy() function from 
8746         gtk_text_btree_add_view() to a virtual function in 
8747         GtkTextLayout
8748
8749         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8750         since we are handling partial repaints in a different fashion
8751         now.
8752
8753         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8754         of the selection instead of queueing a repaint on the
8755         entire widget.
8756
8757         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8758         get_selection_bounds() down to btree, make the function
8759         in buffer a wrapper around the btree function.
8760
8761         * gtk/gtktextlayout.[ch]: Add functions to check if the
8762         layout is valid and to recompute either a range of pixels
8763         aroudn a line or a certain total number of pixels.
8764
8765         * gtk/gtktextlayout.[ch]: Cache a single line display;
8766         now that we only redraw the needed portions, the hit rate
8767         for this cache is quite high.
8768         
8769         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8770         on the screen so that when re-laying-out the buffer, we can
8771         keep the same place. This requires connecting to ::value_changed
8772         on the adjustments
8773
8774         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8775         the buffer after we receive an ::invalidated signal.
8776         
8777 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8778
8779         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8780         to max of allocation and layout size, not just to the
8781         layout size.
8782
8783         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8784         Invalidate window so it gets redrawn properly.
8785
8786         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8787         to mean the entire window.
8788
8789         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8790         into public header.
8791
8792 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8793
8794         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8795         to get the name of a mark.
8796
8797         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8798         to find the paragraph from a y position.
8799
8800 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8801
8802         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8803         nodes have width/height >= 0, not > 0.
8804
8805 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8806
8807         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8808         Add a size_only flag, so when we only need the size, we don't create
8809         useless appearance attributes.
8810
8811         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8812         duplicate setting of font description.
8813
8814         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8815
8816 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8817
8818         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8819         EXTRA_DIST. It does not work well when the file that
8820         everything depends on is not in the tarball.
8821
8822 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8823
8824         * gtk/testgtk.c: Some hacks and fixes so that it basically
8825         works when not sitting in the GTK+ build tree.
8826
8827 2000-05-03  Havoc Pennington  <hp@redhat.com>
8828
8829         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8830         Properly determine the ordering of the tag root and the current
8831         line within the tree. Previous algorithm only worked if the tag
8832         root's immediate parent was the common root of both the current
8833         line and the tag root.
8834
8835 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8836
8837         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8838         alignment.
8839
8840         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8841         the widget text directional dynamically.
8842
8843         * gtk/gtktextview.[ch]: Added functions to get and set default
8844         wrap mode.
8845
8846 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8847
8848         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8849         in cursor location computation.
8850
8851 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8852
8853         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8854         vadjusment values properly when layout gets smaller.
8855
8856         * gtk/gtktextview.c (need_repaint_handler): Areas being
8857         passed in are far completely inaccurate, and sometimes
8858         too small, so, for now, just queue a redraw on the
8859         whole visible region.
8860
8861 2000-04-25  Havoc Pennington  <hp@redhat.com>
8862
8863         * gtk/gtktextbtree.c (summary_destroy): new function to 
8864         destroy tag summary nodes
8865         (gtk_text_line_next_could_contain_tag): this function was 
8866         totally broken if the line passed in wasn't below the tag
8867         root. Fix it.
8868         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8869         "wildcard" case, we have to do a linear scan. Blah.
8870         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8871         we have to do the linear scan
8872         (tag_removed_cb): When a tag is removed from the tag table, 
8873         remove the GtkTextTagInfo node from the btree.
8874         (gtk_text_btree_spew): Implement the spew function, for 
8875         our debugging pleasure.
8876
8877 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8878
8879         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8880         a problem with referring to the wrong buffer.
8881
8882         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8883
8884         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8885         font description to gtk_style_new() - otherwise things
8886         don't work without a .gtkrc file.
8887
8888         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8889         tags table if we create it ourself, too.
8890
8891         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8892         it was conflicting with XKB modifiers.
8893
8894         * gtk/gtktextview.[ch]: Add simple support for 
8895         GtkIMContext.
8896
8897 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8898
8899         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8900         with deletion from last commit.
8901
8902 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8903
8904         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8905         in the context from the current locale.
8906         
8907         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8908         context, not hardcoded value.
8909
8910         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8911         not logical.
8912
8913 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8914
8915         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8916         attributes - that doesn't handle partial-glyph selection
8917         properly. Instead use new pango_layout_line_get_x_ranges()
8918         functionality to draw the selection.
8919
8920         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8921         now properly handles out-of-range coordinates.
8922
8923         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8924
8925         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8926         public.
8927
8928         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8929         for paragraphs opposite to the base direction of the widget.
8930
8931         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8932
8933         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8934         causes Arabic words to reshape as you cursor through.
8935
8936         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8937         cursor position when moving vertically with the arrow keys and
8938         scrolling with page-up/page-down. (Arrow keys save only the X,
8939         scrolling saves both X and Y.)
8940
8941         This means you can line-up / line-down or page-up / page-down
8942         without losing your place, and also that moving vertically
8943         with the cursor keys keeps the same X position, not the same
8944         character count:
8945
8946         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8947         arrow keys move by display lines, not paragraphs.
8948
8949 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8950
8951         * gtk/gtklayout.c: Make sure that the bin window is at least
8952         as big as the allocation. (Should we also make sure that the
8953         bin window is big enough to completely cover widget->window?)
8954
8955         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8956         function to get the onscreen rectangle.
8957
8958         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8959         for offsets in window coordinates.
8960
8961 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8962
8963         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8964         confusion.
8965
8966         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8967         from the widget direction.
8968
8969         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8970         Add a "direction" attribute.
8971
8972         * gtk/gtktextview.c: global s/tkxt/text_view/.
8973
8974         * gtk/testtext.c: Added long block of text in Arabic, to test out
8975         the direction attributes. (Some problems with the shaping system
8976         for arabic become obvious - like the fact the cursor splits words
8977         into unjoined pieces.)
8978
8979 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8980
8981         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8982
8983         * gtk/gtktextlayout.c: Fix up alignment.
8984
8985         * gtk/testtext.c: Add some tests for centering, wrapping.
8986
8987 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8988
8989         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8990         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8991         If we wrote GTK+-specific layout-render function this could just replace
8992         the draw_layout() operation in the vtable.
8993
8994         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8995         pango_layout_get_cursor_pos() and use that function.
8996
8997         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8998         is a non-static symbol.
8999
9000         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9001         with gtk_text_btree_find_line_by_y()
9002
9003         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9004         renderer that handles GtkTextAppearance attributes.
9005
9006         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9007
9008           - Move the values in the style that don't affect geometry into a
9009             GtkTextAppearance structure.
9010           - Change underline to take a PangoUnderline and "font" a string
9011             representation of a font description
9012           - Add a "font_desc" attribute which takes a FontDescription structure.
9013
9014         * gtk/gtktextlayout.[ch]:
9015
9016           - Get rid of the display-line list per each line. Instead, we
9017             generate, on demand, a GtkTextLineDisplay structure which]
9018             contains a PangoLayout * and other necesary information
9019             (offsets, cursor locations) for displaying a paragraph.
9020           - Get rid of the code to wrap lines, create display chunks,
9021             etc. Instead, we just go through a paragraph and convert
9022             it into the necessary inputs to a PangoLayout.
9023           - Implement a new attribute type, GtkTextAttrAppearance. This
9024             holds a GtkTextAppearance, and is used to pass colors, 
9025             stipple, etc, through from the layout to the display without
9026             having to use lots and lots of individual attributes.
9027           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9028             in terms of PangoLayout functions.
9029         
9030         * gtk/gtktextview.c: 
9031          
9032           - Handle passing the necessary PangoContext to the layout
9033           - Some fixups in painting to deal with the automatic backing store
9034             and offsetting of GTK+-1.4
9035           - Add a style_set handler so that the default style reacts
9036             properly to theme changes.
9037         
9038         * gtk/gtktext?*.[ch]: Random code-style fixes.
9039
9040         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9041
9042 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9043
9044         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9045         in original form preparatory to Pango-ization and gdkimcontext-ization.
9046
9047 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9048
9049         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9050         so that we can derive from gtkimcontext in language bindings properly.
9051
9052 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9053
9054         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9055         Add a compose table including (almost) all the compose combinations
9056         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9057         data in the XIM implementation.
9058
9059         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9060         Moved functions to convert keyvalues from and to unicode here from
9061         the win32 port and made them public.
9062
9063 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9064
9065         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9066
9067 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9068
9069         * gtk/gtkimcontext.[ch]: Base class for new input context system
9070
9071         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9072         the real input context implementation to be loaded from modules
9073         and switched on the fly.
9074
9075         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9076         context that just does direct keysymbol => unicode translation.
9077
9078         * gtk/gtkentry.[ch]: Start switching editing over to using
9079         GtkInputContext. (No handling of preedit yet.)
9080
9081 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9082
9083         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9084         many substitutions. (klass should not be subsituted.)
9085
9086 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9087
9088         * configure.in: Add checks for Pango
9089
9090         * configure.in docs/Makefile.am: Add test for sgml2html
9091         and allow 'make dist' without building html, but print out
9092         warnings in that case. (For making snapshots)
9093
9094         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9095         Add Pango libraries and C flags
9096
9097         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9098         Add function (gdk_draw_layout) to draw a pango layout.
9099
9100         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9101         for getting Pango contexts for GDK.
9102
9103         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9104
9105         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9106         editing.
9107
9108         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9109         keysym => unicode translations. More languages can be added
9110         here, but real input-method support is needed.
9111
9112         * docs/Changes-1.4.txt: Added note about entry behavior.
9113         
9114         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9115         to set the reading direction for a widget and the global direction.
9116         Add test which allows toggling the global direction. Two private
9117         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9118
9119         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9120           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9121
9122         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9123
9124         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9125         underlining now handled by Pango.
9126
9127         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9128         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9129         is temporary.)
9130
9131         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9132         convenience functions for creating contexts and layouts for widgets.
9133
9134         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9135
9136 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9137
9138         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9139         titles to be active, even if they aren't visible.
9140         (gtk_clist_column_titles_passive):  Ditto.
9141
9142 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9143
9144         * gtkmenu.c:
9145         * gtkmenu.h:
9146         * gtktypeutils.h: Spelling/grammar fixes in comments.
9147
9148 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9149
9150         * gdk/nanox/*.h: add missing header files.
9151
9152 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9153
9154         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9155         send_event to TRUE.
9156         (gtk_drawing_area_size): queue a resize.
9157
9158 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9159
9160         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9161         the handlers, also invalidate them. bug nailed down by Karl Nelson
9162         <kenelson@ece.ucdavis.edu>.
9163
9164 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9165
9166         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9167         "(nil)" foundries, patch from Grigorios Magklis.
9168
9169         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9170         on non-available fonts, based on a patch by Grigorios Magklis
9171         <maglis@cs.rochester.edu>.
9172
9173 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9174
9175         * gdk/x11/gdkregion-generic.c: If a region does not have any
9176         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9177         instead of GDK_OVERLAP_RECTANGLE_IN.
9178
9179 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9180
9181         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9182         OFFSCREEN, as it is no longer necessary.
9183
9184 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9185
9186         * gtk/gtkcolorsel.c: Patch from David Santiago
9187         <mrcooger@cyberverse.com> to change things so that the 
9188         indicator of the active palette entry is done independently,
9189         not via the focus, since it should always be visible.
9190
9191 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9192
9193         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9194         refcount leaks as in the X11 backend.
9195
9196         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9197         cosmetics.
9198
9199         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9200         backend. Add _gdk_windowing_window_destroy().
9201
9202         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9203         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9204         either, but these probably do exist on nanox?)
9205         
9206         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9207         which isn't necessarily defined by <math.h>.
9208
9209         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9210         ancestry past GtkObject.
9211
9212         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9213         from DLL on Win32.
9214
9215         * gtk/gtk.def: Update corresponding to recent changes.
9216
9217         * gtk/makefile.{cygwin,msc}: Updates.
9218
9219 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9220
9221         * docs/Changes-1.4.txt: A bit of editing.
9222
9223         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9224         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9225         to clear the update area for the window, and clear it
9226         when hiding a window.
9227
9228         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9229         if window destroyed.
9230
9231         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9232
9233         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9234         gdk_window_destroy() to the generic code, since there was a lot of 
9235         window-system-independent logic it in. Add a function:
9236         
9237          _gdk_window_destroy() 
9238
9239         to the internal API to destroy a window without unreferencing it.
9240         Add a function:
9241
9242          _gdk_windowing_window_destroy()
9243
9244         That does the windowing-system-dependent part of destroying 
9245         the window.
9246
9247 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9248
9249         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9250
9251 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9252
9253         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9254         Make gtk_widget_shape_combine_mask() keep a reference count on
9255         the pixmap since it keeps it around.
9256
9257 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9258
9259         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9260         leak.
9261
9262         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9263         leak with event filters.
9264
9265 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9266
9267         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9268         signal handlers with the right data arguments. (Fixes
9269         some warnings when a widget was repeatedly set as a drag
9270         destination.)
9271
9272         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9273         window so we can avoid avoid setting the DND properties on the
9274         toplevel window repeatedly.
9275
9276 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9277
9278         * gdk/win32/gdkwin32.h: Define more message types missing from
9279         mingw headers.
9280
9281         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9282         call gdk_window_destroy_notify(). It was never called. This
9283         probably meant that the GdkWindow was never freed. Thanks Owen for
9284         noticing (!).
9285
9286         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9287         window as destroyed before calling DestroyWindow(). DestroyWindow()
9288         causes a call to the window procedure (gdk_WindowProc), which
9289         calls gdk_event_translate(), which calls
9290         gdk_window_destroy_notify(), which gets confused unless the window
9291         is set as destroyed.
9292
9293         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9294         this function to indicate it's win32 only. Put inside #ifdef
9295         G_ENABLE_DEBUG.
9296
9297         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9298         debugging function. (gdk_event_translate:) Add a default branch
9299         that uses the above function to print debug messages with all
9300         Windows messages symbolically.
9301
9302         * gdk/win32/gdkprivate-win32.h: Declare it, and
9303         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9304
9305 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9306
9307         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9308         public header file.
9309
9310 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9311
9312         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9313
9314         * gtk/gtktext.c: made the adjustments no-construct args, simply
9315         provide default adjustments.
9316         (gtk_text_destroy): release adjustments.
9317
9318         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9319         adjustment argument non-construct.
9320
9321         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9322         instead of in finalize.
9323         (gtk_progress_get_text_from_value): 
9324         (gtk_progress_get_current_text): 
9325         (gtk_progress_set_value): 
9326         (gtk_progress_get_percentage_from_value): 
9327         (gtk_progress_get_current_percentage): 
9328         (gtk_progress_set_percentage): 
9329         (gtk_progress_configure): ensure an adjustment is present.
9330
9331 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9332
9333         * gtk/gtkcolorsel.[hc]:
9334         * gtk/gtkcolorseldialog.[hc]:
9335         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9336         their parent implementation, use bit fields for boolean values, don't
9337         create unused widgets, usage of glib types, braces go on their own
9338         lines, function argument alignment, #include directives etc. etc. etc..
9339
9340         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9341
9342 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9343
9344         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9345
9346         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9347         of NULL.
9348
9349         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9350         to freed data.
9351         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9352
9353         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9354         to NULL when the toplevel is getting destroyed.
9355         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9356         (gtk_menu_destroy): 
9357         (gtk_menu_init): store the information of whether we have to
9358         readd the initial child ref_count during destruction in a new
9359         GtkMenu field needs_destruction_ref_count.
9360
9361         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9362         here, those reading: learn from my mistake! ;)
9363         in order for set_?adjustment to support a default adjustemnt if
9364         invoked with an adjustment pointer of NULL, the code read (pseudo):
9365         if (v->adjustment) unref (v->adjustment);
9366         if (!adjustment) adjustment = adjustment_new ();
9367         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9368         now imagine the first unref to actually free the old adjustment and
9369         adjustment_new() creating a new adjustment from the very same memory
9370         portion. here, the latter comparision will unintendedly fail, and
9371         all hell breaks loose.
9372         (gtk_viewport_set_hadjustment):
9373         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9374         after unreferencing it.
9375
9376         * gtk/gtkcontainer.[hc]: removed toplevel registration
9377         functions: gtk_container_register_toplevel(),
9378         gtk_container_unregister_toplevel() and
9379         gtk_container_get_toplevels() which had wrong semantics
9380         anyways: it didn't reference and copy the list.
9381
9382         * gtk/gtkwindow.c: we take over the container toplevel registration
9383         bussiness now. windows are registered across multiple destructions,
9384         untill they are finalized. the initial implicit reference count
9385         users are holding on windows is removed with the first destruction
9386         though.
9387         (gtk_window_init): ref & sink and set has_user_ref_count, got
9388         rid of gtk_container_register_toplevel() call. add window to
9389         toplevel_list.
9390         (gtk_window_destroy): unref the window if has_user_ref_count
9391         is still set, got rid of call to
9392         gtk_container_unregister_toplevel().
9393         (gtk_window_finalize): remove window from toplevel list.
9394         (gtk_window_list_toplevels): new function to return a newly
9395         created list with referenced toplevels.
9396         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9397
9398         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9399         adjustment a non-construct arg.
9400         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9401         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9402         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9403
9404         * gtk/gtkrange.c: added some realized checks.
9405         (gtk_range_destroy): get rid of the h/v adjustments in the
9406         destroy handler instead of finalize. remove timer.
9407         (gtk_range_get_adjustment): demand create adjustment.
9408
9409         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9410         we simply create them on demand now and get rid of them in
9411         the destroy handler.
9412         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9413         destroy handler instead of finalize.
9414         (gtk_viewport_get_hadjustment): 
9415         (gtk_viewport_get_vadjustment): 
9416         (gtk_viewport_size_allocate): demand create h/v adjustment
9417         if required.
9418
9419         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9420         gtk_widget_real_destroy () functionality.
9421         (gtk_widget_real_destroy): reinitialize with a new style, instead
9422         of setting widget->style to NULL.
9423
9424 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9425
9426         * gtk/gtkcalendar.c:
9427         * gtk/gtkbutton.c: ported _get_type() implementation over to
9428         GType, either to preserve memchunks allocation facilities,
9429         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9430
9431         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9432         over. prepare for ::destroy to be emitted multiple times.
9433         removed reference tracer magic. chain into GObjectClass.shutdown()
9434         to emit ::destroy signal.
9435
9436         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9437         fundamental.
9438
9439         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9440         cludge.
9441
9442         * gtk/gtksocket.c:
9443         * gtk/gtkplug.c:
9444         * gtk/gtklayout.c:
9445         * gtk/gtklabel.c:
9446         * gtk/gtkargcollector.c:
9447         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9448         not being a fundamental anymore, and to work with the new
9449         type system (nuked fundamental type varargs clutter).
9450
9451         * gtk/*.c: install finalize handlers in the GObjectClass
9452         part of the class structure.
9453         changed direct GTK_OBJECT()->klass accesses to
9454         GTK_*_GET_CLASS().
9455         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9456
9457         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9458         GType. made most of the GTK_*() type macros and Gtk* typedefs
9459         simple wrappers around macros and types provided by GType.
9460         most notably, a significant portion of the old API vanished:
9461         GTK_TYPE_MAKE(),
9462         GTK_TYPE_SEQNO(),
9463         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9464         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9465         GTK_TYPE_ARGS,
9466         GTK_TYPE_CALLBACK,
9467         GTK_TYPE_C_CALLBACK,
9468         GTK_TYPE_FOREIGN,
9469         GtkTypeQuery,
9470         gtk_type_query(),
9471         gtk_type_set_varargs_type(),
9472         gtk_type_get_varargs_type(),
9473         gtk_type_check_object_cast(),
9474         gtk_type_check_class_cast(),
9475         gtk_type_describe_tree(),
9476         gtk_type_describe_heritage(),
9477         gtk_type_free(),
9478         gtk_type_children_types(),
9479         gtk_type_set_chunk_alloc(),
9480         gtk_type_register_enum(),
9481         gtk_type_register_flags(),
9482         gtk_type_parent_class().
9483         replacements, where available are described in ../docs/Changes-1.4.txt.
9484         implemented compatibility functions for the remaining API.
9485
9486         * configure.in: depend on glib 1.3.1, use gobject module.
9487
9488 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9489
9490         * TODO.xml: Various updates to current status.
9491
9492 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9493
9494         * gtk.m4: Print out version when test succeeds.
9495
9496 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9497
9498         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9499         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9500         
9501         (Original triangle color selector from Simon Budig
9502         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9503         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9504         Santiago <mrcooger@cyberverse.com>)
9505
9506         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9507         out into a separate widget.
9508
9509         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9510         and opacity controls.
9511
9512 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9513
9514         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9515         snuck in prematurely.
9516
9517 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9518
9519         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9520         had deleted a ! operator by mistake, which caused
9521         GDK_SELECTION_CLEAR events never to be generated, which caused
9522         only the first copy to the clipboard from an gtkeditable to
9523         actually cause a copy to the Windows clipboard.
9524
9525 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9526
9527         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9528         compilation, too. Current mingw gcc distributions include the
9529         necessary headers. Also the necessary IIDs are now in mingw
9530         headers/libraries, and own definitions unnecessary.
9531
9532         More hacking on OLE2 DND, still doesn't work though, and thus
9533         ifdeffed out.
9534
9535         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9536         here, too.
9537
9538 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9539
9540         * gdk/nanox/*: nano-X port work in progress.
9541         * gdk/simple.c: simple test for Gdk.
9542         * README.nanox: notes about the port: read this first!
9543         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9544         with nano-X.
9545
9546 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9547
9548         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9549         gdk_window_clear() into common code, implement in terms of
9550         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9551         not redirected to the backing rectangle.
9552
9553 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9554
9555         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9556         EXTRA_DIST. It does not work well when the file that
9557         everything depends on is not in the tarball.
9558
9559 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9560
9561         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9562         with recursion where process_updates() is called from
9563         an expose handler. (GtkTextView is highly broken in
9564         doing this, but it should work, so it is a nice test
9565         case.)
9566
9567 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9568
9569         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9570         handle the case where updates are queued during processing of
9571         updates.
9572
9573 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9574
9575         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9576         window is on gdk_display - use that instead of segfaulting.
9577
9578 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9579
9580         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9581         broken and require an empty arg, give it to them.
9582
9583 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9584
9585         * gtk/gtklabel.h: indentation fixes.
9586
9587 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9588
9589         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9590         draw too narrow or too low arcs, they seem to fail, at least with
9591         some display drivers.
9592
9593         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9594
9595         Large changes to the Win32 backend, partially made necessary by
9596         the changes to the backend-independent internal
9597         structures. Attempts to implement similar backing store stuff as
9598         on X11. The current (CVS) version of the Win32 backend is *not* as
9599         stable as it was before the no-flicker branch was merged. A
9600         zipfile with that version is available from
9601         http://www.gimp.org/win32/. That should be use by "production"
9602         code until this CVS version is usable. (But note, the Win32
9603         backend has never been claimed to be "production quality".)
9604
9605         * README.win32: Add the above comment about versions.
9606
9607         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9608
9609         * gdk/gdk.def: Update.
9610
9611         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9612         presumably be replaced by some more better mechanism as 1.4 gets
9613         closer to release shape.
9614
9615         * gdk/makefile.{cygwin,msc}: Update.
9616
9617         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9618         internal headers. Change code according to changes in these. Use
9619         gdk_drawable_*, not gdk_window_* where necessary.
9620
9621         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9622         our old DND.
9623
9624         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9625         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9626         Use correct function name in warning messages.
9627
9628         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9629         GSourceFuncs gdk_event_prepare and gdk_event_check.
9630         (gdk_event_get_graphics_expose): Do implement, use
9631         PeekMessage. Thanks to Hans Breuer.
9632         (event_mask_string): Debugging function to print an GdkEventMask.
9633         (gdk_pointer_grab): Use it.
9634
9635         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9636         (old) book I used claimed was Hangul actually is CJK Unified
9637         Ideographs Extension A. Also, Hangul Syllables were missing.
9638         Improve logging.
9639
9640         * gdk/win32/gdkgc-win32.c: Largish changes.
9641
9642         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9643         g_win32_getlocale() from GLib, and not setlocale() to get current
9644         locale name.
9645
9646         * gdk/win32/gdkprivate-win32.h
9647         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9648         gdkwin32.h, similarily as in the X11 backend.
9649
9650         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9651         assignment was used instead of equals in if test. Thanks to Hans
9652         Breuer.
9653
9654         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9655         the X11 version.
9656
9657         * gdk/win32/makefile.{cygwin,msc}
9658         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9659         path to the Win32 headers that works also with the mingw compiler.
9660
9661         * gtk/gtkstyle.c: Include <string.h>.
9662
9663 2000-04-26  Havoc Pennington  <hp@redhat.com>
9664
9665         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9666         replacing the broken gtk_label_get ()
9667
9668 2000-04-15  Havoc Pennington  <hp@pobox.com>
9669
9670         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9671         this keeps scanner scripts from getting confused.
9672
9673         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9674         data, rather than void
9675
9676 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9677
9678         * gtk/gtkclist.c (gtk_clist_motion)
9679         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9680         with is_hint FALSE, get x and y from the event. They used to be
9681         used uninitialised. The Win32 backend never sends motion events
9682         marked as hints. This for instance fixes the annoying file and
9683         font selector behaviour in the Win32 version.
9684
9685 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9686
9687         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9688         gtk_private_n_signals variables, they are used by some software,
9689         sigh.
9690
9691         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9692         installation directory from the Registry, where the installer
9693         should have put it.
9694
9695 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9696
9697         * gdk/x11/Makefile.am: Fix problem with installation directory for
9698         gdkx.h
9699
9700         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9701         <mrcooger@cyberverse.com> so that when selecting menus with the
9702         mouse, the first item will not be selected, but when selecting
9703         with an accelerator, or navigating left-right on a menubar with
9704         the menus popped up, the first item will be selected.
9705
9706 2000-04-05  Dan Damian  <dand@dnttm.ro>
9707
9708         * configure.in: Added "ro" to ALL_LINGUAS.
9709
9710 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9711
9712         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9713         indentation.
9714
9715         * Makefile.am (EXTRA_DIST): Fix typo.
9716
9717         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9718         to catch gdkconfig.h
9719
9720         * gtk/gtkitemfactory.c: Added FIXME.
9721
9722 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9723
9724         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9725         s/return_if_fail/return_val_if_fail/g and add a return value.
9726
9727 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9728
9729         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9730         merge slipup.
9731
9732         * gdk/gdkinput.h: Fix missing line from merge.
9733
9734 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9735
9736         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9737         instead of gdkprivate.h.
9738
9739 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9740
9741         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9742         parent class to correctly be GtkDialogClass.
9743
9744 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9745
9746         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9747         toplevel windows and their immediate children by their parents,
9748         since the size of toplevel windows is out of our immediate
9749         control and we don't get any real benefit from trying to track
9750         this size for clipping.
9751
9752         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9753         for input_only windows.
9754
9755         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9756         to fix some hacks and make sure that we don't try to set the
9757         background of input only windows.
9758
9759 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9760
9761         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9762         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9763         stuff that we've traditionally exposed.
9764
9765         * gdk/**.c: Use gdkinternals.h where appropriate.
9766
9767         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9768         not include gdkprivate-x11.h, move all stuff of conceivable public
9769         interest into gdkx.h; keep all really private stuff in
9770         uninstalled header gdkprivate-x11.h.
9771
9772         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9773         image->image_put on windows through a new function _gdk_window_draw_image()
9774         to allow us to do backing store for images. (Sort of ugly)
9775
9776         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9777         contexts locally so that we can offset them properly when drawing 
9778         onto backing pixmaps.
9779
9780         * gdk/gdkinput.h: Reindented
9781
9782         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9783         pixmap or color for the window, so we can properly initialize
9784         our double-buffer pixmaps, and also so that we temporarily set
9785         a background of None while scrolling.
9786
9787         * gdk/gdkregion.h: Revise region boolean operators to have an
9788         interface that is actually convenient - switch from creating new
9789         regions on every op, to "methods" that modify existing regions
9790         (A = A OP B). 3 argument forms which allow dest == src, would also
9791         be possible, but the current interfaces seem to map nicely
9792         onto what needs to be done. (There is quite a lot of region
9793         code in GDK now.)
9794
9795         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9796         operator.
9797
9798         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9799         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9800         to 32 bit coordinates, modify it to be mostly GTK+ style
9801         and to have interfaces that match gdkregion.h.
9802
9803         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9804         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9805         create a backing pixmap and redirect all drawing to
9806         that backing pixmap until a matching gdk_window_end_paint().
9807
9808         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9809         Create a special drawable class for GtkWindow's that 
9810         redirects the drawing to the backing pixmap as necessary
9811         and then calls the real operations in _gdk_windowing_window_class.
9812
9813         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9814         Store invalid region for each window. Generate expose events for invalid
9815         region in an idle. This replaces both the expose compression
9816         and the redrawing queuing in GTK+. It is both more efficient and
9817         simpler than either one individually and far more so then the
9818         combination.
9819
9820         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9821         Emulate 32 bit coordinates for windows with 16 bit coordinates
9822         by offsetting drawing, guffaw scrolling techniques and
9823         mapping/unmapping child windows as necessary.
9824
9825         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9826         where, when invalid regions are processed, the region is stored,
9827         and if expose events come in that are detectably duplicate
9828         the processed exposes (by comparison of event serial numbers),
9829         the stored region is subtracted out of those exposes.
9830
9831         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9832         regions newly exposed when scrolling or resizing windows.
9833         This, combined with forcing processesing of queued invalidated
9834         regions, gives nice flicker-free scrolling.
9835
9836         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9837         invalidated regions after every scroll.
9838
9839         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9840         emulation in GDK. Its, for all practical purposes just a
9841         GtkViewport/GtkFixed hybrid now.
9842
9843         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9844         (16-bit) structures as necessary instead of just casting.
9845
9846         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9847         in terms of the structures from gdkregion-generic.c, using appropriate
9848         offsets from GDK to X11 coordinates. Cache clip mask and
9849         origin and ts origin locally and only flush to the server
9850         when drawing, to avoid constantly setting and resetting these
9851         values when offsetting GC's for scrolling and backing pixmaps.
9852
9853         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9854
9855         * gtk/gtkcontainer.c: Call process_all_updates at end
9856         of resizing to reduce flicker. (Avoids having redraw
9857         lag arbitrarily behind resize under some circumstances)
9858
9859         * gtk/gtkentry.c: Remove old backing store code, and simply take
9860         advantage of the new backing store capabilities of GDK.
9861
9862         * gtk/gtkmain.c: Simple implementation of widget backing
9863         store - simply push a paint while handling each expose.
9864         (Should really be configurable widget for widget.)
9865         
9866         * gtk/gtkwidget.c: Remove all the old complicated redraw
9867         code, and simply invalidate the GDK windows from
9868         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9869         debugged complexity ... gone to the winds.)
9870
9871         Remove all the code for suppressing expose events while
9872         resizes are pending; this isn't needed since the invalid
9873         areas won't be processed until after the resizes are
9874         processed, since they are in a lower priority idle.
9875
9876 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9877
9878         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9879         and height of dest rectangle for non-intersecting rectangles.
9880
9881 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9882
9883         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9884         for GdkRectangle.
9885
9886 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9887
9888         * gdk/gdk{events,image,private,types,window}.h
9889          gdk/x11/gdkinputprivate.h: Change all coordinates
9890          from int16 to int. Also, Change width and height from
9891          unsigned to signed to avoid all the stupid C 
9892          signedness bugs.
9893
9894 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9895
9896         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9897         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9898         Add some more detailed checking.
9899
9900         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9901         New function to retrieve the depth of a drawable.
9902
9903         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9904         field, reorder fields to save memory. 
9905
9906 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9907
9908         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9909         of the background image instead of scaling the background down to
9910         a line.
9911
9912         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9913         which temporarily set slider to wrong size.
9914
9915         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9916         queue_clear().
9917
9918 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9919
9920 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9921
9922         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9923
9924 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9925
9926         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9927         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9928
9929         * gdk/win32/gdkfont-win32.c
9930         * gdk/win32/gdkproperty-win32.c
9931         * gdk/win32/gdkselection-win32.c
9932         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9933         now declared such.
9934
9935 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9936
9937         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9938
9939 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9940
9941         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9942         is called without trapping X errors.
9943
9944 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9945
9946         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9947         way into the fontset lists.
9948
9949 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9950
9951         * gtk/gtkthemes.h: add extern "C" scope.
9952
9953 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9954
9955         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9956         to make appends to the list constant. (gtk-guy-990901-0.patch)
9957
9958 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9959
9960         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9961         for the typename hash table.
9962
9963 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9964
9965         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9966         to make sure we never divide by zero. 
9967         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9968
9969 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9970
9971         * gtk/gtkfontsel.c: Apply patch from
9972         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9973         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9974
9975         Also, some cleanups in atom handling.
9976
9977 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9978
9979         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9980         not GtkWidget.
9981
9982 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9983
9984         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9985         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9986         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9987         more guint wrap-around bugs before going to bed.
9988
9989 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9990
9991         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9992         guint wrap arounds in allocation.width.
9993
9994         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9995         process untill we fit the allocation given.
9996
9997 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9998
9999         * gtk/gtkwidget.c:
10000         (gtk_widget_unrealize): guard widget access with ref/unref
10001         around signal emission.
10002         (gtk_widget_hide): same here, but also check its destroyed
10003         state before queueing a resize.
10004
10005 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10006
10007         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10008         of gtk_default_insensitive_bg as insensitive base color.
10009
10010         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10011         to the widget's state.
10012         (gtk_text_realize): same here.
10013         (gtk_text_state_changed): same here.
10014         (draw_bg_rect): compare background color against base[] from
10015         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10016
10017 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10018
10019         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10020         grabs are active, unless a delete event is send to the toplevel
10021         of the currently grab holding widget.
10022
10023 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10024
10025         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10026         debugging g_print's.
10027
10028 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10029
10030         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10031         ever make the scrolled-window requisition ever depend on the 
10032         visibility state of the scrollbars for the AUTOMATIC policy. 
10033         This breaks the GTK+ requisition model, and causes loops.
10034
10035 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10036
10037         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10038         the default font to avoid problems with XFree86-4.0 where the
10039         default charset is iso10646-1, not iso8859-1.
10040
10041 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10042
10043         * acinclude.m4
10044         * config.guess
10045         * config.sub
10046         * ltconfig
10047         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10048
10049         * gtk/Makefile.am: minor cosmetic consistency tweak
10050
10051 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10052
10053         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10054         the activate_time to 0, so that we handle a quick
10055         press/release press/release properly and don't suppress
10056         the second release. (Red Hat bug #7545)
10057
10058 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10059
10060         * gtk/gtkctree.c (row_delete):
10061         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10062         bugs with destruction notifier, *always* update internal
10063         structures *before* calling user code.
10064
10065 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10066
10067         A few more fixes for bug #5487, #2051, #2677.
10068         * gtk/gtkclist.c : 
10069         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10070         not GDK_BUTTON_PRESS.
10071         (resync_selection): resync only if selection_mode is
10072         GTK_SELECTION_EXTENDED
10073         * gtk/gtkctree.c (resync_selection): same here
10074
10075 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10076
10077         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10078         gdk_drag_get_selection() and gtk_menu_detach().
10079
10080         [ From Jeroen Ruigrok/Asmodai ]
10081
10082 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10083
10084         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10085         page->tab_label can be NULL.
10086
10087 2000-01-25  Havoc Pennington  <hp@pobox.com>
10088         
10089         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10090         arg is boolean
10091
10092         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10093
10094         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10095
10096         * gdk/gdkproperty.c (gdk_property_get): return boolean
10097
10098         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10099
10100         * gdk/gdkim.c (gdk_im_ready): return boolean
10101
10102         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10103
10104         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10105         glib clash, should fix glib)
10106
10107         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10108         (gdk_get_show_events): return gboolean, and canonicalize 
10109         to TRUE/FALSE
10110
10111         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10112         colormap is private
10113         (gdk_colors_alloc): gboolean whether to be contiguous
10114         (gdk_color_equal): return gboolean since we are a predicate
10115         and not a qsort() (this looks semi-wrong due to glib breakage,
10116         IMO glib should be fixed)
10117         
10118         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10119         (gdk_get_use_xshm): return gboolean
10120         (gdk_pointer_is_grabbed): return gboolean
10121
10122         * gdk/gdk.h: Change prototypes to match all the above changes,
10123         and re-run egtk-format-protos as required.
10124
10125 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10126
10127         * gtk/gtkctree.c (resync_selection): 
10128         * gtk/gtkclist.c (resync_selection):
10129
10130         Return immediately if clist->drag_pos < 0. This is a workaround
10131         for the corrupt state that the clist gets into when a
10132         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10133
10134         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10135         
10136         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10137         variable from recent commit.
10138
10139 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10140
10141         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10142
10143 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10144
10145         * gtk/Makefile.am: prefix all autogenerated source that get build in
10146         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10147         in builddir. since we subsequently cd into srcdir for autogeneration,
10148         the paths have to be stripped from the target file names, thusly we
10149         use $(@F) as target names now.
10150         put a comment about configure.in's --disable-rebuilds option,
10151         which can be used for non-writable source directories, for development
10152         setups though, srcdir has to be *writable*.
10153
10154 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10155
10156         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10157           Finish the job of allowing event to be NULL.
10158           (Fixes bug #4283, reported by Chris Blizzard)
10159
10160         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10161           things so that the cursor appears on screen, properly
10162           take into account INNER_BORDER.
10163           (Fixes bug #4754, reported by Antonio Campos)
10164
10165 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10166
10167         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10168           show the tab_label unless it itself is visible.
10169
10170           gtk/gtknotebook.c (gtk_notebook_size_request):
10171           Do a better job of making sure that the visibility
10172           of the tab label corresponds to whether it should
10173           be mapped or not.
10174
10175 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10176
10177         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10178           Use the requisition, not the allocation, since the
10179           allocation has not necessarily been computed yet.
10180           (Pointed out by Eugene Osintsev)
10181
10182 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10183
10184         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10185           style/base[GTK_STATE_INSENSITIVE] both to
10186           gtk_default_insensitive_bg!
10187           (Bug #2187, reported by Jonathan Blandford)
10188
10189         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10190           Add Alt_L, Alt_R to list of invalid accelerators.
10191           (Bug #3736, reported by Vlad Harchev)
10192
10193 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10194
10195         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10196         bugs which occured after an attempt to open 
10197         invalid home directory left cmpl_state->reference_dir == NULL.
10198
10199          - completion on files in home directory didn't work
10200          - completion on an empty string caused  segfault
10201
10202          (Bug #3678, reported by Steve Ratcliffe)
10203
10204         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10205         cut and paste error that was causing scales to
10206         be incorrectly positioned.
10207         (Bug #2956,
10208          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10209
10210 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10211
10212         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10213         when checking for dcgettext, if we've found we needed
10214         it for dgettext.
10215 +
10216 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10217
10218         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10219         queue_clear on NO_WINDOW widgets during a reparent,
10220         since at that point the window and widget heirarchies
10221         are out of sync. This stops crashing in some cases
10222         (the scrolled window reparent test, for instance), and
10223         _probably_ won't cause drawing errors.
10224
10225         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10226         test do what it was supposed to do and be robust against
10227         window closings, etc. (Bug #2443)
10228
10229 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10230
10231         * gtk/gtkentry.c: Fix return values on mouse events.
10232         (Bug #2686, Sky <seb_sky@yahoo.com>)
10233
10234         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10235         (pointed out by George Lebl)
10236
10237         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10238         (From Ettore Perazzoli  <ettore@helixcode.com>)
10239  
10240 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10241
10242         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10243         clicks between rows or outside calender area correctly.
10244         (Patch from Damon Chaplin)
10245
10246         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10247         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10248           Call destroy function when overwriting existing data. 
10249           (Pointed out by Damon Chaplin)
10250
10251 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10252
10253         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10254           which was causing problems on various systems with Xmu.
10255           This hasn't been needed for a very long time.
10256           (Fixes #1185 3167)
10257
10258 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10259
10260         * gdk/gdki18n.h: Include <ctype.h> when defining
10261           gdk_isw* in terms of is* as a fallback.
10262           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10263
10264 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10265
10266         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10267           realize the widget when it is size allocated!
10268           (old, old bug)
10269
10270         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10271           Removed unused call to gdk_window_get_size() that
10272           showed up when the above was fixed.
10273
10274 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10275
10276         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10277           fix up widget->window when the widget is a
10278           NO_WINDOW container widget.
10279
10280 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10281
10282         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10283           to account for the fact that feof() does _not_ 
10284           return TRUE on errors, and thus avoid infinite loops
10285           when trying to use gdk_pixmap_create_from_xpm()
10286           on unreadable values.
10287
10288 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10289
10290         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10291
10292 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10293
10294         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10295           gdk_gc_set_dashes to take gint8 instead of gchar to
10296           make it clearer that it is _not_ a NULL terminated string.
10297
10298         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10299           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10300           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10301           arguments.
10302
10303 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10304
10305         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10306         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10307         background size relative to our allocation, guard against small
10308         allocations, we may have not yet been size allocated.
10309
10310 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10311
10312         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10313         not just version == 3. We implement all 3 + most of 4 - 
10314         (we don't support matching text/plain;charset=iso-8859-1
10315         to a dest that expects text/plain). We'll still advertise
10316         3 to be safe, but any client implementing version >= 3
10317         must interoperate with 3.
10318         
10319 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10320
10321         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10322         background and gc members, add a warning in gtk_tooltips_set_color()
10323         indicating that this function is deprecated.
10324
10325 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10326
10327         * docs/gtkfaq.sgml: FAQ Update:
10328           - Minor cleanups (Emmanuel, me)
10329           - New questions:
10330                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10331                 How can I retrieve the text from a GtkMenuItem? (timj)
10332                 How do I validate/limit/filter the input to a GtkEntry? (me)
10333                 Memory does not seem to be released when I free the list
10334                         nodes I've allocated (timj)
10335
10336 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10337
10338         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10339         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10340         for which it is no use to call GetLastError onWin9x.
10341         (gdk_other_api_failed) New function, for general error
10342         reporting without calling GetLastError.
10343         (gdk_win32_api_failed) OTOH, this function always calls
10344         GetLastError. (gdk_win32_last_error_string) Remove this function,
10345         GLib has the equivalent now.
10346
10347         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10348         call them with function name, file name and line number in the
10349         arguments.
10350
10351         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10352         functions.
10353         
10354         * gtk/gtk.def: Add some missing entry points.
10355
10356         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10357         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10358         
10359         Fixes by Hans Breuer:
10360
10361         * gdk/makefile.msc: Update for debugging.
10362
10363         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10364         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10365         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10366         in the dash_list.
10367
10368         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10369         the x11 backend.
10370
10371         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10372
10373         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10374
10375 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10376
10377         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10378         just pixel value of background colour.
10379
10380         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10381         containing code snippet previously duplicated in a couple of
10382         places.
10383         
10384         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10385         gdk_colormap_color.
10386
10387         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10388         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10389         events for autorepeated Shift, Control and Alt keys. Use
10390         gdk_colormap_color.
10391
10392         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10393         pointer is inside the window the cursor of which we are setting,
10394         call SetCursor immediately.
10395
10396         * gdk/win32/makefile.cygwin
10397         * gtk/makefile.cygwin: If we don't have the build number stamp
10398         file, use zero.
10399
10400         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10401         gtk_paned_set_gutter_size as empty.
10402
10403         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10404         
10405 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10406
10407         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10408           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10409           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10410           docs/gtk_tut.sgml docs/gtk.texi TODO:
10411
10412           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10413
10414 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10415
10416         * gtk/gtkcalendar.c: Implement num_marked_dates,
10417           and don't emit mutiple day_selected signals on
10418           month_prev.
10419
10420 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10421
10422         * docs/make-todo (lineno): let title and logo be configurable so
10423         that GNOME can use this script too.
10424
10425         * TODO.xml: added logourl and a title
10426
10427 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10428
10429         * TODO.xml: Added some UI items, and an explanatory
10430         comment at the top of the file.
10431
10432 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10433
10434         * TODO.xml: some updates, added abunch of new entries.
10435         a note for those fiddeling with this file, when done
10436         with it, invoke:
10437         $ ./docs/make-todo TODO.xml >/dev/null
10438         and correct output errors before comitting changes.
10439
10440 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10441
10442         * TODO.xml: Added XML-structured TODO file.
10443         * docs/make-todo: python script to turn TODO.xml into
10444           pretty XML output. 
10445
10446 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10447
10448         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10449         the function to let it draw the seven dots, instead of the old,
10450         much maligned, method.
10451         (draw_dot): New function to draw a dot.
10452
10453         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10454         to draw the handle inside the border width as opposed to outside.
10455         Use paint function instead of gdk_draw_point.
10456
10457         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10458         to draw the handle inside the border width as opposed to outside.
10459         Use paint function instead of gdk_draw_point.
10460
10461         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10462         Change indenting to be more GTK like.
10463
10464 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10465
10466         * docs/gtk_tut.sgml: New section on GtkCalendar
10467         * examples/calendar: Update example code
10468
10469 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10470
10471         * docs/gtkfaq.sgml: FAQ Update
10472
10473 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10474
10475         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10476         to prevent the scroll event to be propagated upwards.
10477
10478 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10479
10480         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10481         OwnerGrabButtonMask from button entries for
10482         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10483
10484         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10485         to the event mask (which will result in button/press release
10486         being added to the event mask on Unix) so scrolling works
10487         for layouts in scroll windows.
10488
10489         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10490
10491         Patch from Anders Carlsson  <andersca@gnu.org> to add
10492         a scroll event.
10493
10494         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10495         scrolling to the "Test Scrolling" part of testgtk.
10496  
10497         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10498  
10499         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10500         it against GDK_SCROLL.
10501  
10502         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10503         way of mouse wheel scrolling.
10504  
10505         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10506  
10507         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10508  
10509         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10510  
10511         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10512         gdk_event_mask_table.
10513  
10514         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10515         GdkEventScroll handler.
10516  
10517         * gdk/gdkevents.h: Added GdkEventScroll structure.
10518  
10519 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10520
10521         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10522         and Anders Carlsson to change the Paned widgets so that they
10523         can be dragged from anywhere along the length. Also change
10524         the way that this is drawn to make this apparent.
10525
10526         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10527         from George Lebl to check that option_menu->menu is present
10528         before getting history.
10529
10530 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10531
10532         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10533         before the assertion for non-NULL segment list.
10534
10535         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10536         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10537         machine, but it might be display driver dependent. Sigh, so make
10538         sure the stipple is that size. Does Windows suck or what?
10539
10540         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10541         places.
10542
10543 2000-02-13  Havoc Pennington  <hp@pobox.com>
10544
10545         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10546         refcount to 1
10547         (gdk_cursor_new): init refcount to 1
10548
10549         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10550
10551 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10552
10553         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10554         so that we don't have to do unnecessary settings to the HDC.
10555
10556         * gdk/win32/gdkdrawable-win32.c
10557         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10558         gdk_gc_predraw.
10559
10560         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10561         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10562         GDI paths, call WidenPath to get the outline of the stroken path,
10563         and then fill the outline (with the brush that was built from the
10564         stipple).
10565
10566         * gdk/win32/gdkgc-win32.c: Factor out common code from
10567         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10568         gdk_win32_gc_values_to_win32values. Use correct colour for
10569         SetBkColor() (Until now the code actually used a random colour in
10570         the call to SetBkColor()... but that didn't show up as not many
10571         GDI APIs use the background colour. Pattern (opaque stippled)
10572         brushes do.)
10573
10574         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10575         gdk_win32_api_failed): New functions for error logging.
10576
10577         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10578         WIN32_API_FAILED to call them, passing function or file name and
10579         line number.
10580
10581         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10582
10583         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10584         GdkColor for foreground and background in GdkGCWin32Data.
10585
10586         * gdk/makefile.cygwin: Link in the resource object separately.
10587
10588         * gdk/win32/rc/gdk.rc
10589         * gtk/gtk.rc (New file)
10590         * gdk/win32/makefile.cygwin
10591         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10592         as in GLib.
10593
10594 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10595
10596         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10597         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10598         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10599         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10600         parameters given and cursor->ref_count. coding style fixups.
10601
10602         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10603         not GtkWidget.
10604         
10605         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10606         fix up widget macros and add _GET_CLASS() variant.
10607         
10608         * gtk/*.c: some GtkType fixups.
10609
10610 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10611
10612         * gdk/win32/gdkproperty-win32.c
10613         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10614         were reversed.
10615
10616 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10617
10618         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10619         g_filename_to_utf8 to convert the font names Windows gives us from
10620         whatever is the default codepage to UTF-8.
10621         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10622         in the other direction.
10623
10624         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10625         error in debugging output.
10626
10627 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10628
10629         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10630         and height parameters to gdk_window_clear_area(). Not minus one.
10631
10632 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10633
10634         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10635         checks if the widget passed to gtk_drag_get_data() was not the
10636         dest widget.
10637
10638 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10639
10640         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10641         g_filename_from_utf8 functions (which were added a moment ago to
10642         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10643         size buffers.
10644
10645         gtk_file_selection_get_filename returns the filename in the C
10646         runtime encoding. It calls g_filename_from_utf8, but copies the
10647         returned string to a static buffer, which is returned. I think
10648         this is better than returning the result from g_filename_from_utf8
10649         directly, which would mean all apps that use it would have to free
10650         the return value. Or should this function care about this issue at
10651         all? Maybe a new function with clearly defined semantics.
10652
10653         * gtk/gtkfilesel.h: Add comment about
10654         gtk_file_selection_get_filename returning the filename in the C
10655         runtime's encoding.
10656
10657         * README.win32
10658         * gdk/gdk.def
10659         * gdk/makefile.{cygwin,msc}
10660         * gtk/gtk.def: Updates.
10661
10662         * gdk/gdkcursor-win32.c: Initialise refcount.
10663
10664 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10665
10666         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10667
10668 2000-01-30  Havoc Pennington  <hp@pobox.com>
10669
10670         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10671         destroy
10672
10673         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10674
10675         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10676         implemented in platform-specific code
10677
10678         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10679
10680         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10681         underscore in front
10682
10683         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10684         put an underscore in front
10685
10686         * gdk/gdkcursor.c: new file, implements
10687         gdk_cursor_ref/gdk_cursor_unref
10688
10689         * gdk/gdkcursor.h: Refcount GdkCursor
10690
10691         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10692
10693 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10694
10695         * gdk/gdkwindow.h
10696         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10697
10698 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10699
10700         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10701         structures to properly inherit from GtkWidget not GtkBin.
10702
10703 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10704
10705         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10706         (bug #5178 - Peter Wainright)
10707         
10708         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10709         so that it will be installed.
10710         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10711
10712 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10713
10714         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10715         for the GtkStyleClass vtable const.
10716
10717         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10718         take a const string argument like GtkTranslateFunc. This will
10719         require changes in use code.
10720
10721 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10722
10723         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10724         semantics (to mimic the X11 backend, which just calls XClearArea)
10725         is to check for zero width (and height), and in that case use the
10726         window's width minus x (height minus y). This fixes for instance
10727         some redraw problems with gtkclist, which were easily noticeable
10728         in the gtk file selection widget.
10729
10730         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10731         windows.
10732
10733 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10734
10735         * configure.in
10736         * gdk/Makefile.am
10737         * gdk/x11/Makefile.am
10738         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10739         (bug #5177).
10740         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10741         out later.
10742
10743 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10744
10745         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10746         WM_MOVE for iconified or invisible windows. This fixes various
10747         problems when minimising windows. Thanks to Bernd Herd.
10748
10749 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10750
10751         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10752         backend's draw_lines method, not draw_points.
10753
10754 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10755
10756         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10757         before Owen's reorganisation: Don't have queued_events and
10758         queued_tail statics in this file, but use gdk_queued_events and
10759         gdk_queued_tail. This makes exposure event compression work again.
10760
10761         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10762         seem to be needed?
10763
10764 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10765
10766         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10767         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10768         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10769         doesn't do anything.
10770
10771         * gdk/gdk.def: Add gdk_xid_table_insert.
10772
10773         * gdk/win32/gdkprivate-win32.h
10774         * gdk/win32/gdkevents-win32.c
10775         * gdk/win32/gdkinput-win32.c
10776         
10777         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10778         extension_events field in the GdkWindowWin32Data struct. Use only
10779         the extension_events field in GdkWindowPrivate. Previously one was
10780         set, and the other one tested, which broke tablet
10781         functionality. Thanks to Keishi Suenaga for pointing this out.
10782
10783 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10784
10785         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10786         When handling a single character (text length == 1), don't handle
10787         it as if it was UTF-8.
10788
10789 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10790
10791         * Makefile.am: Distribute README.win32.
10792         
10793         * gdk/Makefile.am
10794         * gdk/win32/Makefile.am: Distribute Win32 files.
10795
10796         * gdk/makefile.msc: New file.
10797
10798         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10799         after label).
10800
10801         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10802         gdk_error_code as GDKVAR, as they are referred outside GDK.
10803
10804         * gdk/win32/makefile.msc: Update.
10805
10806         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10807         tweaks. Check only if at least one of those Unicode subrange bits
10808         we care for is set. If no code page bits are set, guess (wildly)
10809         based on the charset.
10810
10811         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10812
10813         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10814         non-NULL.
10815
10816         * gtk/gtkdnd.c
10817         * gtk/gtklayout.c
10818         * gtk/gtkplug.c
10819         * gtk/gtkselection.c
10820         * gtk/gtksocket.c
10821         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10822         appropriate. There must be a cleaner way to handle this?
10823
10824         * gtk/gtkrc.c: Must include windows.h on Win32.
10825
10826         * gtk/testgtk.c: No need to include gdkx.h.
10827
10828         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10829
10830 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10831
10832         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10833         the rbearing is set to the same as the width, but this should be
10834         fixed.
10835
10836 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10837
10838         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10839         function. If Windows doesn't tell us what Unicode subranges a font
10840         covers, guesstimate based on the codepages it covers. This will
10841         hopefully help those Windows versions or fonts that don't give us
10842         any useful Unicode subrange information with GetTextCharsetInfo.
10843         Call this function in gdk_font_load_internal.
10844
10845         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10846         minor changes.
10847
10848 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10849
10850         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10851         New function, long needed.
10852
10853 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10854
10855         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10856         only_if_exists argument of gdk_atom_intern to
10857         bool.
10858
10859 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10860
10861         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10862         Fix two copy&paste errors.
10863
10864         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10865         win32 has changed.
10866
10867         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10868         GdkWin32SingleFont struct.
10869
10870         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10871         subranges of loaded fonts. Clear font signature first, in case
10872         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10873         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10874
10875         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10876         Unoffset clip region.
10877
10878 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10879
10880         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10881         event->any.window before calling filter functions.
10882
10883 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10884
10885         * gtk/gtkgamma.h: Adapt cast macros to standard.
10886
10887 [ Merges from 1.2 ]
10888
10889 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10890
10891         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10892         If translation does not include a '/', use entire
10893         translation instead of crashing.
10894
10895 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10896
10897         * docs/gtk_tut.sgml:
10898         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10899
10900 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10901
10902         * gtk/gtkselection.c (gtk_target_list_remove): Use
10903         g_list_remove_link, not g_list_remove.
10904
10905         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10906         
10907 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10908
10909         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10910         statement upon unselection (how the heck did that slip in?).
10911
10912 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10913
10914         * gtk/gtktext.c (gtk_text_freeze): 
10915         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10916         in frozen state (and aparently crashes). patch provided by Anders
10917         Melchiorsen <and@kampsax.dtu.dk>.
10918
10919 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10920
10921         * fix insensitive default/focus widget activation,
10922         reported by Matt Goodall <mgg@isotek.co.uk>.
10923
10924         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10925         (gtk_window_activate_default):
10926         (gtk_window_activate_focus):
10927         return handled=FALSE for actiavtion of insensitive default
10928         widgets. return handled=TRUE for activation of insensitive
10929         focus widgets. don't activate in either case.
10930
10931 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10932
10933         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10934         and $glib_cflags to match library order and in the
10935         theory that an old version of GLib is more likely to
10936         be in the include directory for X then vice-versa.
10937         (Bug #2776)
10938
10939 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10940
10941         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10942         to determine the locale for fontsets, not LC_MESSAGES;
10943         the user may want English messages with a handling
10944         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10945         will still be broken) (Bug #2891)
10946
10947 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10948
10949         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10950
10951 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10952
10953         * gtk/gtkrc.ko: Changed the Korean default fontset.
10954
10955 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10956
10957         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10958         where when scrolling to the left or top double exposes
10959         were done, causing major slowdowns.
10960
10961 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10962
10963         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10964         names to lowercase and alphanumeric, before looking
10965         them up.
10966
10967         * gtk/Makefile.am: Install codeset variant gtkrc files
10968         with normalized names.
10969
10970 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10971
10972         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10973         popup menus when the menu is already visible, but its parent
10974         is still hidden, (happens after tornoff window got hidden).
10975
10976 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10977
10978         * gtk/Makefile.am (install-data-local): Fix
10979         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10980         deleted, causing error messages on install.
10981
10982 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10983
10984         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10985         the handle as well, since we now sometimes ignore
10986         exposes on the handle while resizing.
10987
10988 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10989
10990         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10991         extra g_free introduced in one of the last one or two 
10992         commits.
10993
10994 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10995
10996         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10997         consistent, put each style that a gtkrc.* file creates
10998         in a unique namespace, remove old files before installing.
10999
11000 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11001
11002         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11003         gtk_rc_init is called multiple times. (Yes, people who
11004         do that have bugs in their code.)
11005
11006 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11007
11008         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11009         Remove it since it's generated by the Makefile anyway
11010
11011 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11012
11013         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11014         device->info.axes for core pointer.
11015
11016 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11017
11018         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11019         idle_id, to deal with obsolete, broken C libraries.
11020
11021 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11022
11023         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11024         allocation->x/y twice!
11025
11026         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11027         consistent with gtk_vscale_pos_trough().
11028
11029 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11030
11031         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11032         be queueing a resize on a toplevel container between
11033         the time we show it and when we map it. So, we need
11034         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11035         use GTK_WIDGET_DRAWABLE() for child windows.
11036
11037 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11038
11039         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11040         (fixes bug #2144)
11041
11042 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11043
11044         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11045         container DRAWABLE (instead of VISIBLE), so we don't queue
11046         resizes on non-toplevel containers.
11047
11048 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11049
11050         * gtk/gtkselection.[ch]: Make the data argument
11051         const guchar *.
11052
11053 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11054
11055         * gtk/gtkwindow.c: Try to behave sensibly if 
11056         the focus widget is the window itself. (Should
11057         we allow this at all?)
11058
11059 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11060
11061         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11062         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11063         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11064         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11065         in prototypes and implementations consistent (Tomas Ogren).
11066
11067         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11068         before the widget is unparented (reported by damon).
11069
11070         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11071         since we provide unsigned data anyways.
11072
11073 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11074
11075         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11076         the call to gtk_tooltips_layout_text() until later.
11077
11078         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11079         Call gtk_widget_ensure_style() before using the style.
11080
11081 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11082
11083         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11084         for old widgets that don't propagate draws to all
11085         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11086
11087 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11088
11089         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11090         for a redraw but just the widget that requested the resize.
11091
11092 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11093
11094         * gtk/gtkcontainer.c: added new widget level method
11095         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11096         reallocate_redraws : 1 to reflect the setting, exported this through
11097         the argument system as a boolean ::reallocate_redraws.
11098
11099         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11100         on the widget because the allocation changes, do so as well for
11101         widget->parent if the parent has reallocate_redraws set to TRUE.
11102         with that containers requesting reallocation redraws get automatically
11103         redrawn if their children changed allocation (this unfortunately
11104         affects also other children that didn't change allocation, but we
11105         cannot work around that before 1.3).
11106
11107 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11108
11109         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11110         _and_ height are >0 (not _or_).
11111
11112         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11113         instead of gtk_container_queue_resize(), which is a core gtk internal
11114         function (must have been on crack when i queued that).
11115
11116         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11117         we can check more reliably if we want to discard expose events.
11118         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11119         flag.
11120         
11121         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11122         we simply trust these events. for deciding whether to discard exposes,
11123         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11124         
11125 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11126
11127         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11128         queues of areas that are completely off screen.
11129
11130         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11131         logic for handleboxes.
11132
11133         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11134         check on width/height.
11135
11136 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11137
11138         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11139         we are fine with using $@ the way we do (if we actually encounter
11140         brokeness with $@ in VPATH builds because of additional path prefixes,
11141         we need to use $(@F) actually).
11142
11143 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11144
11145         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11146         short lived bugs, that would allow language bindings to do surgeries
11147         to our guts.
11148
11149 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11150
11151         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11152         where comparison was being done against an uninitialized
11153         value causing intermittant results depending on
11154         compiler flags. Also make it clearer that we aren't
11155         ever initializing the child as 0x0 (though this will
11156         be caught in gtk_widget_size_allocate())
11157
11158 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11159
11160         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11161         gtk_window_unset_transient_for() call after we do checks
11162         involving the old transient parent.
11163         [ From Lance Capser <lmc@cyberhighway.net> ]
11164
11165 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11166
11167         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11168         an empty file.
11169
11170 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11171
11172         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11173         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11174
11175 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11176
11177         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11178         `$@' is valid only in the build dir, not after we've done 
11179         `cd $srcdir'.  Also use `test -f' instead of less portable
11180         `test -e'.
11181
11182 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11183
11184         * gtk/gtktext.c (correct_cache_insert): Rewrite
11185          for simplicity, and hopefully correctness.
11186          (Fixes bug #1322, which was a segfault when
11187           on some insertions with the properties around
11188           the insertion set up just wrong.)
11189
11190         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11191          a "changed" signal, clamp the new value to the adjustment
11192          bounds to avoid segfaulting if someone tries to change
11193          the adjustment to a bogus value. (Bug #1795)
11194
11195 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11196
11197         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11198         for children, for toplevel windows handle them
11199         like delete_event.
11200
11201         * gtk/gtkplug.c: Add an unrealize handler so that
11202         we unref plug->socket_window when we are done
11203         with it.
11204
11205 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11206
11207         * gtk/gtktext.c (clear_area): Fix stupid signedness
11208          problem that was causing background to sometimes
11209          be misaligned.
11210
11211 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11212
11213         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11214         
11215         * gtk/gtkmenu.c (gtk_menu_position): Make
11216          sure we never position menus with negative x, y,
11217          since gtk_widget_set_uposition() can't handle that.
11218
11219         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11220          Modify the positioning code a bit so that we always
11221          put the top-left corner onscreen. (This is for
11222          UI reasons, gtk_menu_position() now takes care of
11223          gtk_widet_set_uposition() brokeness.)
11224
11225 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11226
11227         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11228
11229 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11230
11231         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11232           RC style that is passed in. The lack of the ref
11233           before was a bug. If people worked around this
11234           bug, this will introduce a slight memory leak
11235           in their code. The code should typically look like:
11236
11237             rc_style = gtk_rc_style_new ();
11238             [...]
11239             gtk_widget_modify_style (widget, rc_style);
11240             gtk_rc_style_unref (rc_style);
11241
11242         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11243           the style if it was already set.
11244
11245         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11246           style if it was set before.
11247
11248 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11249
11250         * gtk/testgtk.c (main): Add a check to see if we
11251           are being run from the correct directory and
11252           to quit nicely if we are not.
11253
11254         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11255           static.
11256
11257 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11258
11259         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11260
11261         * gtk/gtkwindow.c:
11262         queue resizes unconditionally (gtk_widget_queue_resize will figure
11263         what to do if the window is not realized).
11264         (gtk_window_move_resize): only recenter the window
11265         for GTK_WIN_POS_CENTER_ALWAYS.
11266         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11267         the same way as GTK_WIN_POS_CENTER.
11268
11269 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11270
11271         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11272         with (!(info->last_flags & GDK_HINT_POS)) instead of
11273         (!info->last_flags & GDK_HINT_POS).
11274
11275         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11276         new_height unconditionally, because we use these values even if
11277         !default_size_changed && !hints_changed.
11278         comented the (default_size_changed || hints_changed) case with
11279         respect to resize rejects from the window manager.
11280
11281         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11282         in the zvt condition hack, since this includes the window hints, set
11283         the hints after the handling_resize case.
11284
11285         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11286         window is initially shown with to the geometry.
11287
11288 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11289
11290         * gtk/gtkwindow.c (gtk_window_move_resize):
11291         s/size_changed/default_size_changed/g so i know what's
11292         really going on (frying brain on smaller flame now).
11293
11294 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11295
11296         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11297         we have size_changed upon handling_resize. this is a gross
11298         workaround for the broken zvt widget and should be removed in
11299         1.3 again (search for FIXME).
11300         Owen provided an accurate comment for this:
11301
11302         /* We could be here for two reasons
11303          *  1) We coincidentally got a resize while handling
11304          *     another resize.
11305          *  2) Our computation of size_changed was completely
11306          *     screwed up, probably because one of our children
11307          *     is broken. It's probably a zvt widget.
11308          *
11309          * For 1), we could just go ahead and ask for the
11310          * new size right now, but doing that for 2)
11311          * might well be fighting the user (and can even
11312          * trigger a loop). Since we really don't want to
11313          * do that, we requeue a resize in hopes that
11314          * by the time it gets handled, the child has seen
11315          * the light and is willing to go along with the
11316          * new size. (this happens for the zvt widget, since
11317          * the size_allocate() above will have stored the
11318          * requisition corresponding to the new size in the
11319          * zvt widget)
11320          *
11321          * This doesn't buy us anything for 1), but it shouldn't
11322          * hurt us too badly, since it is what would have
11323          * happened if we had gotten the configure event before
11324          * the new size had been set.
11325          */
11326
11327 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11328
11329         * gtk/gtkrc.c: deal properly with the fact that RC
11330           style lists may include rc styles more than once.
11331
11332         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11333           unused static function.
11334
11335         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11336           stack of directories of RC files currently being
11337           parsed and implicitely add them to pixmap path.
11338           
11339           This fixes a bug where the directory would get
11340           appended then overwritten by pixmap_path declarations.
11341
11342           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11343
11344         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11345           theme's exit function. (Patch from Peter Wainwright,
11346           bug #1454)
11347
11348         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11349           Add a destroy() handler to take care of removing
11350           group for menu item. (Fixes bug #1197)
11351
11352         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11353           in warning message.
11354
11355 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11356
11357         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11358         roundtrip to figure window's width and height, since we know that
11359         anyways from widget->allocation.
11360
11361 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11362
11363         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11364           the hints after we request the new size.
11365
11366 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11367
11368         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11369           GTK_WIDGET_REALIZED() assertion - we can compute the
11370           hints before we are realized.
11371
11372         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11373           hint changing so that we have a value of hints_changed
11374           when we decide whether to constrain the window size.
11375
11376         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11377
11378         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11379         change back to G_MAXINT.
11380
11381 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11382
11383         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11384         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11385         contain uncluttered values.
11386         (gtk_window_compute_hints): simply assert that window is realized
11387         and that geometry_info is valid, since we rely on this anyways.
11388         (gtk_window_constrain_size): major cleanups to the code.
11389         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11390         for the base size, instead of the minimums. use 32767 as max width
11391         and height (like in gtkwindow.c) instead of G_MAXINT.
11392
11393 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11394
11395         * cleaned up the GtkContainer.need_resize flag handling mess, we
11396         only need to force resize requests when we were prematurely
11397         realized, or our widget tree was modified when we were temporarily
11398         hidden. handling these cases directly upon showing the window (i.e.
11399         while the GdkWindow is still unmapped) avoids the need to wait for
11400         a configure event response and therefore makes the GUI more snappier
11401         and avoids blank windows during the roundtrip.
11402
11403         * gtk/gtkwidget.c:
11404         (gtk_widget_hide): 
11405         (gtk_widget_show): don't queue resizes on toplevels, they know how
11406         to deal with matters.
11407
11408         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11409         flag directly for not visible resize containers and spare us unecessary
11410         signal emissions.
11411
11412         * gtk/gtkwindow.c:
11413         (gtk_window_realize): if we need to enforce premature size allocation,
11414         queue a container resize so we are correctly resized later on.
11415         (gtk_window_init):
11416         (gtk_window_size_request):
11417         don't freak around with the ->need_resize flag,
11418         gtk_container_queue_resize() will care about that.
11419         (gtk_window_show):
11420         handle initial resizing issues here, we can handle matters better in
11421         this place, especially since we know that our GdkWindow is still
11422         unmapped.
11423         (gtk_window_move_resize):
11424         don't care about ->need_resize at all.
11425         handle size changes properly that occoured while we waited for a
11426         configure event.
11427
11428 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11429
11430         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11431         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11432         Move the hint setting code from gtk_widget_set_uposition
11433         to here; set the hints so that we respect any previously
11434         set geometry hints.
11435
11436         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11437         change the window hints here or move the window here,
11438         let that happen in gtk_window_move_resize().
11439
11440 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11441
11442         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11443         to already queued resizes (and therefore redraws) on a widget, check
11444         its anchestry as well.
11445
11446         * gtk/gtkcontainer.c:
11447         (gtk_container_queue_resize): clear resize widgets for resize
11448         containers before aborting prematurely. this is especially important
11449         for toplevels which may need imemdiate processing or their resize
11450         handler to be queued.
11451         (gtk_container_dequeue_resize_handler): added new internal function for
11452         gtkwindow.c.
11453
11454         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11455         configure event, take possible changes in window position into account
11456         as well.
11457         if we request a new window size, queue up a resize handler that will
11458         last until the configure event response arrives.
11459         combined the ->need_resize case (initial show) with the general size
11460         (hints) changed case and added even more comments.
11461         if !auto_shrink, only revert to the old allocation if the new size
11462         is smaller than the current allocation.
11463
11464 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11465
11466         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11467                            gtk_window_set_geometry_hints
11468                            gtk_window_set_default_size):
11469         When hints are set, queue a resize so that the hints will
11470         be eventually reset on the toplevel.
11471
11472         * gtk/gtkwindow.c (gtk_window_show): Use
11473         gtk_window_compute_default_size(). Clear the need_resize flag
11474         on the initail map so that we don't unnecessarily trigger the
11475         resize code.
11476
11477         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11478         into separate functions. Compare the hints we are setting
11479         with what we set last time so that we can accurately
11480         tell when we need to reset the hints.
11481
11482         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11483         function to figure out the size from requisition
11484         and default_size.
11485
11486         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11487         from fvwm to constrain a size to the geometry hints.
11488
11489         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11490         to compare two sets of geometry hints.
11491
11492         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11493         from gtk_window_set_hints(), just compute the hints,
11494         don't set them.
11495
11496         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11497         code from gtk_window_move_resize() to separate function,
11498         rationalize a bit.
11499
11500 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11501
11502         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11503         structure into a new private structure.
11504
11505         * gtkrc.c: Split GtkRcStyle into public/private.
11506         In the private part, add a list of pointers to the
11507         RcStyle lists this RcStyle participates in.
11508
11509         * gtkrc.c: When a RcStyle is free, remove all
11510         lists referencing it from the 
11511         realized_style_ht hash, and free those lists.
11512         
11513         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11514         gtk_rc_init(), since that adds the default styles
11515         to the list of parsed RC files again.
11516
11517         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11518         
11519 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11520
11521         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11522         checks that ensure that a widget's allocation is at least 1 in width
11523         and height. (GNOME note: this doesn't affect old panel code anymore,
11524         because GtkSocket will request width and height of at least 1 since
11525         Fri Jul 23).
11526
11527         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11528         allocated yet (happens if the user realizes the window prematurely),
11529         size request and allocate it.
11530         (gtk_window_size_allocate): guard against guint underflows.
11531
11532 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11533
11534         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11535         in gtk_built_sources, so gtk.defs gets built prior to all other
11536         sources.
11537
11538 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11539
11540         * gtk/Makefile.am:
11541         invoke indent on gtkmarshal.*. 
11542         rewrote source generation rules, use COPYING as oldest source tag for
11543         a piggyback rule to generate all sources from (don't touch it ;).
11544         major cleanups, strip spaces on build rules for GNU Make.
11545
11546         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11547         source and target files from commandline arguments. don't invoke indent.
11548
11549 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11550
11551         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11552         notebook after switch to avoid drawing problems.
11553         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11554         
11555         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11556         show them instead. 
11557         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11558
11559 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11560
11561         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11562         notebook after switch to avoid drawing problems.
11563         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11564         
11565         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11566         show them instead. 
11567         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11568
11569 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11570
11571         * gtk/gtkwindow.c:
11572         we use window->need_resize from configure_event now, to indicate that
11573         the gtkwindow should keep its allocation (e.g. because the user resized
11574         the window through window manager handles). resize_count is now reliably
11575         used to figure whether we got the allocation we requested from the
11576         window manager.
11577         configure events get queued as resizes now, the real stuff (size
11578         computation and allocation) now only goes on in gtk_window_move_resize().
11579         GtkWindow's requisition now contains its *real* requisition (like all
11580         other widgets), *not* taking usize into account.
11581         geometry_info->last_{width|height} is now updated from set_hints() only
11582         so it always contains the last hints we set for the window manager.
11583         made some event handlers return TRUE instead of FALSE.
11584         the overall code should be much more straight forward now, and the
11585         significant code portions are accompanied by comments now.
11586         (gtk_window_set_hints):
11587         removed requisition argument and made it
11588         fetch the requisition through gtk_widget_get_child_requisition.
11589         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11590         does that now.
11591         (gtk_window_show):
11592         ensure that the widget is realized before calling 
11593         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11594         ensure that we got properly size requested and allocated before
11595         realization.
11596         (gtk_window_configure_event):
11597         ignore plain window moves, or reallocate the widget tree through the
11598         resize queue otherwise.
11599         (gtk_window_move_resize):
11600         mostly rewrote this function to figure window manager hints more
11601         reliably, coalesce window moves and resizes to reduce configure events
11602         and do actuall size allocations.
11603
11604 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11605
11606         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11607         that have a resize pending, because a redraw is already queued for them.
11608
11609         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11610         hack to clear resize_widgets.
11611
11612         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11613         for resize containers prior to size allocation. (this is also a bit
11614         ugly, but avoids side effects for stopped emissions and is thus more
11615         reliable).
11616         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11617
11618         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11619         function from gtk_tooltips_expose, as we connect to ::expose_event
11620         *and* ::draw now.
11621
11622 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11623
11624         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11625         checks.
11626         (gtk_target_list_unref): Likewise.
11627
11628         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11629
11630 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11631
11632         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11633         guard against division by zero. (Fixes bug #1339)
11634
11635 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11636
11637         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11638         Prevent the trivial leak of information of allowing
11639         word motion when the entry is not visible.
11640
11641 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11642
11643         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11644         modality to error dialog as well as confirmation dialogs.
11645         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11646
11647 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11648
11649         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11650         tree->view_lines.
11651         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11652
11653         * gtk/Makefile.am (install-data-local): Solaris apparently
11654         has various troubles with ln -f; use rm first instead.
11655         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11656
11657 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11658
11659         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11660         use `cp' followed by `rm' (the `rm' was already there).
11661
11662 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11663         
11664         * configure.in: Fix autoconf warnings about cross compilation by
11665         trying to provide sane defaults for AC_TRY_RUN.
11666         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11667         put them into $(srcdir) when generated. Also add a dependency of
11668         gtksignal.h on gtkmarshal.h for -j builds. 
11669         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11670
11671 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11672
11673         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11674         GDK_THREADS_{LEAVE,ENTER} pair.
11675         (From Paul Fisher <pnfisher@redhat.com>)
11676
11677 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11678
11679         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11680         width and height are always >0 (owen).
11681
11682 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11683
11684         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11685         change that assured that a widget's allocated with and height are
11686         always >1, since this breaks *buggy* panel code. unfortunately this
11687         back-breaks the gimp's color selector.
11688
11689         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11690         allocation is always >0 in width and height, before sending the
11691         configure event; this is a *gross* hack to get the gimp back to work.
11692         
11693         * marked both cases with TODO-1.3
11694
11695 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11696
11697         * gtk/gtktext.c: Don't display wrap indicators when
11698         text is not editable and word wrap is on.
11699
11700 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11701
11702         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11703         option menus here as they are not derived from menu shell, assure that
11704         the option menu has a menu we can add items to.
11705
11706 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11707
11708         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11709         width/height to (gint) before calculations and check against < 0 to
11710         avoid guint wraparounds.
11711
11712 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11713
11714         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11715         width and height is never zero. sanity check both dimensions against
11716         32767 and issue a warning if the allocation is greater than that.
11717
11718 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11719
11720         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11721         to g_main_pending() as well.
11722
11723 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11724
11725         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11726         call to g_main_iteration() - since that will regrab
11727         GTK+ lock to process events.
11728
11729 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11730
11731         * gtk/gtkwindow.c
11732         - Regularize with the rest of GTK+ by making widget->requisition
11733           not reflect the set_usize()
11734         - Always recompute geometry hints, then check if they
11735           changed before sending them to the X server. The
11736           previous checks for changes would fail in a number
11737           of circumstances. 
11738
11739 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11740
11741         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11742
11743 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11744
11745         * gtk/gtkdnd.c:
11746         - Code cleanups
11747         - Instantaneously update on modifier key presses
11748         - Allow cancellation of the drag with Escape.
11749
11750 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11751
11752         * gtk/testgtk.c (create_handle_box): Set the policy
11753         to auto_shrink - otherwise the appearance is rather
11754         strange when flipping between horizontal and vertical.
11755
11756 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11757
11758         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11759         (gtk_window_set_default_size): don't change a value if it's < 0.
11760         queue a resize.
11761
11762 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11763
11764         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11765
11766 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11767
11768         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11769         add an extra "/" when concating "/" + filename.
11770         (From Matt Grossman <mattg@oz.net>)
11771
11772 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11773
11774         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11775         for fg_gc if we set it for drawing pixmap.
11776
11777 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11778
11779         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11780         
11781         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11782         already set, call old engine's destroy function and
11783         unref the old engine.
11784
11785 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11786
11787         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11788
11789 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11790
11791         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11792
11793 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11794
11795         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11796         expand behaviour changed.
11797
11798         * gtk/gtklabel.c (gtk_label_set_pattern):
11799         (gtk_label_set_justify):
11800         (gtk_label_set_line_wrap):
11801         don't bother invoking queue_clear, the reallocation does
11802         that for us, always free_words so the upcoming resize will
11803         relayout the label's contents.
11804
11805 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11806
11807         * applied argument implementation patches from Elena Devdariani
11808         <elena@cogent.ca>.
11809
11810         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11811         ::space_style, ::relief
11812         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11813         * gtk/gtkpreview.c: ::expand
11814         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11815         * gtk/gtknotebook.c: ::homogeneous
11816         * gtk/gtklabel.c: ::wrap
11817         * gtk/gtklist.c: ::selection_mode
11818         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11819         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11820         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11821         * gtk/gtkclist.c: ::sort_type
11822         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11823         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11824
11825 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11826
11827         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11828         comment.
11829
11830 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11831
11832         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11833         counting right when we have to attach a new style
11834         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11835
11836         * gtk/gtkstyle.c: Documented the refcounting
11837         peculularities of gtk_style_attach.
11838
11839 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11840
11841         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11842         window types.
11843
11844         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11845         of GTK_TOPLEVEL for creating the window.
11846
11847 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11848
11849         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11850         the last argument (reported by Per Winkvist).
11851         
11852 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11853
11854         Fixes for invisible XOR lines (Frank Loemker
11855         <floemker@TechFak.Uni-Bielefeld.DE>)
11856         
11857         * gtk/gtkclist.c (gtk_clist_realize): Always use
11858         a non-zero pixel for GDK_XOR.
11859
11860         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11861         Use GDK_INVERT instead of GDK_XOR.
11862
11863 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11864
11865         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11866         signals if h/voffsets differ from adjustment values.
11867         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11868
11869 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11870
11871         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11872         ::selection-done emissions up to the topmost menu shell.
11873
11874 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11875
11876         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11877         the user data on the window before destroying it.
11878
11879         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11880         unrealize handler to take care of destroying 
11881         notebook->panel properly. 
11882         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11883
11884         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11885         of g_new and g_realloc to stop memory leak. (Actually,
11886         we could just use g_realloc(), but I'm not 100% sure
11887         that is portable).
11888         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11889
11890 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11891
11892         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11893
11894         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11895         for fontsets.
11896
11897         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11898         with bin/button confusion.
11899
11900 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11901
11902         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11903         and show how preselection of radio items is done.
11904
11905 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11906
11907         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11908         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11909         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11910         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11911         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11912         * gtk/gtktable.c (gtk_table_attach): 
11913         * gtk/gtklist.c (gtk_list_insert_items): 
11914         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11915         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11916         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11917         * gtk/gtkbin.c (gtk_bin_add): 
11918         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11919         * gtk/gtkfixed.c (gtk_fixed_put): 
11920         * gtk/gtklayout.c (gtk_layout_put):
11921         general fixups to container_add logic. always realize child if
11922         child->parent is realized, only map the child and queue a resize
11923         if child and child->parent are both visible.
11924
11925 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11926
11927         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11928         instead of gtk_container_foreach to walk and unrealize children, so
11929         composite children get also unrealized.
11930         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11931         (gtk_widget_map): assert that the widget is visible (basic constrain).
11932         (gtk_widget_real_map): assert that the widget is realized (basic
11933         constrain).
11934
11935 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11936
11937         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11938
11939 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11940
11941         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11942         file for iso-8859-2 locales.
11943
11944         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11945
11946 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11947
11948         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11949          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11950          Remove some suspicious and useless lines. 
11951
11952 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11953
11954         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11955         width,height = 0, 0 to mean - here to edge of window,
11956         instead of -1, -1, since the former is all we support.
11957
11958 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11959
11960         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11961         when removing from quit_functions list.
11962
11963 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11964
11965         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11966
11967 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11968
11969         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11970          When redrawing characters on non-visible entry, use appropriate
11971          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11972
11973 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11974
11975         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11976         from drag coordinates.
11977         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11978         use drag_dest_cell.
11979
11980         * gtk/gtktree (drag_dest_cell)
11981         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11982         (Bug #1129)
11983
11984 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11985
11986         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11987         translate_* fields.
11988         (gtk_item_factory_finalize): invoke translate_notify independant from
11989         translate_data.
11990         (gtk_item_factory_set_translate_func): likewise.
11991         (gtk_item_factory_destroy): only remove ifactory pointer from those
11992         widgets that belong to us (stupid me).
11993
11994 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11995
11996         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11997         rc_style list when lookup succeeeds.
11998
11999 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12000
12001         * gtk/gtkctree.c (resync_selection): 
12002         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12003         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12004         bug.
12005
12006 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12007
12008         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12009         Add some missing GDK_THREADS_ENTER()/LEAVE around
12010         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12011
12012 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12013
12014         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12015         rather than emit_by_name.
12016
12017         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12018         on the widget across multiple signal emissions.
12019         (gtk_editable_delete_text): same here.
12020         (gtk_editable_class_init): set widget_class->activate_signal after
12021         editable_signals[ACTIVATE] has been created.
12022
12023 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12024
12025         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12026         position here prematurely -- we might not have the
12027         right ->min_position and ->max_position yet.
12028
12029 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12030
12031         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12032         Add error traps so if the other end of the connection
12033         dies, we survive.
12034
12035         * gtk/gtkselection.c (gtk_selection_notify): Clean
12036         up properly when selection property retrieval fails.
12037         
12038         * gtk/gtkselection.c (gtk_selection_request): Correctly
12039         reject SelectionRequest notifies where the handler
12040         returns no data.
12041
12042 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12043
12044         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12045         when we've previously highlighted.
12046
12047         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12048         emit two "drag_leave" signals for Motif drops.
12049
12050         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12051         back the correct status messages when dropping from
12052         Motif onto a proxy window that is rejecting the
12053         drop.
12054
12055 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12056
12057         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12058         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12059         to compare two argument values. added gtk_arg_to_valueloc() to set a
12060         variable from an arg through its location (pointer).
12061
12062         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12063         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12064         as gfloat*, uchars are collected as guchar*, ints are collected as
12065         gint*, etc...
12066
12067 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12068
12069         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12070         Include <string.h> instead of <strings.h>.
12071
12072         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12073         (actually, a lot more duplicate includes occur if
12074          you trace through the sequence of #include's)
12075         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12076         
12077 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12078
12079         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12080         gtk-a-higuti-990322-[0-3]
12081
12082         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12083         that was causing -DX_LOCALE not to work.
12084
12085         * gtk/gtkrc.c (gtk_rc_init):
12086         X_LOCALE will never have LC_MESSAGES defined
12087
12088 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12089
12090         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12091         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12092
12093         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12094         left/right as well (gtk-michael-980726-0.patch.gz).
12095
12096         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12097         for pointer values, use gchar instead of char. fixed uline allocation
12098         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12099         chunks instead of G_ALLOC_ONLY.
12100         (gtk_label_size_request): always alter requisition as passed and leave
12101         widget->requisition alone.
12102         (gtk_label_set_text): allow NULL strings.
12103         (gtk_label_new): likewise.
12104
12105 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12106
12107         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12108
12109 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12110
12111         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12112         *and* mapped (i.e. drawable).
12113         (gtk_bin_expose): only send exposes to drawable children.
12114
12115         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12116         (gtk_box_expose): only send exposes to drawable children.
12117
12118         * gtk/gtkhscale.c (gtk_hscale_draw): 
12119         * gtk/gtkvscale.c (gtk_vscale_draw):
12120         hm, this is an ugly one. we first compute the size of our trough area
12121         here (window relative) and then check intersection with the draw_area
12122         which is parent relative because we're a NO_WINDOW widget, so we need
12123         to offset the trough area by allocation.x and allocation.y before the
12124         check. (this must not be done for the background area though, since
12125         that's already computed parent relative).
12126
12127 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12128
12129         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12130         unrealize title buttons.
12131
12132 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12133
12134         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12135         (gtk_clist_column_title_active): 
12136         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12137
12138         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12139         zero initialize event, removed superfluous gdk_window_get_pointer call
12140
12141         * gtk/gtklist.c (gtk_list_vertical_timeout)
12142         (gtk_list_horizontal_timeout): removed superfluous
12143         gdk_window_get_pointer call
12144
12145 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12146
12147         * plugging problems reported by "Bruce Mitchener, Jr."
12148         <bruce@puremagic.com> due to a purify session.
12149
12150         * gtk/gtkstyle.c:
12151         (gtk_style_ref): 
12152         (gtk_style_unref): assert ref_count to be > 0.
12153
12154         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12155         the requisition.
12156         (gtk_clist_set_shift): likewise.
12157
12158         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12159         adjustments.
12160
12161         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12162         event before sending it and set send_event to TRUE (which needs to
12163         be done for *all* synthesized events).
12164         (gtk_list_vertical_timeout): likewise.
12165
12166         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12167         leaks.
12168
12169         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12170         to TRUE when synthesizing events.
12171
12172 [ *** end of merges from 1.2 *** ]      
12173         
12174 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12175
12176         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12177         (or copied from gdkconfig.h.win32 on Win32, sigh).
12178
12179         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12180
12181         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12182
12183         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12184
12185         * gdk/gdkconfig.h.win32: New file.
12186
12187         * gdk/win32/makefile.cygwin: Build just a static archive here.
12188
12189         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12190         for the DLL from the static archive built above.
12191
12192         * gdk/gdk.def: Moved here from the win32 subdirectory.
12193
12194         * gdk/win32/*: Adapt for the changed private struct organisation.
12195
12196         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12197
12198 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12199
12200         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12201         for wheel mice (buttons 4 and 5).
12202
12203 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12204
12205         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12206         drawables use just the pixel field in the foreground and
12207         background GdkColor of the GdkGC.
12208
12209         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12210         GdkColors containing uninitialized (red,green,blue) fields, and
12211         just the pixel field filled in, and furthermore in the
12212         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12213         It thus turns out that we really don't need to have the full
12214         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12215         it later to have just the pixel values.
12216
12217 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12218
12219         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12220
12221 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12222
12223         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12224         New question on GtkLabel background colors.
12225
12226         * docs/gtk_tut.sgml:
12227           - Correct the example code callback
12228             function definitions.
12229           - Update the gtkdial example code, from Frans van Schaik.
12230           - Update setselection.c to current API.
12231
12232         * examples/Makefile examples/*/*.c: Update to code
12233         listed in tutorial.
12234
12235 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12236
12237         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12238         subrange table (from the "Developing International Software for
12239         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12240         block... Get the loaded font's charset correctly.
12241
12242         (Note that this, and the other *-win32.c files, still really are
12243         the old ones, the win32 subdirectory is not ready for compilation
12244         yet after the reorg.)
12245
12246 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12247
12248         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12249         check.
12250
12251 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12252
12253         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12254         on results of XQueryDeviceState().
12255
12256 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12257
12258         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12259         we need to accesss only ->children. We need an accessor
12260         for the children.
12261
12262         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12263         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12264         to get rid of gdkx.h include.
12265         
12266         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12267         and random references to 'None'.
12268
12269         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12270         Get rid of unused #include <gdk/gdkx.h>
12271
12272         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12273         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12274         gdkconfig.h.
12275
12276 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12277
12278         * gdk/win32/gdkdraw.c
12279         * gdk/win32/gdkfont.c
12280         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12281         following yesterday's changes. (Unrelated to Owen's reorg.)
12282
12283 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12284
12285         * gdk/x11/gdkinput-gxi.c: Add missing include,
12286           fix GdkWindowPrivate => GdkDrawablePrivate.
12287
12288         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12289
12290         * gdk/x11/Makefile.am (xinput_sources): Add missing
12291         backslash to fix building with --with-xinput=none
12292
12293 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12294
12295         Move all X specific code into the x11/ directory.
12296         Aside from shuffling things around, did the following:
12297
12298        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12299          gdk_arg_context_* - a simple argument parsing system
12300          in the style of popt.
12301
12302        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12303          gdk/x11/gdkprivate-x11.h:
12304          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12305          add ->klass and ->klass_data fields. The klass_data
12306          field points to an auxilliary structure that is
12307          windowing system dependent.
12308
12309        * gdk/gdkfont.c: Make most of the measurement functions
12310          simply wrappers around gdk_text_extents().
12311
12312        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12313          _gdk_font_strlen() function that hides the weird
12314          behavior in gtk+-1.[02] where a string is interpreted
12315          differently for 8-bit and 16-bit fonts.
12316
12317        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12318          to store common code for synthesizing double/triple
12319          press events.
12320         
12321        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12322          Make all the function that modify an existing GC
12323          simply wrappers around gdk_gc_set_values().
12324          
12325        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12326          for throwing out later.
12327
12328        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12329          GdkImagePrivate and GdkColormapPrivate to have a
12330          windowing system dependent part (GdkFontPrivateX etc.)
12331          that "derives" from the system-independent part.
12332
12333        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12334          Got rid of the included-source-files for XInput in
12335          favor of automake conditionals. (Which didn't exist
12336          when XInput support was originally added.)
12337
12338        * gdk/gdkrgb.c: Remove the visual id from the debugging
12339          statements since that is X11 specific; print out
12340          type/depth info instead.
12341          
12342
12343 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12344
12345         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12346         loading duplicates of hashed fonts.
12347
12348         * gdk/gdk.c (gdk_keysym_convert_case): rename
12349         gdk_XConvertCase to gdk_keysym_convert_case, allow
12350         results to be NULL in the GTK+ style.
12351
12352         * gdk/gdkcompat.h: Started compatibility header
12353         for renames.
12354
12355 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12356
12357         * gdk/win32/gdkprivate.h: New font private structures, related to
12358         fontsets.
12359
12360         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12361         gdk_font_list_free(). On X11, will just be wrappers to
12362         XListFonts() and XFreeFontNames(). On Win32, the code previously
12363         in gtkfontsel.c is now here.
12364
12365         New function gdk_font_xlfd_create(). On X11 will get the FONT
12366         property of the font (for GDK_FONT_FONTs), or call
12367         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12368         builds a XLFD style name from the font information in the LOGFONT
12369         struct(s).
12370
12371         New function gdk_font_xlfd_free(), which correspondingly frees the
12372         string returned by gdk_font_xlfd_create().
12373
12374         Implement fontsets on Win32. Add a function that iterates over a
12375         wide char string and calls a callback function for each substring
12376         of wide chars from the same Unicode subrange (and thus probably
12377         available in the same real font).
12378
12379         Improve the XLFD emulation a bit.
12380
12381         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12382
12383         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12384         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12385         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12386         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12387         ImmGetCompositionStringW() to get the composed Unicode chars.
12388
12389         * gdk/win32/gdkgc.c
12390         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12391         struct changes.
12392
12393         * gdk/win32/gdk.def: Add the new functions.
12394
12395 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12396
12397         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12398         get the Platform SDK to get <dimm.h>.
12399
12400         * gdk/win32/gdkevents.c: More event handling fixes and
12401         simplification. Never generate motion events with is_hint true. We
12402         used to do that on bogus grounds earlier. Windows sends
12403         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12404         moved, ignore these.
12405
12406         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12407
12408         * gdk/win32/gdkglobals.c
12409         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12410         the TrackMouseEvent function, and use it.
12411
12412         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12413         char before calling WideCharToMultiByte in order to get a string
12414         for the window title.
12415
12416         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12417
12418         * gdk/win32/gdk.def: Remove obsolete functions.
12419
12420         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12421         /nodefaultlib and /defaultlib switches.
12422
12423         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12424
12425 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12426
12427         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12428         EuroSign).
12429
12430         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12431         same type as GdkWChar, especially on Win32.
12432
12433         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12434
12435         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12436         before passing to Windows GDI for drawing etc. Convert to the
12437         system default codepage before passing to Windows as window
12438         titles.
12439
12440         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12441         support changing input locale on the fly.
12442
12443         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12444         on-the-fly changes. Convert incoming characters from the current
12445         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12446         on the current input language. Use keysym<->Unicode mapping tables
12447         and functions borrowed from xterm sources.
12448
12449         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12450         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12451         Manager) if available. IMEs and the Active IMM are available under
12452         the disguise of Chinese, Korean and Japanese support for IE and
12453         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12454         support is present in all editions (as long as you install it).
12455
12456         Call DispatchMessage from gdk_events_queue() (and thus
12457         gdk_WindowProc()), instead of duplicating the code in
12458         gdk_WindowProc().
12459
12460         Reworked the grab handling and propagation code, factored out
12461         duplicated code snippets into separate functions. Other cleanups,
12462         too.
12463
12464         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12465         the <dimm.h> header describing the Active IMM.
12466
12467         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12468         just do the same as for "single" fonts.
12469
12470         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12471         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12472         the new keysyms from gdkkeysyms.h.
12473
12474         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12475         fontset, so that gtkentry uses wide characters.
12476
12477         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12478         GTk+'s system directory "gtk+", not "gtk".
12479
12480 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12481
12482         * docs/gtkfaq.sgml: FAQ update
12483
12484 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12485
12486         * gdk/win32/gdkprivate.h: Add more font private data.
12487
12488         * gdk/win32/gdkfont.c
12489         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12490         fonts and strings. Now works much better. You still have to
12491         have a correct font selected, though. No fontset emulation yet.
12492
12493 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12494
12495         * gtk/maketypes.awk: Use G_OS_WIN32.
12496
12497         * gtk/gtk.def: Add some missing entry points. Also some non-public
12498         ones, but PyGTK porter claims to need them.
12499
12500         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12501         built-in type generation.
12502
12503 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12504
12505         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12506         GDK_FONT_FONT fonts (which is all we have for now, we don't
12507         emulate fontsets). The X11 version uses plain XDrawString in that
12508         case, too. The string passed to gdk_draw_text_wc seems to be in
12509         fact (at least, when used by gtkentry and gtktext) either in a
12510         single-byte charset, or a DBCS. Not Unicode.
12511
12512         This fixes the problem in gtkfontsel, where even if you had
12513         selected a font with a non-Latin1 charset (windows-greek, for
12514         instance), the preview still used Latin-1 glyphs.
12515
12516         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12517         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12518         (gdk_font_load): Recognize the demibold etc weights, even if we
12519         don't have the corresponding constants in the headers.
12520         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12521         version. Should save font resources a bit, when we don't have
12522         multiple HFONTs for the same font.
12523
12524         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12525         version.
12526
12527 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12528
12529         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12530         X values
12531
12532 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12533
12534         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12535         layout support (as mentioned on
12536         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12537
12538 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12539
12540         * gtk/fnmatch.c
12541         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12542
12543 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12544
12545         * configure.in (ALL_LINGUAS): Added Galician (gl)
12546
12547 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12548
12549         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12550
12551         * gdk/win32/gdkcompat.c: New file, actually provide an
12552         implementation for the deprecated functions. (Just temporarily.)
12553
12554         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12555
12556         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12557
12558         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12559
12560 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12561
12562         * configure.in: Added "uk" to ALL_LINGUAS.
12563         
12564 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12565
12566         * configure.in: correct checking for BeOS check
12567
12568         * gdk/gdktypes.h
12569         * gtk/fnmatch.c
12570         * gtk/gtkfilesel.c
12571         * gtk/gtkitemfactory.c
12572         * gtk/gtkmain.[ch]
12573         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12574
12575 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12576
12577         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12578         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12579         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12580         by Bulgarian). 
12581
12582 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12583
12584         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12585         Fix a reference to window_private->destroyed.   
12586
12587         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12588         (ugly) setting of an internal GdkWindow member to use
12589         a _slightly_ cleaner macro.
12590
12591         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12592         GdkDrawablePrivate and GdkWindowPrivate.
12593         Add extra macros for accessing GDK_DRAWABLE_ components.
12594
12595         * *.[ch]: Massive adjustments for the above, use the
12596         new macros in a lot of places.
12597
12598 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12599
12600         * gdk/gdktypes.h: Make GdkDrawable the base type,
12601         not GdkWindow.
12602
12603 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12604
12605         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12606
12607 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12608
12609         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12610
12611 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12612
12613         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12614         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12615
12616         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12617
12618         * docs/gtk-config.1: Now autogenerated.
12619         * docs/Changes-1.4.txt: started
12620         
12621 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12622
12623         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12624         to #ifdef also here.
12625
12626         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12627         Owen did to the X11 backend.
12628
12629         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12630         ScrollWindowEx when blitting inside a window, it can't be correct
12631         in the general case.
12632
12633         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12634         WM_GETMINMAXINFO is easier.
12635
12636         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12637         depth equal to the bitspixel value, not the visual's depth.
12638
12639         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12640         to 24 even if the bitspixel value is 32.
12641
12642         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12643         need to check for depth==32 when bpp==32, depth will always be 24.
12644
12645 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12646
12647         * docs/Changes-1.4.txt: Started
12648         
12649         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12650
12651         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12652         
12653         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12654         into C file.
12655         
12656         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12657         header to gdkinputprivate.h.
12658
12659         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12660         unused since before 1.2.
12661
12662 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12663
12664         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12665         expand possible hex escapes in the font family (put there by
12666         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12667         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12668         On Win32, add hex escapes here, too.
12669
12670 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12671
12672         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12673         to #ifdef GDK_WINDOWING_X11.
12674
12675 [ Merges from gtk-1-2 ]
12676
12677 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12678
12679         * configure.in: fixed "GNU Make" check to pass with new make version
12680         3.77.95.
12681
12682 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12683
12684         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12685         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12686         AM_PATH_GTK() macros don't get confused by the -pre1.
12687
12688 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12689
12690         * configure.in (REBUILD): Change check for perl5
12691           to check explicitely for v >= 5.002. (5.001
12692           does not work with our scripts.)
12693
12694 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12695
12696         * configure.in: evaluate $PERL for the perl version check. added
12697         --disable-rebuilds to give the user an option to completely disable
12698         any source autogeneration rules.
12699
12700 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12701
12702         * configure.in: evaluate $ac_make when checking for GNU Make.
12703
12704 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12705
12706         * docs/Makefile.am: added generation.txt.
12707
12708         * Makefile.am: require automake 1.4, build README from README.in and
12709         INSTALL from INSTALL.in in dist-hook.
12710         
12711         * README.in:
12712         * INSTALL.in: new files to autogenerate README and INSTALL from.
12713
12714         * configure.in: figure whether we have GNU Make
12715
12716         * docs/generation.txt: minor additions/corrections.
12717
12718 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12719
12720         * docs/gtkfaq.sgml: FAQ Update
12721
12722 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12723         
12724         * configure.in: Fix autoconf warnings about cross compilation by
12725         trying to provide sane defaults for AC_TRY_RUN.
12726
12727 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12728
12729         * ltconfig
12730         * ltmain.sh: upgrade to libtool 1.3.3
12731
12732 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12733
12734         * INSTALL: Indicate that the --with-glib= configure
12735         time flag is unsupported.
12736
12737 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12738
12739         * docs/generation.txt: Added a file that gives
12740         documenation about the autogeneration process for
12741         various autogenerated files.
12742         
12743 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12744
12745         * configure.in (LIBS): Look for libgmodule in the
12746         right location.
12747
12748 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12749
12750         * docs/gtk_tut.sgml: Removed references to
12751         code examples in my directory on gtk.org as
12752         they should all be in the tutorial now.
12753
12754         * docs/gtk_tut.sgml: Added sources for dial-test
12755         and scribble-xinput programs that were previously
12756         missing.
12757
12758 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12759
12760         * TODO: Added entry about menu keyboard navigation, removed
12761         some finished items.
12762
12763 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12764
12765         * acinclude.m4: Standardize on func_dgettext
12766         not func_gettext, so that the checks for dgettext
12767         actually are paid attention to.
12768
12769 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12770
12771         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12772         directly, rather than repeating the checks for
12773         gettext.
12774
12775         * INSTALL: Added information about gettext and
12776         NLS support.
12777
12778         * acinclude.m4 (LIBM): Check for dgettext, not
12779         just gettext. This should hopefully fix things wrt
12780         systems with old versions of GNU gettext installed.
12781
12782 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12783
12784         * configure.in (LIBS): Look for libgmodule in the
12785         right location.
12786
12787 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12788
12789         * autogen.sh: add --enable-maintainer-mode
12790
12791         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12792
12793 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12794
12795         * docs/gtk-config.1.in:
12796           docs/Makefile.am:
12797           configure.in: gtk-config is now generated.
12798
12799         * docs/gtk-config.1: Removed, now generated.
12800
12801 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12802
12803         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12804         handle CreateNotify itself, still put out a debuging message for
12805         --gdk-debug=events. made the ReparentNotify debugging message more
12806         verbose.
12807         wrap xcoords translation for ConfigureEvents into an error trap,
12808         a destroy event may already be pending, and in that case, the
12809         actuall coordinate values are not at all critical.
12810
12811 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12812
12813         * gdk/gdkcc.c: Stop leaking the color_hash all over
12814         the place. Simplify and improve the logic.
12815
12816 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12817
12818         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12819         for prototypes and function implementations consistent (reported
12820         by Tomas Ogren).
12821
12822 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12823
12824         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12825         send_event set in debugging output.
12826         (gdk_compress_exposures): default initialize the event so we don't
12827         operate on bogus values (namely send_event).
12828
12829 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12830
12831         * gdk/gdkwindow.c: When we receive an unexpected
12832         destroy notify on one of our windows, don't just
12833         warn about it, also mark our windows as destroyed.
12834
12835 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12836
12837         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12838           name => font and name => fontset hashes. The 
12839           name => fontset hash is a _big_ win since we
12840           weren't previously caching fontsets at all and loading
12841           fontsets is expensive. The name => font hash
12842           is less of a win, but it does save us from doing
12843           repeated XQueryFont calls on the same font.
12844
12845         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12846           list so we can remove font/fontset from hash.
12847
12848 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12849
12850         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12851           and slightly confusing test. [ XInternAtom (,,TRUE)
12852           will never return None ].
12853
12854 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12855
12856         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12857           gdk/gdkwindow.c (gdk_window_set_hints):
12858
12859         Don't omit setting the properties if flags == 0 -
12860         there may be an existing set of properties there
12861         already. (Very old bug. Would it be better to
12862         delete the property instead?)
12863
12864         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12865           spelling error in comment.
12866
12867 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12868
12869         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12870           to avoid stomping over gdk_error_warnings.
12871
12872         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12873           as (bits_per_pixel + 7) / 8. This gives the same
12874           result as before for multiples of 8, but actually
12875           a "reasonable" value for 1bit or 4bit displays.
12876
12877 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12878
12879         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12880         GNU Make.
12881
12882 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12883
12884         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12885         discarding configure events.
12886
12887 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12888
12889         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12890         refcount is greater than zero.
12891
12892         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12893
12894         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12895
12896         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12897
12898         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12899
12900 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12901
12902         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12903         that format 32 => sizeof(item) == 4. It really is
12904         sizeof(long).
12905
12906 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12907
12908         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12909         core dump at all on X IO errors, only core dump
12910         if --enable-debug for X errors.
12911
12912 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12913
12914         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12915         unknown window:" message. disabled ConfigureNotify discarding code,
12916         because it led to events being processed out of order.
12917
12918 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12919
12920         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12921
12922         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12923         we export this function, supress error warnings and don't reset the
12924         error code in the first half of this function.
12925
12926         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12927         code (instead of just -1) so gdk_error_trap_pop() reveals something
12928         actually informative about the error that happened.
12929
12930         * gdk/*.c:
12931         don't rely on gdk_error_code being -1 if an error occoured, but just
12932         gdk_error_code != 0.
12933
12934 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12935
12936         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12937         pointer *before* invoking the filter function, so we at least don't
12938         crash if a filter is removed that is currently executed. window filters
12939         *really* need to be made truely reentrant at some point.
12940
12941 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12942
12943         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12944         PropertyNotify debug messages.
12945
12946 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12947         
12948         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12949         
12950         * gdk/gdkim.c: Fix cut-and-paste errors for 
12951         x/y and PreeditAttributes/StatusAttributes.
12952
12953 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12954
12955         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12956         G_MAXINT to 2^16 to alleviate overflow problems in
12957         various window managers.
12958
12959 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12960
12961         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12962         for fontsets.
12963
12964 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12965
12966         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12967         Initialize size_hints.x and size_hints.y because kwm
12968         brokenly pays attention to them.
12969         (Bug #1181 -  Lars Heete <hel@admin.de>)
12970
12971 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12972
12973         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12974         return value of gdk_list_visuals(). 
12975         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12976
12977 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12978
12979         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12980         XSetIMValues to (void *) when comparing to NULL, to workaround
12981         the problem of some compilers barfing since older X headers don't
12982         have the prototype for it.
12983
12984 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12985
12986         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12987         for pseudocolor where colormap->colors was double
12988         allocated.
12989
12990         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12991         color value in the hash table with the pixel filled
12992         in so when we do later hash table lookups, the color
12993         value is correct.
12994         
12995 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12996
12997         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12998         making the call
12999
13000 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13001
13002         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13003         pointed out by Morten Welinder <terra@diku.dk>.
13004
13005 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13006
13007         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13008           default filter from the list
13009
13010 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13011
13012         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13013           default filter from the list
13014
13015 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13016
13017         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13018
13019         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13020         g_strdup_printf instead of calcing the length separately
13021
13022 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13023
13024         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13025         that we don't do in many other places. (Fixing duplicate 
13026         #include of config.h)
13027
13028         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13029         Otherwise, #ifndef XINPUT_NONE check in the latter
13030         doesn't work. (Bug #546)
13031
13032 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13033
13034         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13035         "None" case insensitive.
13036
13037 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13038
13039         * gdk/gdkselection.c: 
13040         Add error traps so if the other end of the connection
13041         dies, we survive.
13042
13043 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13044
13045         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13046         dest_xid field into two fields - one for the window
13047         to send in messages, one to indicate the last looked
13048         up window for caching purposes. This is needed, so
13049         that Leave messages get the correct window.
13050
13051 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13052
13053         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13054         Fix warning created by people mucking around
13055         with the gsource API.
13056
13057         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13058         Change mapping between GIOCondition and GdkInputCondition
13059         to match the way the Linux kernel does it. This should
13060         fix problems where closed pipes were no longer signalling
13061         GDK_INPUT_READ on systems with a native poll().
13062
13063 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13064
13065         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13066         explicitly for the string "None" - it is in the XPM
13067         spec and some servers treat unknown colors in odd ways
13068         (like asking the user!)
13069
13070 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13071
13072         * gdk/gdkevents.c: made "->" into a "." of previous change so
13073         it compiles
13074
13075 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13076
13077         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13078         window field of the event structure before calling
13079         user filters.
13080
13081 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13082
13083         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13084         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13085
13086 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13087
13088         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13089         intermediate text property - prevents major memory
13090         leak when gdk_use_mb.
13091         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13092
13093 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13094
13095         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13096         gtk-a-higuti-990322-[0-3]
13097
13098         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13099         sizeof(wchar_t) != sizeof (GdkWChar)
13100
13101         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13102         that was causing -DX_LOCALE not to work.
13103
13104         * gtk/gtkrc.c (gtk_rc_init):
13105         X_LOCALE will never have LC_MESSAGES defined
13106
13107         * gdk/gdk.c (gdk_init_check):
13108         Remove --xim-preedit and --xim-status from argv properly.
13109
13110         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13111         that the client window is present on the X server
13112         before we pass it to the input method.
13113
13114 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13115
13116         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13117         if --display is specified on the command line, than
13118         the drag window will not be created on that display.
13119         
13120 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13121
13122         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13123         lookups with only_if_exists == TRUE were inserting
13124         bogus values into the atom cache.
13125
13126 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13127
13128         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13129         then reset it to NULL.
13130
13131         * gdk/gdkcolor.c:
13132         (gdk_colors_free): 
13133         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13134         key for g_hash_table_remove() in both functions, this prevents us
13135         from accessing possibly uninitialized portions of a GdkColor structure
13136         where we are only interested in its pixel value.
13137
13138 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13139
13140         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13141         font hash table, if we have a GdkFontPrivate entry for this font
13142         already, simply increment its reference count, provided by Olaf Dietsche
13143         <olaf.dietsche+list.gtk@netcologne.de>.
13144
13145 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13146
13147         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13148         just to be sure.
13149
13150         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13151         unused variables, leftovers from the X11 version.
13152
13153         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13154
13155         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13156         downcase fields on X11.
13157
13158 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13159         
13160         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13161         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13162
13163 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13164
13165         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13166
13167         * gtk/makefile.msc: Correct path to libintl.
13168
13169         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13170         use of gint vs. int, and gint vs. gboolean in headers and
13171         definitions. Use GtkType for the *_get_type functions. Note that
13172         these changes preserve binary compatibility.
13173
13174         * gdk/gdk.c
13175         * gdk/win32/gdk.c
13176         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13177
13178         * gtk/gtkmain.c
13179         * gtk/gtkclist.c
13180         * gtk/gtkmenufactory.c
13181         * gtk/gtknotebook.c
13182         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13183         vs. gboolean.
13184
13185         * gtk/gtkcolorsel.[ch]
13186         * gtk/gtkcombo.[ch]
13187         * gtk/gtkdrawingarea.[ch]
13188         * gtk/gtkgamma.[ch]
13189         * gtk/gtkhandlebox.[ch]
13190         * gtk/gtkhpaned.[ch]
13191         * gtk/gtkhruler.[ch]
13192         * gtk/gtkplug.[ch]
13193         * gtk/gtkpreview.[ch]
13194         * gtk/gtkruler.[ch]
13195         * gtk/gtksocket.[ch]
13196         * gtk/gtkstatusbar.[ch]
13197         * gtk/gtktoolbar.[ch]
13198         * gtk/gtkvbbox.[ch]
13199         * gtk/gtkvpaned.[ch]
13200         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13201         functions.
13202
13203         * gtk/gtkgamma.h: Fix bug, missing () in call of
13204         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13205
13206 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13207
13208         * gdk/gdkcolor.c (gdk_colormap_new)
13209         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13210         colormap->colors was allocated twice.
13211
13212         * gdk/win32/gdk.c: Remove some unused stuff.
13213
13214         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13215         colormap.
13216
13217         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13218         * gtk/gtklabel.h (gtk_label_get_type)
13219         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13220         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13221         in a couple of places, not guint.
13222
13223 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13224
13225         * configure.in,po/et.po: added Estonian language file
13226
13227 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13228
13229         * configure.in,po/da.po: added Danish file
13230
13231 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13232
13233         * docs/gtkfaq.sgml: Minor FAQ Update
13234
13235 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13236
13237         * docs/gtkfaq.sgml: FAQ update
13238
13239 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13240
13241         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13242         way to get window contents continually refreshed while resizing. I
13243         didn't like the effects myself, so it's not on by default.
13244
13245         * gdk/win32/gdkprivate.h: New flag variable
13246         gdk_event_func_from_window_proc, FALSE by default.
13247
13248         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13249         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13250         are passed --gdk-event-func-from-window-proc.
13251
13252         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13253         and we have am event_func, call it instead of enqueing the event.
13254
13255 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13256
13257         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13258         Kelley: Set expose_count in GdkEventExposes correctly.
13259
13260         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13261         MULTIPLE_WINDOW_CLASSES).
13262
13263         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13264         for bug in NT, apparently NT *does* draw the end pixel, too, in
13265         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13266
13267 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13268
13269         Improvements by Hans Breuer: 
13270
13271         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13272
13273         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13274         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13275         window contents while dragging" is turned on. Allocate at least
13276         one unique class for every GdkWindowType. If support for single
13277         window-specific icons is ever needed (eg. Dialog specific), every
13278         such window should get its own class.
13279
13280 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13281
13282         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13283         error that caused crashes.
13284
13285 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13286
13287         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13288         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13289         bugs when for instance part of the window was outside the
13290         display. Thanks to Philippe Colantoni for finding and fixing this.
13291
13292 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13293
13294         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13295         endpoint calculations which were totally wrong. (A little RTFMing
13296         helps a lot ;-)
13297
13298         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13299         from a separate directory, not from gettext, because of licensing
13300         issues (we want to use the LGPL version).
13301
13302         * README.win32: Mention the intl from glibc vs from gettext issue.
13303
13304 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13305
13306         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13307         in the key event handling: Now AltGr chars work again. Also,
13308         now Alt-digits are passed up as well as Control-digits.
13309         Pass keypad plus and minus as normal plus and minus.
13310
13311 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13312
13313         * docs/gtkfaq.sgml: FAQ Update
13314
13315 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13316
13317         * README.win32
13318         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13319         the Wintab SDK.
13320
13321         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13322         OK, but getting closer. Guard against bogus tilt data from Wacom
13323         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13324         enable easier building without Wintab.
13325
13326         * gdk/win32/gdkinput.h
13327         * gdk/win32/gdkevents.c 
13328         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13329         
13330         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13331         code. As we have just one visual on Win32, no sense to have it in a
13332         table, and no need for the hash table.
13333
13334         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13335         better on white background.
13336
13337 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13338
13339         * README.win32: Update gcc build instructions. Mention gettext is
13340         GPL.
13341
13342         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13343         supported cursor size with GetSystemMetrics.
13344
13345         * gdk/win32/gdkfont.c
13346         * gtk/gtkfontsel.c: Guard against some font weight and charset
13347         symbols being undefined (in mingw32 headers).
13348
13349         * gdk/win32/makefile.cygwin
13350         * gtk/makefile.cygwin
13351         * gtk/gtkthemes.c: No longer need to have differently named
13352         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13353
13354 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13355
13356         * docs/gtkfaq.sgml: Long awaited FAQ update.
13357
13358 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13359
13360         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13361         it. Obscure bit manipulation needed.
13362
13363         * gdk/win32/gdkevents.c: Logging.
13364         
13365         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13366         style (file name include compiler name) for theme engines.
13367
13368 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13369
13370         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13371
13372         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13373         events. The key.string wasn't zero-terminated, still we strdup'ed
13374         it in gdk_event_copy(). Synthesize crossing events for button
13375         events before possible propagation.
13376
13377         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13378
13379         * gdk/win32/makefile.cygwin
13380         * gtk/makefile.cygwin: Use new DLL naming style for the
13381         GCC-compiled ones.
13382
13383         * gdk/win32/makefile.msc
13384         * gtk/makefile.msc: Cosmetics mostly.
13385
13386         * gtk/gtk.def: Add missing entry points.
13387
13388         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13389
13390 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13391
13392         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13393         or height is zero. Don't print a warning if Pie or Arc fails, they
13394         always fail (?) for very narrow ellipses.
13395
13396         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13397         the part or the destination window corresponding to source area
13398         outside of the source drawable's boundary.
13399
13400         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13401         anything if less than two points.
13402
13403         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13404         return NULL. Gtk cut-and-paste inside a single program works
13405         better this way. (It always gets the clipboard contents from
13406         Windows, not from its own copy, which is cleared anyway. I can't
13407         say I fully understand what happens... Emulating the X selection
13408         and property stuff is a bit of a mess.)
13409
13410         * gdk/win32/gdkevents.c
13411         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13412
13413         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13414         that never got deleted). Revamp gdk_region_shrink.
13415
13416         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13417         after use.
13418
13419         * gtk/gtk.def: Add some missing entry points.
13420
13421         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13422         component.
13423
13424 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13425
13426         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13427         Control-digits specially.
13428
13429 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13430
13431         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13432
13433 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13434
13435         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13436         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13437         finding this.)
13438
13439 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13440
13441         * gtk+.spec.in: Corrected some typos in files section.
13442         
13443 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13444
13445         * README.win32: Mention using GNU gettext.
13446         * config.h.win32: Enable NLS stuff.
13447         * gtk/makefile.msc: Use GNU gettext.
13448         * gdk/win32/gdkdnd.c: Minor header reorg.
13449         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13450         cosmetics.
13451         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13452         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13453
13454 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13455
13456         * acinclude.m4
13457         * config.guess
13458         * config.status
13459         * ltconfig
13460         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13461
13462 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13463
13464         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13465         SafeAdjustWindowRectEx. Don't override all calls to
13466         AdjustWindowRectEx by it, but use it only in two places: When
13467         creating a new top-level window and when moving a top-level
13468         window.
13469
13470         Use screen coordinate rectangle, not client rectangle, in
13471         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13472         when we try to place a window so that the decoration (mainly,
13473         title bar) isn't visible.
13474
13475         These changes fix the bug that showed up for instance as the
13476         GIMP's saved top-level windows moving right and down (by an amount
13477         equal to the window decoration) for each session. This bug showed
13478         up also in testgtk's "Saved Position".
13479
13480         gdk_window_resize also redone a bit.
13481
13482 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13483
13484         * gtk/testgtkrc: Add (commented out) Windows-style theme
13485         include line.
13486
13487         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13488
13489 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13490
13491         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13492         gdkx.h to a gdk subdirectory, so that applications can include
13493         these with <gdk/*.h> without trouble.
13494
13495         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13496         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13497         have their bitmap destroyed.
13498
13499         * gdk/win32/gdk.def: Add gdk_root_parent.
13500
13501 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13502
13503         * configure.in
13504           gtk-config.in
13505           ltconfig
13506           ltmain.sh     
13507           gtk/Makefile.am: changes to compile nicely (with xlib) 
13508           on BeOS
13509
13510 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13511
13512         * acinclude.m4
13513         * config.guess
13514         * config.sub
13515         * ltconfig
13516         * ltmain.sh: upgrade to libtool 1.3
13517
13518 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13519
13520         * gtk/gtkclist.c:
13521         * gtk/gtkctree.c: merges from gtk-1-2
13522
13523 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13524
13525         Support added for building using a GNU toolchain on Win32,
13526         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13527
13528         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13529         * config.h.win32: Changes for gcc.
13530         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13531         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13532         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13533         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13534         Protect shl stuff unavaiilable with mingw32 headers.
13535         * gdk/win32/gdkevents.c: Fix typo.
13536         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13537         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13538         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13539         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13540         the mingw32 headers.
13541         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13542         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13543         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13544         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13545         Test for NATIVE_WIN32, not _MSC_VER.
13546         * gtk/gtkmain.c: No use warning about developer version on Win32,
13547         there aren't any non-developer versions anyhow.
13548         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13549         * gtk/makefile.msc: Use pthread from another directory. Minor other
13550         changes. 
13551
13552 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13553
13554         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13555           default filter from the list
13556
13557 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13558
13559         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13560          when gtk_widget_grab_default() is called for a widget that
13561          is not within a GtkWindow.
13562
13563 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13564
13565         * docs/gtk_tut.sgml, examples/clist.c: use a
13566           scrolled window in the clist example. Minor
13567           tutorial fixes.
13568
13569 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13570
13571         * docs/gtk_tut.sgml: Style check from David King
13572           <dking@youvegotmail.net>
13573
13574 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13575
13576         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13577         compile with unknown value of GDK_WINDOWING
13578
13579 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13580
13581         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13582         after the rule is fired.
13583         (install-exec-local): Install gdkconfig.h only if the contents are
13584         different from the currently installed gdkconfig.h.
13585
13586 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13587
13588         * gdk/Makefile.am (configexecincludedir): Rename from 
13589         configincludedir so that gdkconfig.h will be installed 
13590         as part of `make install-exec'. 
13591
13592 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13593
13594         * acinclude.m4
13595         * config.guess
13596         * config.sub
13597         * ltconfig
13598         * ltmain.sh: upgrade to libtool 1.2f
13599
13600         * autogen.sh: libtool is not required to autogen gtk+
13601
13602         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13603         needed)
13604
13605 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13606
13607         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13608         declaring gdk variables exported/imported from the DLL. New image
13609         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13610         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13611         GDK_DRAG_PROTO_OLE2.
13612
13613         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13614         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13615         declared only for the Win32 version, but could be in the X11
13616         version as well. (Needed for a Xlib-less gdk_imlib.)
13617         gdk_color_hash should have only one parameter. Declare
13618         gdk_threads_mutex with GDKVAR.
13619         
13620         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13621         just one parameter.
13622
13623         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13624         per pixel, not bits.
13625
13626         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13627         Fetch bpp (which means bits-per-pixel here) from another place on
13628         Win32. Accept also depth==32 (which we might get on Win32) with
13629         bpp==32.
13630
13631         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13632         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13633         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13634         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13635         in the backend-dependent directory, not in the common gdk
13636         directory.
13637
13638         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13639         headers.
13640
13641 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13642
13643         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13644         want to use the Gtk+ devel version (which is true, and yes - even i am
13645         currently working with the 1.2.x branch). so everyone reading this, you
13646         probably want to issue
13647         cvs checkout -r glib-1-2 glib
13648         and
13649         cvs checkout -r gtk-1-2 gtk+
13650         as your next two comands.
13651
13652 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13653
13654         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13655         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13656
13657         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13658         file. strongly deprecated the GTK_HAVE_* macros, we provide
13659         GTK_CHECK_VERSION() for people that need to check for certain
13660         Gtk+ versions.
13661
13662         * gtk/gtkcompat.h: removed this from CVS.
13663         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13664         idea right from the start, it just didn't seem like that back then.
13665
13666 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13667
13668         * merges from gtk-1-2:
13669
13670 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13671
13672         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13673         item factory class has been created.
13674         (gtk_item_factory_parse_rc): likewise.
13675
13676         * gtk/gtkmenu.c:
13677         keep proper references for old_active_menu_item.
13678         (gtk_menu_reparent): unset the usize of the new parent,
13679         so the menu can sanely be size requested and we don't get nasty screen
13680         artefacts upon next reparentation.
13681         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13682         enter notify. only synthesize enter notifies if the pointer really is
13683         inside the event window.
13684         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13685         (gtk_menu_popup): move the background setting stuff into
13686         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13687
13688         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13689         gtk_menu_shell_select_item() to select the new item.
13690         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13691         do the right thing for deselection as well.
13692
13693 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13694
13695         * gtk/gtkwidget.[hc]:
13696         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13697         are locked.
13698
13699         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13700         existing accelerators if the widget's accelerators are locked.
13701
13702 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13703
13704         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13705
13706         * gtk/gtkmenu.c: truely forward key press and key release events to
13707         the menu widget from the toplevel or tearoff window. we can't simply
13708         connect to that, we need to stop further processing of the events as
13709         well.
13710
13711 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13712
13713         * gtk/gtkmenu.c:
13714         (gtk_menu_key_press): pass event->keyval, event->state to
13715         gtk_accelerator_valid, instead of event->keyval twice.
13716         refuse to install single letter accelerators for menus that use
13717         single letter shortcuts.
13718
13719         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13720         gtk_menu_ensure_uline_accel_group().
13721
13722         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13723         which will always return an uline accel group, made
13724         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13725         yet created.
13726
13727 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13728
13729         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13730
13731         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13732         Leave button sensitive, trap  button_press, button_release,
13733         motion_notify, enter_notify and leave_notify events instead.
13734         (gtk_clist_column_title_active): disconnect event handler.
13735         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13736         Guillaume Laurent <glaurent@worldnet.fr>
13737
13738 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13739
13740         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13741         width/height mixups.
13742
13743         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13744         if needed.
13745
13746 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13747
13748         * gtk/testgtk.c (create_item_factory): unref the item factory after
13749         window's destruction.
13750
13751         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13752         count on the menu shell around the menu item's activation, since the
13753         signal emission may cause menu shell destruction.
13754
13755         * gtk/gtkitemfactory.c:
13756         the previous code leaked one accel group per menu. we use
13757         gtk_menu_get_uline_accel_group() now to fix that, and with that
13758         also create the underline accelerator group of the menus only if
13759         required (i.e. an underline accelerator has been specified).
13760         (gtk_item_factory_construct):
13761         (gtk_item_factory_create_item): removed code that would create an
13762         extra accel group for the menu (and leak references).
13763         (gtk_item_factory_create_item): adapted the underline accelerator
13764         installation code to properly feature gtk_menu_get_uline_accel_group().
13765
13766         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13767         menu->accel_group, this may return NULL if the accelerator group
13768         hasn't been set yet.
13769         added gtk_menu_get_uline_accel_group() to retrive the underline
13770         accelerator group of the menu, this will be created on demand
13771         and proper care is taken about its reference count.
13772
13773         * gtk/gtkitemfactory.h:
13774         * gtk/gtkitemfactory.c:
13775         dumped the approach of keeping a widgets by action list on the
13776         factory since the factory<->widget destroy negotiation didn't work
13777         and would be hard to get going at all. instead we keep a list of
13778         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13779         persistant throughout a program's life time).
13780         also, i removed the static const gchar *key_* variables, and made
13781         them inline strings (they weren't actually used anyways).
13782         (gtk_item_factory_add_item): update ifactory->items.
13783         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13784         the item factory pointer from the remaining ifactory widgets).
13785         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13786         list to find the widget.
13787         (gtk_item_factory_get_item): new function that works around
13788         gtk_item_factory_get_widget() limitations, this function will only
13789         return menu items, even for <Branch> entries.
13790
13791 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13792
13793         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13794         font hash table, if we have a GdkFontPrivate entry for this font
13795         already, simply increment its reference count, provided by Olaf Dietsche
13796         <olaf.dietsche+list.gtk@netcologne.de>.
13797
13798         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13799         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13800
13801 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13802
13803         * gtk/gtkcontainer.c:
13804         (gtk_container_add_with_args):
13805         (gtk_container_addv):
13806         (gtk_container_add): before adding a child to a conatiner, make sure
13807         it is (default) constructed, this is neccessary because under certain
13808         circumstances the child will get relized and mapped immediatedly, in
13809         which case it has to be constructed already.
13810
13811 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13812
13813         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13814         values > 1 as TRUE also.
13815
13816 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13817
13818         * README.win32: New file.
13819                 
13820         * configure.in: Check for lstat.
13821
13822         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13823         completeness.
13824
13825         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13826
13827         * gtk/gtk.def: Removed CRs.
13828
13829         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13830         ..\gdk\win32).
13831
13832         * gdk/win32/makefile.msc: Correct upwards relative paths.
13833         
13834 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13835
13836         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13837           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13838           it was connecting a void function to expose_event and the int
13839           returning function to the draw signal
13840
13841 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13842
13843         * configure.in:
13844         Use correct path to libgmodule.la when ref'ing uninstalled copy
13845         of glib.  (Already in stable branch, Bug #417)
13846
13847 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13848
13849         Win32 merge and general portability stuff:
13850                 
13851         * acconfig.h,configure.in: Check for <sys/time.h>.
13852
13853         * gdk/win32: New directory (actually, been there for a while).
13854         
13855         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13856         NATIVE_WIN32, and use these. Always case fold on Win32. No
13857         backslashed escapes on native Win32.
13858
13859         * gtk/{gtk.def,makefile.msc}: New files.
13860
13861         * gtk/Makefile.am: Add above new files.
13862         
13863         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13864         instead of <strings.h>.
13865
13866         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13867         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13868         <unistd.h> appropriately.
13869
13870         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13871         Use ABS() (from <glib.h>) instead of abs().
13872         
13873         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13874         of gtk (and thus glib) headers, so that WIN32 will be
13875         defined. With MS C, include <direct.h> for mkdir prototype.
13876
13877         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13878         some casts, needed by MS C.
13879
13880         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13881         implemented).
13882
13883         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13884         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13885         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13886
13887         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13888                 
13889         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13890         the event is not a hint, or its window is not the slider. Needed
13891         on Win32, at least.
13892
13893         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13894         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13895         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13896         a subdirectory of the Windows directory as gtk system
13897         configuration directory.
13898
13899         * gtk/gtkselection.c: No chunks on Win32.
13900
13901         * gtk/gtksocket.c: Not implemented on Win32.
13902
13903         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13904
13905         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13906
13907         * gtk/maketypes.awk: Declare variables with a macro that expands to
13908         necessary export/import magic in the case of Win32.
13909                 
13910         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13911
13912 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13913
13914         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13915         since those were meant only for gdki18n.h.  
13916         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13917         for widechar tests.
13918         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13919
13920 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13921
13922         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13923         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13924
13925         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13926         installed) to CFLAGS.
13927
13928         * gdk/Makefile.am: Add rules for gdkconfig.h.
13929
13930         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13931         APIs.
13932
13933         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13934         gdkx.h anyway when compiling for X11.
13935         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13936         general): Merge in Win32 version.
13937         
13938         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13939         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13940         expansion (if we don't have HAVE_PWD_H), allow for drive
13941         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13942         included code from Craig Setera's port to Win32 (the one that uses
13943         X11, and the cygwin dll), even if it probably will be abandoned.
13944
13945         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13946         the user entered one herself.  This way one can complete *.h and
13947         don't get matches on any .help files, for instance.
13948         
13949 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13950
13951         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13952         font hash table, if we have a GdkFontPrivate entry for this font
13953         already, simply increment its reference count, provided by Olaf Dietsche
13954         <olaf.dietsche+list.gtk@netcologne.de>.
13955
13956         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13957         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13958
13959 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13960
13961         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13962         the number of calls to gdk_draw_point() (and thus to X) by
13963         clipping the points by hand.
13964
13965         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13966         the clip parameter.
13967         (gtk_handle_box_paint): Only paint the handle if the expose area
13968         intersects it.
13969
13970 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13971
13972         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13973
13974 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13975
13976         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13977         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13978
13979 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13980
13981         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13982          textmode (O_TEXT) for OS/2 version.
13983
13984 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13985
13986         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13987         GtkSpinButton, "input" and "output", to make the output more flexible.
13988         The user has to provide a mapping between adjustment->value and the
13989         output string (and vice versa, if the spin button is editable). 
13990         See testgtk for examples.
13991
13992 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13993
13994         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13995         new one.
13996         
13997         * configure.in: set gtk+ version to 1.3.0.