]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
add prerequesite on gobjects.
[~andy/gtk] / ChangeLog.pre-2-10
1 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
4         on gobjects.
5
6         * tests/testtreefocus.c (main): New test file.
7
8         * tests/testtreeview.c: update to latest glib changes.
9
10         * tests/testtreecolumns.c: update to latest glib changes.
11
12 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
13
14         * gtk/testgtk.c: re-enabled event watcher emission hooks.
15
16 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
17
18         * *.c: added accumulator data argument to g_signal_newc()
19         functions.
20
21         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
22         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
23         * gtk/treestoretest.c (make_window):
24         s/g_signal_connect/g_signal_connectc/.
25
26         * gtk/gtktextbuffer.c: completed signal arg fixups,
27         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
28
29 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
30
31         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
32         G_CONST_RETURN.
33
34         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
35         ::hierarchy-changed signal when a widget changes
36         from anchored to unanchored or vice versa.
37         (anchored means 
38          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
39         Use a private flag to keep track of this efficiently.
40
41 2001-03-07  Havoc Pennington  <hp@redhat.com>
42
43         * gtk/testgtk.c (create_spins): uglify so that size request gets
44         tested.
45
46         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
47         request on values for upper/lower, completes #6152
48
49 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
50
51         * Makefile.am: Remove gtk-config-2.0 again.
52         (Grrrr, pkg-config. And stops make loops.)
53
54 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
55
56         * gtk/gtksignal.[hc]: removed old emission hook API.
57         
58         * docs/Changes-2.0.txt: fixed sections.
59         
60         * gtk/gtktextbuffer.c: signal arg fixups.
61
62 2001-03-07  Havoc Pennington  <hp@redhat.com>
63
64         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
65
66         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
67         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
68         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
69         validation and the redraw which is higher priority than the
70         validation.
71
72 2001-03-07  Havoc Pennington  <hp@redhat.com>
73
74         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
75         (gtk_entry_set_property): remove trailer
76
77         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
78         (gtk_entry_get_width_chars): new functions, to set size request to 
79         a given number of characters
80
81         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
82
83         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
84         (gtk_dialog_get_has_separator): new function
85         (run_delete_handler): fix to not emit "response" signal
86         because we already did in the delete event handler installed
87         at dialog creation time.
88         
89         * gtk/gtkdialog.h: add a has_separator property,
90         add GTK_DIALOG_NO_SEPARATOR flag
91
92 2001-03-07  Havoc Pennington  <hp@redhat.com>
93
94         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
95         off decorations for a window.
96
97         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
98         changes
99
100         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
101         to get location of PangoLayout inside the label, closes #51198
102
103         * gtk/testgtk.c (create_bbox): fix up button box usage
104
105         * gtk/testcalendar.c (create_calendar): fix up button box usage
106
107         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
108
109         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
110
111         * gtk/gtkhbbox.h: deprecations
112
113         * gtk/gtkvbbox.h: deprecations
114
115         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
116         emulate deprecated gtk_button_box_get_spacing
117
118         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
119         the "set global default" functions
120         (struct _GtkButtonBox): remove "spacing" field, use the one from 
121         GtkBox base class
122
123         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
124
125         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
126         render the icon, return the missing image icon.
127
128         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
129         image icon if the load fails.   
130
131         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
132         when no image is found; should be the Netscape "missing image"
133         icon eventually but for now is a random image
134
135         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
136         role for the session manager
137
138         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
139
140         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
141         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
142
143         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
144
145 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
146
147         * gtk/*.c: marshaller fixes.
148         
149         * gtk/gtkmarshal.list: extreme cleanup.
150
151         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
152         param spec for now.
153
154         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
155         where appliable.
156
157         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
158         special cased autogenerated boxed types from gtktypebuiltins_ids.c
159         which are not reference counted:
160         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
161         PangoFontDescription, GtkTreeIter and GtkTreePath.
162
163 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
164
165         * gtk/gtktreeselection.h: 
166         * gtk/gtktreemodel.c:
167         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
168         file should be included directly, and gobject/gmarshal.h
169         as well as gtk/gtkmarshal.h even can't be included directly.
170
171         * Makefile.am: grr, install gtk-config-2.0.
172
173         * gtk/testgtk.c:
174         * gtk/simple.c:
175         * gtk/gtkmenu.c:
176         * gtk/gtkitemfactory.c: use g_object_connect() instead of
177         passing "*signal*::*" args to gtk_widget_set().
178         
179         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
180         
181         * gtk/*.c: removed trailer arg from property setters and getters.
182         macro fixups.
183
184 2001-03-07  Alexander Larsson  <alexl@redhat.com>
185
186         * gtk/gtklabel.c (set_markup): Removed warning
187
188 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
189
190         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
191         field to allow you to hide cell renderers.
192
193         * gtk/gtkcellrenderer.c: Add support for invisible cells.
194
195         * gtk/gtktreeview.c: Add support for invisible cells.
196
197 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
198
199         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
200         Add "clicked" signal back to columns.
201
202         * ChangeLog: remove conflict markers.
203
204 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
205
206         * gtk/gtkbutton.c: Add animation of activation by, on 
207         activate, pressing the button, and adding a timeout that 
208         releases the button after 250ms or on key release and
209         emits ::clicked. (#51501)
210
211         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
212         action area, we connect to ::clicked instead of ::activate
213         so the dialog stays up through the animation.
214
215 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
216
217         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
218         check the ignore_enter flag for the menu shell that
219         the item is actually a child of, not for attached
220         submenus. (#51536)
221
222 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
223
224         * gtk/gtkmain.c (gtk_propagate_event): Only do special
225         special key-press grab handling for widgets within
226         GtkWindows. Otherwise, fall through to normal case.
227
228         This prevents key events being sent twice to GtkInvisible
229         widgets, which can cause all sorts of mischief.
230
231 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
232
233         * gtk/gtkmain.c (gtk_propagate_event): When a grab
234         widget is in effect, give the grab widget a first
235         crack at KEY_PRESS/RELEASE events. (#424)
236
237 2001-03-06  James Henstridge  <james@daa.com.au>
238
239         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
240         offset for the window_state_event to point at window_state_event
241         rather than no_expose_event.
242
243 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
244
245         * gtk/gtkimmodule.h: fix busted /* comment */
246
247 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
248
249         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
250         object properties.
251
252 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
253
254         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
255         add object properties.
256
257         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
258         to add object properties.
259
260         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
261         object properties.
262
263         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
264         add object properties.
265
266         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
267         object properties.
268
269 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
270
271         * gtk/gtktreemodel.c: renamed "child_toggled" to
272         "has_child_toggled".
273
274         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
275         handle new signal name.
276
277         * gtk/gtktreestore.c: Updated to handle new signal name.
278         * gtk/gtklisttore.c: Updated to handle new signal name.
279         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
280
281 2001-03-05  Alexander Larsson  <alexl@redhat.com>
282
283         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
284         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
285
286 2001-03-05  Michael Natterer  <mitch@gimp.org>
287
288         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
289         pixbuf-engine coincidentially also failed to make one of it's
290         parent_class pointers static, causing overwriting of GtkLabel's
291         parent_class pointer in pixbuf_style_class_init().
292         (Will commit the fix to the pixbuf-engine too).
293
294 2001-03-05  Alexander Larsson  <alexl@redhat.com>
295
296         * gdk/gdkwindow.h:
297         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
298         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
299         gdk_window_set_icon_list for net wmspec functionality.
300
301         * gdk/x11/gdkwindow-x11.c:
302         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
303         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
304         gdk_window_set_icon_list.
305         Added gdk_wmspec_change_state helper function and used it in the code.
306         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
307
308         * gtk/gtkdialog.c (gtk_dialog_init):
309         Set GDK_WINDOW_TYPE_HINT_DIALOG.
310
311         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
312         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
313
314         * gtk/gtkwindow.c:
315         new function gtk_window_set_type_hint.
316         On realize, set type hint and modal hint.
317
318         * gtk/gtkwindow.h:
319         Added type_hint field and gtk_window_set_type_hint.
320
321 2001-03-05  Alexander Larsson  <alexl@redhat.com>
322
323         * gtk/gtklabel.[ch]:
324         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
325         New function gtk_label_get_accel_keyval () to get the underline accelerator
326         of the label. Setting the label pattern overrides other attributes.
327
328 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
329
330         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
331         Added missing initializers to gtk_rc_style_init().
332
333 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
334
335         * gtk/gtktextview.c: fixed bug #51097 about setting 
336         gtk_text_view_set_border_window_size() if the widget is 
337         already realized.
338
339 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
340
341         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
342
343         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
344         comment. Won't do to have duplicated doc comments between
345         the platform subdirs.
346
347 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
348
349         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
350           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
351
352         Detectable auto-repeat - make a repeating key generate
353         press/press/press/release instead of press/release pairs.
354
355         If we have Xkb and XkbSetDectableAutoRepeat supports
356         that, we do it that way. Otherwise, when we get
357         a release event, we check ahead with XPending to see
358         if the next key is a KeyPress with the same keycode
359         and timestamp. (Not 100% reliable, but pretty close.)
360           
361 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
362         
363         * gtk/gtkmain.c (gtk_propagate_event): Only do special
364         special key-press grab handling for widgets within
365         GtkWindows. Otherwise, fall through to normal case.
366  
367         This prevents key events being sent twice to GtkInvisible
368         widgets, which can cause all sorts of mischief.
369  
370 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
371  
372         * gtk/gtkmain.c (gtk_propagate_event): When a grab
373         widget is in effect, give the grab widget a first
374         crack at KEY_PRESS/RELEASE events. (#424)
375  
376 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
377
378         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
379         to extend the selection. (Roughly based on patch
380         from Jay Cox, #50939)
381
382         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
383         to properly handle previous GDK_BUTTON_PRESS. 
384         (Patch from Jay Cox, #50938)
385
386         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
387         '\0' back along with the deleted text. (#51148)
388
389 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
390
391         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
392         the group when extracting it from the X keyboard event.
393
394         * modules/input/Makefile.am modules/input/imipa.c: 
395         Simple module for entering IPA. (Do we need a 
396         gtk-stupid-input-tricks CVS module?)
397
398 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
399
400         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
401         const.
402
403         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
404
405         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
406         is no focus widget for the dialog currently, grab the focus as well
407         as the default.
408
409         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
410         the action area's children to iterate through, not the
411         dialog's children.
412
413 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
414
415         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
416         Add plug-socket tests. (Won't work worth a darn until I commit
417         the rest of the plug-socket changes, but no reason these
418         can't go into CVS now.)
419
420 2001-03-02  Havoc Pennington  <hp@redhat.com>
421
422         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
423         _gdk_region_get_xrectangles()
424
425         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
426
427         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
428
429         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
430         function, contributed by Ron Steinke    
431
432         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
433         gdk_net_wm_supports
434
435         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
436         New function, contributed by Ron Steinke
437
438         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
439         used to line up the text in the entry when using the entry for
440         editable sheet cell hacks
441
442         * gtk/testgtk.c (create_entry): test the activate_default setting
443         on GtkEntry
444
445         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
446         cause the entry to activate the default button for a dialog when 
447         activated
448         (gtk_entry_get_activates_default): new function
449
450 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
451
452         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
453         Hwang to move call to sync_selection() up a few lines
454         to before the row list is modified, to fix crash when
455         removing rows in the undo_selection list.
456
457         (Test case provided by Daniel Elstner:
458
459         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
460
461 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
462
463         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
464         of tree->root_tree in parent_set rather than _map(), 
465         fixing #50892 in a bit better manner.
466
467 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
468
469         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
470
471 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
472
473         * gtk/gtkstyle.c : Remove duplicate fwd decl for
474         gtk_default_draw_shadow.
475
476 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
477
478         * gdk/gdkimage.c (gdk_image_new): Remove excess 
479         warning, make warnings more verbose, treat a error
480         in shmat as permanent, and don't try again.
481         (#51163, Ed Randall.)
482
483 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
484
485         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
486         delay for the first click before starting to scroll.
487         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
488
489         * gtk/gtktext.c: GtkText should have I-beam cursor. 
490         (based on gtk-enf-990513-1.patch, Eric Fisher.)
491
492 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
493
494         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
495         cleanup to remove some references to unused
496         ->xoffset, ->yoffset.
497
498 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
499
500         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
501         mask. (#51039, fix from Martin Maierhofer)
502
503 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
504
505         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
506         for unshifted + and shifted = for non-us keyboards.
507         Make <Control>+ and <Control>- work as well as 
508         <Control>KP_Plus, <Control>KP_Minus for recursive
509         open/close.  (#2682, René Seindal)
510
511 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
512
513         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
514         the active menu item before deactivating the menu,
515         so gtk_menu_popdown doesn't change the history. (#50964)
516         
517 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
518
519         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
520         draw lines with text_gc rather than black_gc.
521         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
522
523 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
524
525         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
526         Move handling of buttons fully in gtktreeviewcolumn.  This code is
527         less interrelated then it was, but it still requires the
528         GtkTreeView to map it.
529
530         * test/testtreecolumn.c: Now I can add a column to one view,
531         remove it, add it to the another view, remove it, then re-add it
532         to the first.  Nifty.
533
534 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
535
536         * docs/tutorial/gtk-tut.sgml: Minor corrections
537
538 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
539
540         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
541         GtkRowReference.
542
543 2001-02-28  Havoc Pennington  <hp@redhat.com>
544
545         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
546         draw_default
547         (gtk_widget_draw_focus): remove this function; we could instead
548         make it just gtk_widget_draw(), but in most cases I think the
549         result would be broken user code, so think it's better to have
550         that code not compile and get fixed
551         (gtk_widget_draw_default): ditto
552
553         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
554         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
555         
556         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
557         widgets lose/get the default, instead of calling draw_default
558         
559         * docs/Changes-2.0.txt: note about all this
560
561         Then fixed every widget in GTK, I won't list all the filenames.
562
563 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
564
565         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
566         _gtk_tree_row_reference_deleted.
567         (inserted_callback): Proxy out to
568         _gtk_tree_row_reference_inserted.
569         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
570         get around signal emission ordering problem.
571
572         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
573         fix to work with SINGLE 
574         (_gtk_tree_selection_internal_select_node): Major sanitization on
575         selections.  SINGLE now seems to work.
576
577         * tests/Makefile.am: add testtreecolumn.c:
578
579         * tests/testtreecolumn.c: New test.  Mostly points out selection
580         bugs currently, but will test columns later.
581
582         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
583         selection bug.  I hate touching this code -- it's scary.
584
585 2001-02-26  Havoc Pennington  <hp@redhat.com>
586
587         * gtk/testgtk.c: test the window state stuff
588
589         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
590         window come to the user's attention as if it were just created
591         (gtk_window_iconify): new function
592         (gtk_window_deiconify): new function
593         (gtk_window_stick): new function
594         (gtk_window_unstick): new function
595         (gtk_window_maximize): new function
596         (gtk_window_unmaximize): new function
597
598         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
599
600         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
601
602         * gdk/x11/gdkevents-x11.c: create window state events when
603         appropriate
604         (gdk_wmspec_supported): new function
605
606         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
607         iconification before showing the window
608         (gdk_window_deiconify): new function
609         (gdk_window_stick): new function
610         (gdk_window_unstick): new function
611         (gdk_window_maximize): new function
612         (gdk_window_unmaximize): new function
613
614         * gdk/gdkwindow.c: store the window state in the window; 
615         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
616         window->mapped.
617         (gdk_window_get_state): return the current window state
618
619         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
620         (gdk_event_get_state): handle GDK_WINDOW_STATE
621         (gdk_synthesize_window_state): function to create the window state
622         events
623
624         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
625         event, for changes to "window state" such as maximized, sticky, 
626         etc.
627         
628         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
629         focuses a window
630
631         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
632         finds out if we support a given WM spec hint
633
634 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
635
636         * docs/faq/gtk-faq.sgml: New question re memory leaks.
637
638 2001-02-25  Hans Breuer  <hans@breuer.org>
639
640         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
641         cause we want to loose those prototypes only in the latter case
642
643         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
644         GdkPixmapImplWin32 because it itsn't derived from it. Use the
645         impl member variable instead
646
647         * gtk/gtk.def : updated
648
649         * gtk/gtklist.c : 
650         * gtk/gtkmenus.c : include <string.h> for memset ()
651
652         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
653         for everthing built here, but for gtk-x.x.dll only. This solves
654         problem of indifferent gtk type definitions
655
656 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
657
658         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
659
660 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
661
662         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
663         column that is exposed.
664
665         (_gtk_tree_view_update_size): Changed name from set_size, and
666         changed function to do more work, and not force people calling it
667         to figure out the size.  Simplifies a lot of code elsewhere.
668
669 2001-02-23  Alexander Larsson  <alexl@redhat.com>
670
671         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
672         return solid masks for xpms that have no transparent color.
673         This makes the ..._create_from_xpm... API backwards
674         compatible.
675
676 2001-02-23  Tor Lillqvist  <tml@iki.fi>
677
678         * README.win32: Update. Mention the gtk-1-3-win32-production
679         branch.
680
681         * gdk/win32/bdfcursor.c: New file. A program that generates
682         xcursors.h. Thanks to Stefan Ondrejicka.
683
684         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
685         compact format.
686
687         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
688
689         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
690         function, uses xcursors.h.
691         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
692         cursor from inline data instead of using LoadCursor() to generate
693         it from a resource.
694
695         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
696         event, must check the Windows message for mouse button state, as
697         the GDK event state might not have been built if it is
698         undelivered. Remove one goto.
699
700         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
701         SetCursor() if the current cursor as returned by GetCursor() is
702         the window's previous cursor. The ChildWindowFromPoint() test
703         apparently didn't work correctly.
704
705         * gdk/win32/rc/*.cur: Remove.
706
707         * gdk/win32/rc/gdk.rc.in: Remove cursors.
708
709         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
710
711         * gtk/makefile.{mingw,msc}.in: Updates.
712
713 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
714
715         * gtk/gtktreemodel.h: add functions for signal emission.
716
717         * gtk/gtktreestore.c: move to use above functions instead of
718         g_signal_emit.
719
720         * gtk/gtkliststore.c: ditto
721
722 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
723
724         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
725         GObject instead of GtkObject.
726
727         * gtk/gtkliststore.c: ditto.
728
729         * gtk/gtktreemodelsort.c: ditto.
730
731         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
732         GtkTreeModelIface, instead of in each model.
733
734 2001-02-21  Havoc Pennington  <hp@redhat.com>
735
736         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
737         unbreak this function
738
739         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
740         properties
741
742         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
743         properties
744
745         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
746         properties
747
748         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
749         mean unset the max length
750
751 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
752
753         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
754         Changed name to be set_cell_data_func to make it clear what
755         the functino does.  Close bug #51069.
756
757 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
758
759         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
760         have memory actually freed.  Keeps box running longer.
761
762 2001-02-21  Alexander Larsson  <alexl@redhat.com>
763         
764         * gtk/gtkseparatormenuitem.[ch]:
765         Added new menu separator item. The drawing and size handling
766         is still done in GtkMenuItem, but the API is a bit more sane.
767         
768         * gtk/Makefile.am:
769         Add gtkseparatormenuitem.[ch].
770
771         * gtk/gtk.h:
772         Add gtkseparatormenuitem.h.
773         
774         * gtk/gtkentry.c:
775         * gtk/gtkmenufactory.c:
776         * gtk/gtktextview.c:
777         Use the new API for menu separators.
778         
779         * demos/gtk-demo/menus.c (create_menu):
780         Add some GtkSeparatorMenuItem demo code.
781
782 2001-02-20  Havoc Pennington  <hp@redhat.com>
783
784         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
785         Lee Mallabone
786
787         * gtk/gtkarrow.c: Convert to new property API, patch from 
788         Lee Mallabone
789
790 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
791
792         * tests/testtreeview.c (toggled_callback): fix to reflect change
793         in GtkTreeModelStore.
794
795 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
796
797         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
798         function to create an icon set from a pixbuf.
799
800 2001-02-20  Alexander Larsson  <alexl@redhat.com>
801
802         * gtk/gtkcellrenderertext.[ch]:
803         Add a "markup" property.
804
805         * gtk/treestoretest.c:
806         Use the markup property, remove some leftover stuff from
807         GtkTreeModelMapping.
808
809 2001-02-20  Alexander Larsson  <alexl@redhat.com>
810
811         * gtk/gtklabel.c (gtk_label_set_selectable):
812         Queue a redraw if the selectable setting was changed.
813
814 2001-02-20  Alexander Larsson  <alexl@redhat.com>
815
816         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
817         Actually copy the whole gc, not just the public parts.
818         
819         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
820         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
821         labels.
822
823 2001-02-19  Havoc Pennington  <hp@pobox.com>
824
825         * gdk/gdkwindow.c: docs
826
827         * gdk/gdkrgb.c: docs
828
829         * gdk/gdkregion-generic.c: docs
830
831         * gdk/gdkgc.c (gdk_gc_set_values): docs
832
833         * gdk/gdkdraw.c: docs
834
835         * gdk/gdkdrawable.h: deprecate drawable get/set data
836
837 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
838
839         * demos/gtk-demo/dialog.c: Add simple new demo.
840
841 2001-02-19  Havoc Pennington  <hp@redhat.com>
842
843         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
844         insert_child_anchor signal, bug #50245
845
846         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
847         from create_child_anchor, so the anchor is passed in
848
849         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
850         (_gtk_widget_segment_new): have the child anchor object passed in, 
851         instead of creating it.
852
853         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
854         to gtk_text_buffer_get_modified
855
856 2001-02-19  Havoc Pennington  <hp@redhat.com>
857
858         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
859         changed GLib without fixing GTK
860
861         * gtk/gtkrange.h: Rename all the stupid implementation detail 
862         functions to have an underscore in front. Most of them should 
863         probably just go away, but for starters don't export them.
864         Bug #50482
865
866 2001-02-19  Havoc Pennington  <hp@redhat.com>
867
868         * gdk/gdkcolor.h: test was backward, so deprecated functions were
869         excluded by default
870
871         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
872         clean up the old code a bit
873
874         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
875         inconsistent state
876
877         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
878         draw inconsistent state
879
880         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
881         (create_menu): add inconsistent test
882
883         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
884         new function
885         (gtk_check_menu_item_get_inconsistent): new function
886         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
887         state (using etched in for now)
888
889         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
890         draw inconsistent state
891
892         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
893         function, used when the user has selected a range of stuff in
894         different states
895         (gtk_toggle_button_get_inconsistent): accessor for that
896         (gtk_toggle_button_paint): draw inconsistent state (etched in?
897         don't know what else to do)
898
899 2001-02-19  Hans Breuer <hans@breuer.org>
900
901         * gtk/gtk.def : updated exported symbols
902
903         * gtk/makefile.msc.in : updated
904
905         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
906         a colormap, when invoked from testgtk::entry. I'm not sure where
907         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
908         avoids immediate crashing ...
909
910         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
911         any objections ?
912
913         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
914         0 parameter. At least msvc doesn't like macros with var args. 
915         I simply removed the extra 0, was it a feature or a typo ?
916
917         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
918         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
919         because the value assignment to the internal struct wasn't working.
920         I'm not absolutely sure. The problem could have been resolved by
921         changing the "func" declartion in the struct, but was the pointer
922         to the function pointer intended ?
923
924         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
925
926         * gdk/gdk.def : updated exported symbols
927
928         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
929         only use SetDIBitsToDevice if there is a palette at the drawable
930         and the image is GDK_VISUAL_PSEUDO_COLOR
931
932         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
933
934         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
935
936         * gdk/*/makefile.msc : updated
937
938 2001-02-19  Havoc Pennington  <hp@redhat.com>
939
940         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
941         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
942
943         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
944         (gdk_key_repeat_restore): nuke
945
946         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
947         (gdk_init_check): no atexit func
948
949         * gdk/gdkrgb.h: mark some stuff deprecated
950
951         * gdk/gdkcolor.h: mark some stuff deprecated
952         
953         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
954
955         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
956
957 2001-02-16  Havoc Pennington  <hp@redhat.com>
958
959         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
960         scroll steps.
961
962         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
963         steps, and add Ctrl-arrow shortcuts for paging visually as with
964         HScale, since Page Up and Page Down move logically.
965
966         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
967         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
968         
969         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
970         steps
971         (gtk_range_scroll): handle the visual steps
972
973         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
974         scroll steps
975
976         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
977         steps, not the logical ones.
978
979         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
980         (scroll_vertical): handle up/down steps
981
982 2001-02-19 Alexander Larsson  <alexl@redhat.com>
983
984         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
985         Copy data and free data with free().
986
987         * gdk-pixbuf/gdk-pixbuf.c:
988         * gdk-pixbuf/io-jpeg.c:
989         * gdk-pixbuf/io-png.c:
990         Use g_try_malloc/g_free instead malloc/free.
991         
992         * gdk-pixbuf/test-gdk-pixbuf.c:
993         Must... initialize... gobject...
994         
995         * gdk-pixbuf/pixops/timescale.c:
996         * gtk/gtkcalendar.c:
997         Use g_malloc instead of malloc.
998         
999 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1000
1001         * gtk/testgtkrc:
1002         Comment out property assignments, these don't work yet.
1003
1004 2001-02-17  Havoc Pennington  <hp@pobox.com>
1005
1006         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1007         bit.
1008
1009 2001-02-17  Havoc Pennington  <hp@pobox.com>
1010
1011         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1012         shadowed variables that had broken size request in some cases,
1013         leading to bogus tooltips (#50996)
1014
1015 2001-02-06  Jon K Hellan  <hellan@acm.org>
1016
1017         Implement fast browsing of tooltips, bug #50619
1018         
1019         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1020         and last_popdown
1021         
1022         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1023         use_sticky_delay and last_popdown.
1024         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1025         time of popdown.
1026         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1027         is NULL.
1028         (gtk_tooltips_recently_shown): New static function.  Return true
1029         if < sticky_delay has elapsed since last popdown.
1030         (gtk_tooltips_event_handler): Display window after sticky_delay
1031         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1032         since last popdown.
1033         
1034 2001-02-17  Havoc Pennington  <hp@pobox.com>
1035
1036         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1037         instead of (). #6394
1038
1039         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1040         G_CONST_RETURN, make it return by reference, #50473
1041         
1042 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1043
1044         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1045         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1046         setup fields contain garbage (e.g. subwindow, breaking
1047         gdk_drawable_ref() upon event copy).
1048         (gtk_menu_stop_navigating_submenu_cb): same here.
1049
1050         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1051         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1052         * gtk/gtkclist.c (vertical_timeout): 
1053         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1054         default-zero-intialization for unions to memset(,0,), as unions are
1055         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1056         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1057
1058         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1059         g_closure_sink() warning.
1060
1061         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1062         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1063         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1064         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1065         
1066 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1067
1068         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1069         gtk_*_store_get, and moved to GtkTreeModel.
1070
1071         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1072
1073         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1074
1075         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1076
1077         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1078         set the func.
1079
1080         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1081         freeze/thaw notify between setting all the properties for a cell.
1082
1083         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1084
1085 2001-02-15  Havoc Pennington  <hp@redhat.com>
1086
1087         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1088         the X coordinates so they're with respect to the line, rather than 
1089         with respect to the layout.
1090
1091         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1092         Mallabone
1093
1094         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1095         and inverted test
1096
1097         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1098         #50806
1099
1100         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1101
1102         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1103         gtk_text_iter_is_end
1104
1105         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1106         rename gtk_text_buffer_get_end_iter
1107
1108         * gtk/testgtk.c (create_labels): Add test for selectable
1109
1110         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1111         the selection stuff. This code is kind of broken since it doesn't 
1112         use the theme engine.
1113
1114         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1115         fix infinite loop and y offset problem
1116         (gdk_draw_layout_line_with_colors): fix foreground color handling
1117
1118         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1119         that makes the label selectable.
1120         
1121         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1122         layout when the style is set, since fonts etc. could have changed.      
1123
1124 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1125
1126         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1127
1128         * gtk/gtktreemodelsimple.[ch]: removed.
1129
1130 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1131
1132         * gtk/gtktreemodelmapping.[ch]:
1133         New files. Implement GtkTreeModelMapping.
1134         
1135         * gtk/Makefile.am:
1136         Add gtktreemodelmapping.[ch].
1137         
1138         * gtk/gtk.h:
1139         Add gtktreemodelmapping.h
1140
1141         * gtk/treestoretest.c:
1142         Test the GtkTreeModelMapping
1143
1144 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1145
1146         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1147         have a demo, we might as well pass in real values.  Thanks to
1148         clahey for pointing this out.
1149
1150 2001-02-14  Havoc Pennington  <hp@pobox.com>
1151
1152         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1153         "static" to a private function
1154         (gtk_image_menu_item_class_init): remove destroy handler,
1155         add "image" object property
1156
1157 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1158
1159         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1160         Add a shortcut if the window and the current clip_region doesn't
1161         overlap. This is needed when there are a lot of windows in a
1162         window. The layout test in testgtk is a good test.
1163
1164         * gdk/linux-fb/gdkwindow-fb.c:
1165         Whitespace fix.
1166
1167 2001-02-13  Sven Neumann  <sven@convergence.de>
1168
1169         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1170
1171 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1172
1173         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1174         Don't reference last_cursor if it is null. Fixes crash when rotating
1175         the screen before having moved the mouse.
1176
1177         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1178
1179         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1180
1181         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1182         when using 90 or 270 degrees rotation.
1183
1184 2001-02-12  Havoc Pennington  <hp@pobox.com>
1185
1186         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1187         it always set the foreground, even if we were only using
1188         a stipple.
1189         (gdk_draw_layout_line_with_colors): new function, allow
1190         override colors
1191         (gdk_draw_layout_with_colors): new function, allow override
1192         colors
1193         (gdk_pango_layout_line_get_clip_region): function to get the clip
1194         region for a logical text range
1195         (gdk_pango_layout_get_clip_region): get the clip region for a
1196         logical text range
1197
1198         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1199         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1200         the right number of arguments.
1201
1202         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1203         enhance the function to check that node data corresponds to a 
1204         view still belonging to the tree.
1205
1206         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1207         GtkTreePath
1208         (gtk_tree_view_inserted): ditto
1209         (gtk_tree_view_child_toggled): ditto
1210
1211         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1212         simplify this code.
1213
1214         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1215         a PangoAttrList
1216
1217         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1218
1219         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1220
1221         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1222         size in the size request 
1223         (gtk_menu_bar_size_allocate): consider toggle size here
1224
1225         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1226         that displays a widget in the toggle slot
1227
1228         * gtk/testgtk.c: test GtkImageMenuItem
1229
1230         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1231         
1232         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1233         request and allocation
1234
1235         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1236
1237         * gtk/gtkcheckmenuitem.c
1238         (gtk_check_menu_item_toggle_size_request): ditto
1239         
1240 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1241
1242         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1243         reference.
1244
1245         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1246         and refuse to initialize GTK+ if they fail.
1247
1248 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1249
1250         * configure.in: Add check for gtk-doc version.
1251
1252 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1253
1254         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1255         where the xpad/ypad was only being used on one side!
1256
1257 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1258
1259         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1260         function, copied from X11 version.
1261
1262         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1263         DestroyCursor failures. The reason for the problem (despite the
1264         inconsistent messages from GetLastError()) was that
1265         DestroyCursor() cannot be called while a cursor is set in a
1266         window. Set the new cursor first and then destroy the old one.
1267         Thanks to jpe@archaeopteryx.com.
1268
1269         * gdk/win32/gdkcc-win32.c: Remove.
1270
1271         * gdk/win32/Makefile.am: Remove from here, too.
1272         
1273         * gdk/gdk.def
1274         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1275
1276         * gtk/gtk.def
1277         * gtk/makefile.mingw.in: Updates.
1278
1279 2001-02-08  Havoc Pennington  <hp@redhat.com>
1280
1281         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1282         add a widget to a bin that already has a child.
1283
1284         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1285
1286         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1287         
1288         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1289
1290         * gdk/gdk.h: remove gdkcc.h
1291
1292         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1293
1294         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1295         GdkPixbuf, since the previous implementation was GdkColorContext
1296         dependent.
1297
1298         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1299         
1300 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1301
1302         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1303         a sane value!
1304
1305 2001-02-08  Havoc Pennington  <hp@redhat.com>
1306
1307         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1308         lighten them.
1309
1310 2001-02-08  Havoc Pennington  <hp@redhat.com>
1311
1312         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1313         validation idle
1314
1315         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1316         cell renderer
1317
1318         * demos/pixbuf-demo.c (timeout): remove deprecated
1319         gtk_widget_draw
1320
1321         * demos/testpixbuf-save.c (main): remove deprecated
1322         gtk_drawing_area_size
1323
1324         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1325         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1326         at the start of the allocation.
1327         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1328         unsetup or NULL model.
1329
1330         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1331         even/odd/sorted cells in the tree view.
1332
1333         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1334         bugfixes
1335
1336         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1337         backgrounds with draw_flat_box using different detail for even/odd
1338         rows.
1339
1340         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1341         row, so we can draw the alternating colors thing
1342
1343         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1344         property from a synonym property, notify for the synonym.
1345         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1346         (gtk_text_tag_get_property): Always return the font, even if
1347         all its fields aren't set
1348
1349         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1350         store the attr list; it leaves us with no way to change attributes
1351         in _render according to the render flags, and no way to implement
1352         get_property. Instead store all the specific text attributes. 
1353         Separate whether an attribute is enabled from its value. Sync all
1354         properties with GtkTextTag, make them all consistent, etc.
1355
1356         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1357         renderers can highlight the sort row/column     
1358
1359         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1360         accessor functions to get values; this has the side effect of
1361         showing up which accessor functions were missing. Added those.
1362
1363         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1364         set_alignment, to be consistent with GtkLabel, GtkMisc
1365
1366         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1367         arrow.
1368
1369         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1370
1371         * gtk/gtktreesortable.h: updates in here
1372
1373 2001-02-07  Sven Neumann  <sven@convergence.de>
1374
1375         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1376         pango dimensions after painting the background. We used to draw
1377         gigantic flat boxes here.
1378
1379 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1380
1381         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1382         error introduced with earlier commit) (pointed out by
1383         Ollie Lho)
1384
1385 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1386
1387         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1388         which are no longer necessary.
1389
1390 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1391
1392         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1393
1394 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1395
1396         * gdk/gdk.def
1397         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1398         Provide dummy implementations.
1399
1400 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1401
1402         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1403
1404         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1405         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1406         deprecated this function.
1407
1408         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1409         argument.
1410
1411 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1412
1413         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1414
1415 2001-02-03  Havoc Pennington  <hp@pobox.com>
1416
1417         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1418         Mikael Hermansson with patch from Mikael (if there was a toggle
1419         start one after the first character in the range, this function
1420         was broken). Bug #50380
1421
1422 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1423
1424         * configure.in: Remove confusing comment about X11.
1425
1426 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1427
1428         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1429         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1430         
1431 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1432
1433         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1434         it breaks things on BSD. If you want to compile GTK+ with
1435         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1436         when configuring, since GTK+ simply can't be "pure ANSI" 
1437         in the header files it uses. (#8170, Greg Hudson)
1438
1439 2001-02-02  Havoc Pennington  <hp@redhat.com>
1440
1441         * gtk/gtkwindow.c: docs
1442
1443         * gtk/gtkwidget.c: docs
1444         (gtk_widget_set_colormap): add a reference to the colormap
1445         (gtk_widget_get_default_colormap): add a reference to the colormap
1446
1447         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1448
1449         * gtk/gtktextiter.c: docs
1450
1451         * gtk/gtkmain.c (gtk_propagate_event): docs
1452
1453         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1454         (gtk_paned_set_position): docs
1455
1456         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1457         sort interface, no implementation yet.
1458
1459         * demos/testpixbuf.c (new_testrgb_window): replace
1460         gtk_drawing_area_size() with gtk_widget_set_usize()
1461
1462         * demos/testpixbuf-drawable.c (main): ditto
1463         
1464         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1465
1466         * gtk/gtktextbuffer.c: docs
1467
1468         * gtk/gtkstock.c: docs
1469
1470         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1471
1472         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1473
1474         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1475         
1476         * gtk/gtkimage.c: add some docs in here
1477         (gtk_image_size_request): change name of
1478         gtk_widget_render_stock_icon
1479         (gtk_image_get_icon_set): don't dup returned string
1480         (gtk_image_get_icon_set): don't dup returned string
1481
1482         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1483         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1484         and gtkiconfactory.h functions
1485
1486         * gtk/gtkiconfactory.c: add some docs in here
1487
1488         * gtk/gtkmain.c (gtk_get_default_language): document
1489         (gtk_get_current_event): document
1490         (gtk_get_current_event_state): document
1491         (gtk_get_event_widget): document
1492
1493         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1494
1495         * gtk/gtkcontainer.c: Add some documentation
1496         (gtk_container_add): give a more explanatory warning on adding an
1497         already-parented widget, this is kind of a FAQ and also a common
1498         typo that's easier to debug with a nice warning 
1499
1500         * gtk/gtkcellrenderertoggle.c
1501         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1502         adding this, it's useless
1503         (gtk_cell_renderer_toggle_set_active): remove
1504         (gtk_cell_renderer_toggle_get_radio): add
1505
1506         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1507         the NULL cell renderer, that doesn't make any sense to me. 
1508
1509         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1510         demo code should never use deprecated features.
1511
1512         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1513         code should never use deprecated features.
1514
1515         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1516         gtk_widget_queue_clear_area deprecated
1517
1518         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1519         deprecated
1520
1521         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1522
1523         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1524         a GdkImage deprecated, replaced by new consistently-named
1525         functions       
1526
1527         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1528
1529         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1530
1531         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1532         deprecated
1533
1534         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1535         so it won't appear in docs and confuse people.
1536
1537         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1538
1539         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1540         macros deprecated. (can't mark the type itself deprecated, since
1541         GtkProgressBar is not deprecated and we need the type decl to use
1542         GtkProgressBar)
1543
1544         * gtk/gtkpixmap.h: Mark deprecated
1545
1546         * gtk/gtkoldeditable.h: Mark deprecated
1547
1548         * gtk/gtklist.h: Mark deprecated
1549
1550         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1551         for anything anymore.
1552
1553         * gtk/gtkctree.h: Mark deprecated
1554
1555         * gtk/gtkclist.h: Mark deprecated
1556
1557         * gtk/gtkpreview.h: Mark deprecated
1558
1559         * gtk/gtkpacker.h: Mark deprecated
1560
1561         * gtk/gtktipsquery.h: Mark deprecated
1562
1563         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1564
1565         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1566
1567         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1568
1569         * gtk/gtkruler.h: Add comment that it will move out of GTK
1570
1571         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1572
1573         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1574
1575 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1576
1577         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1578         gdk_colormap_sync private since it was never exported
1579         in a header file.
1580
1581         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1582         colormap->colors[] for StaticGray, StaticColor colormaps.
1583
1584         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1585         was being used as if it was image->bits_per_pixel.
1586
1587         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1588         for the image in the GdkImage structure since it isn't
1589         reconstructable, and we need it to handle packed types
1590
1591         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1592         the assumption that on Win32 image->bits_per_pixel == image->depth,
1593         always.
1594
1595         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1596
1597         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1598         warning message if no converter can be found. 
1599
1600 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1601
1602         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1603         chars to isupper() / tolower(). (#567)
1604
1605         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1606         to clear up 64-bit warnings. (#567)
1607
1608 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1609
1610         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1611         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1612
1613         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1614         since some people set $(libdir) separately. (#1290, David Kaelbling)
1615
1616 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1617
1618         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1619         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1620         MAXPATHLEN, but the code here depends on a fixed value.)
1621         (#4524)
1622
1623 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1624
1625         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1626         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1627
1628 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1629
1630         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1631         viewable there is no way that moving the node will cause the 
1632         focus row to become not viewable, so omit check on the visibility
1633         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1634
1635 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1636
1637         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1638         selection before inserting new text.
1639
1640 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1641
1642         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1643         Make the sensitivity of the reparented child track that of
1644         the original parent menu item. (#34218, David Hodson)
1645
1646         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1647         the case where the current item is destroyed properly.
1648
1649         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1650         some edge cases with child-less menuitems.
1651         
1652 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1653
1654         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1655         key pop down window. (#12074, Jon K Hellan)
1656
1657 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1658
1659         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1660         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1661         The solution here isn't perfect - you get an extraneous
1662         emission of "toggle", which could conceivably confuse an app,
1663         but better than the current situation. LXR search seems to
1664         indicate that no apps in GNOME CVS connect to "toggle".
1665
1666 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1667
1668         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1669         gtk_public_h_sources to directly here to avoid warning when
1670         building srcdir != builddir. (#9656)
1671
1672 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1673
1674         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1675         handlers in gtkrange.c return the proper values (TRUE == handled)
1676         (#10316).
1677
1678         This is just the tip of the iceberg, but gtkrange.c is the
1679         most common place where the propagation is problematical,
1680         and also a place where it is almost certainly safe to change
1681         this in the stable branch.
1682
1683         (You don't want right click popups on a range control or anything...)
1684
1685 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1686
1687         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1688         area on focus out, even if a background pixmap isn't set.
1689         (#13941)
1690         
1691 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1692
1693         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1694         to deal with setting the shape properly when scrolling arrows are
1695         turned on, but not visible because there is sufficient space.
1696         (#13432)
1697
1698 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1699
1700         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1701         items with submenus, destroy the item along with the submenu.
1702         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1703         properly.
1704
1705         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1706         later.
1707
1708 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1709
1710         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1711         the focus widget sometimes wasn't drawn with the default if there
1712         was no default widget.
1713
1714         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1715         unreference pixmaps. 
1716
1717         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1718         for some extra safety.
1719
1720 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1721
1722         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1723         the text of a cell to the old pointer value better, by
1724         copying the new text before freeing the old text. Some code
1725         cleanup. (#8079, Karl Nelson)
1726
1727 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1728
1729         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1730         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1731
1732 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1733
1734         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1735         item from a menu, check to see if it matches 
1736         menu->old_active_menu_item, and if so, unref and clear
1737         old_active_menu_item (Patch from Pavel Cisler)
1738
1739         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1740         menu_shell->active_menu_item, if it is the child being
1741         removed. (Patch based on that of Gene Ragan, #50337)
1742
1743 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1744
1745         * gdk/linux-fb/gdkselection-fb.c: 
1746         * gdk/linux-fb/gdkcolor-fb.c: 
1747         * gdk/linux-fb/gdkdrawable-fb2.c: 
1748         * gdk/linux-fb/gdkfont-fb.c: 
1749         * gdk/linux-fb/gdkim-fb.c: 
1750         * gdk/linux-fb/gdkinput.c: 
1751         * gdk/linux-fb/gdkkeyboard-fb.c: 
1752         * gdk/linux-fb/gdkmain-fb.c: 
1753         * gdk/linux-fb/gdkrender-fb.c: 
1754         A bunch of whitespace cleanup.
1755         
1756 2001-01-30  Havoc Pennington  <hp@pobox.com>
1757
1758         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1759         #ifdef GTK_ENABLE_BROKEN.
1760
1761         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1762         GTK_ENABLE_BROKEN just before including the broken headers.
1763         
1764         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1765         deprecated types registered.
1766
1767         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1768         we have to test the broken stuff.
1769
1770         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1771         
1772 2001-01-30  Havoc Pennington  <hp@redhat.com>
1773
1774         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1775         here where prev pointer was set to the wrong thing
1776
1777         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1778         (gtk_tree_path_is_descendant): new function
1779
1780         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1781         cached length
1782         (gtk_list_store_get_iter): don't modify iter if we can't get the
1783         path.
1784
1785         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1786         
1787         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1788         GtkTreeDragDest
1789
1790         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1791         was causing segfault
1792
1793         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1794         pointer to NULL
1795
1796         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1797
1798         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1799         on returning FALSE
1800         (gtk_list_store_iter_children): ditto
1801         (gtk_list_store_iter_nth_child): ditto
1802         (gtk_list_store_iter_nth_child): ditto
1803         (gtk_list_store_iter_parent): ditto
1804
1805         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1806         on iter->user_data != NULL instead of silently accepting it.
1807         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1808         we are returning TRUE.
1809         (gtk_tree_store_iter_children): ditto
1810         (gtk_tree_store_iter_nth_child): ditto
1811         (gtk_tree_store_iter_parent): ditto
1812         (gtk_tree_store_insert): remove handling of parent->user_data ==
1813         NULL, replace with parent == NULL       
1814
1815         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1816         and a comment explaining things
1817
1818         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1819         interface support to GtkTreeStore.
1820
1821         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1822         FALSE if no prev, fix
1823
1824         * gtk/gtktreeview.c (set_source_row): use a row reference
1825         (set_dest_row): use a row reference
1826
1827 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1828
1829         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1830         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1831         (gtk_tree_selection_select_iter): The same as above.
1832
1833 2001-01-26  Havoc Pennington  <hp@redhat.com>
1834
1835         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1836         which holds a handle to a specific row (particular set of values
1837         in the model, i.e. pointer-identity row).
1838
1839         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1840         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1841         Still need to use it for the src/dest row saved on the drag context.
1842
1843 2001-01-26  Havoc Pennington  <hp@redhat.com>
1844
1845         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1846
1847         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1848         not offset by TREE_VIEW_HEADER_HEIGHT
1849         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1850         TREE_VIEW_HEADER_HEIGHT
1851
1852         * configure.in (included_loaders): for me, --with-included-loaders
1853         generates the error "the specified loader yes does not exist",
1854         i.e. the arg defaults to "yes", so change test for value ""
1855         to test for value "yes", and include all loaders in that case.
1856
1857         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1858
1859         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1860         handle TREE_VIEW_VERTICAL_SEPARATOR
1861         (gtk_tree_view_bin_expose): fix to consider the row offset as
1862         pointing halfway into vertical separator.       
1863         (gtk_tree_view_draw_node_focus_rect): ditto
1864
1865         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1866         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1867         (TRUE) to be called.
1868
1869         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1870         debug mode where the invalid region is colored in on invalidate,
1871         so you can see the flicker and know whether your redraw code is 
1872         doing a good job.
1873
1874         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1875         tree window coordinates (clip rect is in tree window coords)
1876
1877         * gtk/Makefile.am: add gtktreednd.[hc]
1878
1879         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1880
1881         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1882         drag-and-drop data operations on a model (so we can set up tree
1883         drag-and-drop automatically)
1884
1885         * gtk/testgtk.c: Add a window to change sensitivity in the
1886         GtkLabel test; add a way to change the entry frame in GtkEntry
1887         test
1888
1889         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1890         (gtk_entry_get_has_frame): new functions to remove the frame
1891         around an entry
1892         (gtk_entry_size_request): shrink requisition if no frame
1893         (gtk_entry_draw_focus): don't draw frame if no frame
1894
1895         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1896         checks inside a cell renderer
1897         (gtk_default_draw_option): ditto for options
1898
1899         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1900         children from the alignment, not the button
1901         (gtk_tree_view_column_init): ref/sink the column, to emulate
1902         GObject refcounting.
1903
1904         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1905         
1906         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1907         Use theme functions to draw the toggles 
1908
1909         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1910
1911         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1912         GdkPangoAttrEmbossed to use in rendering insensitive text
1913
1914         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1915
1916         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1917         using new GDK features
1918         
1919 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1920
1921         * gtk/gtkimage.c:
1922         Splitted gtk_image_clear into gtk_image_clear() and
1923         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1924         to avoid leaks.
1925
1926         * gtk/gtklabel.c (set_markup):
1927         Don't leak text.
1928
1929         * gtk/gtktextlayout.c:
1930         Always free display->shaped_objects.
1931
1932         * gtk/testgtk.c (create_clist):
1933         Don't leak custom style.
1934
1935 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1936
1937         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1938         Don't leak image. Simplify using gdk_colormap_query_color().
1939         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1940
1941         * linux-fb/gdkcolor-fb.c:
1942         Implemented gdk_colormap_query_color.
1943
1944 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1945
1946         * linux-fb/gdkcursor-fb.c:
1947         Don't leak built-in cursors.
1948
1949         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1950         Don't leak tmp_points.
1951
1952         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1953         Don't modify desc. Don't leak font if the PangoFont
1954         isn't found.
1955         
1956         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1957         Free dash_list.
1958
1959         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1960         Don't leak string.
1961         
1962 2001-01-20  Havoc Pennington  <hp@pobox.com>
1963
1964         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1965         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1966         me, matches Pango
1967
1968 2001-01-22  Havoc Pennington  <hp@redhat.com>
1969
1970         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1971
1972         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1973
1974         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1975         Remove, move back to gdk-pixbuf
1976
1977         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1978         to all the word functions
1979
1980         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1981         before doing anything on NULL layout or if we don't have the focus
1982
1983         * gtk/testtext.c (fill_example_buffer): "justification"
1984
1985         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1986         to be called "justification" not "justify"
1987
1988         * demos/gtk-demo/textview.c (create_tags): "justification"
1989         
1990         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1991
1992 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1993
1994         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1995         Don't leak visible_region. Use visible_region instead of region.
1996         
1997         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1998         Don't do extra gdk_drawable_ref(). This is not X.
1999         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2000         gdk_fb_focused_window is ref:ed.
2001         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2002         windows.
2003
2004 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2005
2006         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2007         Don't leak the PangoFontDescriptor.
2008
2009 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2010
2011         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2012         when not realized.
2013         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2014         (gtk_tree_view_realize): add scroll_to support
2015         (gtk_tree_view_finalize): add a finalize method.  Populate.
2016         (gtk_tree_view_insert_column): ref and sink the column.
2017         (gtk_tree_view_append_column): ref and sink the column.
2018         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2019         individual nodes.  Should make the code much more efficient, if
2020         actually used.
2021
2022 2001-01-19  Havoc Pennington  <hp@redhat.com>
2023
2024         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2025         byte_offset variable was being used to mean both "offset into
2026         layout" and "offset into buffer line" which was no longer true
2027         with addition of preedit string; fix
2028
2029 2001-01-19  Havoc Pennington  <hp@redhat.com>
2030
2031         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2032
2033         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2034         function
2035
2036         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2037         implement
2038
2039         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2040         scroll_to_cell, matches TextView scroll functions better
2041         (gtk_tree_view_tree_to_widget_coords): new function
2042         (gtk_tree_view_widget_to_tree_coords): new function
2043         (gtk_tree_view_get_visible_rect): new function
2044         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2045         (gtk_tree_view_draw_node_focus_rect): new function moved from
2046         draw_focus, also, use width of bin_window as width of the focus
2047         rect
2048         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2049         already-expanded rows
2050         (gtk_tree_view_get_cell_rect): new function
2051         (gtk_tree_view_get_path_at_pos): return the click position
2052         relative to the passed-in cell
2053         (gtk_tree_view_set_expander_column): new function
2054
2055         * configure.in: remove gtk-config-2.0 chmod
2056
2057         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2058         and properly handle drags with targets we don't understand
2059         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2060         scrolling anyway
2061         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2062         mark invisible
2063
2064         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2065         function
2066         (gtk_drag_dest_get_target_list): new function
2067         (gtk_drag_dest_set_target_list): new function
2068         
2069         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2070
2071         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2072         related to drag-and-drop
2073
2074 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2075
2076         * gdk/linux-fb/gdkprivate-fb.h:
2077         Define EMULATE_GDKFONT.
2078         Add extra pango_font stuff to GfkFontPrivate.
2079         
2080         * gdk/linux-fb/gdkdrawable-fb2.c:
2081         * gdk/linux-fb/gdkfont-fb.c:
2082         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2083         emulation using PangoFont.
2084
2085 2001-01-17  Havoc Pennington  <hp@pobox.com>
2086
2087         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2088         all the non-deprecated set_foo functions. Added missing object
2089         properties, and added g_object_notify() to setters. 
2090         Wrote docs.
2091         
2092 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2093
2094         * gtk/gtkmain.c
2095         * gtk/gtkrc.c: (Win32) Use the new
2096         g_win32_get_package_installation_(sub)directory() functions.
2097
2098         * config.h.win32.in: New file.
2099         
2100         * config.h.win32: Removed.
2101
2102         * configure.in: Output config.h.win32.
2103
2104         * Makefile.am: Add it to EXTRA_DIST.
2105
2106         * gtk/gtk.def: Update.
2107
2108 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2109
2110         * gtk/gtklabel.c (gtk_label_size_request): Set the
2111         attributes onto the PangoLayout even if they are newly
2112         created from label->pattern.
2113
2114 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2115
2116         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2117
2118         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2119         structures in functions. Fixes bug where gtk_dataset_*
2120         was accidentally still being used in one place, causing
2121         every dest side event to be treated independently.
2122
2123         * gtk/gtkdnd.c: Remove last vestages of handling
2124         ::draw (fixes warning)
2125         
2126         * gtk/gtkentry.[ch]: Add drag and drop support.
2127
2128         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2129         new function gtk_check_drag_threshhold() for checking
2130         to check if (dx,dy) has exceeded the threshhold for starting
2131         a drag and use it everywhere.
2132
2133 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2134
2135         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2136         add -I{includedir}/gtk-2.0.
2137
2138         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2139         gdk/gdk-pixbuf.h: Doc fixups.
2140         
2141         * gtk/gtkobject.h: Remove trailing , from enum
2142
2143 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2144
2145         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2146         Doh! Mixed up x and y.
2147
2148         * gdk/linux-fb/gdkglobals-fb.c:
2149         Removed gdk_fb_pointer_grab_window_events,
2150         added _gdk_fb_pointer_grab_owner_events and
2151         _gdk_fb_keyboard_grab_owner_events.
2152
2153         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2154         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2155         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2156         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2157         Send crossing events after ungrab finished.
2158         (gdk_keyboard_grab): Set ..._owner_events
2159         (type_masks): Move out of function.
2160         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2161         gdk_fb_keyboard_event_window): New functions, return the
2162         window an event should be targeted at. Handles grabs and
2163         event propagation. Can return NULL.
2164         (gdk_event_make): Remove event_mask checking. Now always
2165         returns an event.
2166                 
2167         * gdk/linux-fb/gdkkeyboard-fb.c:
2168         * gdk/linux-fb/gdkproperty-fb.c:
2169         * gdk/linux-fb/gdkselection-fb.c:
2170         Use new event_window/gdk_event_make() behaviour.
2171         
2172         * gdk/linux-fb/gdkmouse-fb.c:
2173         Use new event_window/gdk_event_make() behaviour.
2174         Only send motion events if in the same window.
2175         If grabbed, use cursor from window if sibling of grabbed
2176         window, and cursor from grabbed window otherwise.
2177
2178         * gdk/linux-fb/gdkprivate-fb.h:
2179         Update gdk_fb_window_send_crossing_events, gdk_event_make
2180         and grab varaible declarations. Add gdk_fb_*_event_window().
2181
2182         * gdk/linux-fb/gdkwindow-fb.c:
2183         Use new event_window/gdk_event_make() behaviour.
2184         Keep correct track of focus window.
2185         (gdk_window_set_events): Set all specific button motion masks
2186         if GDK_BUTTON_MOTION_MASK set.
2187
2188         * gtk/gtkdnd.c (gtk_drag_update):
2189         Free info->last_event if gdk_drag_motion returned FALSE.
2190
2191 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2192
2193         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2194         Eliminate redraws when input-only windows are shown or
2195         hidden. Thanks to jpe@archaeopteryx.com.
2196
2197 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2198
2199         * docs/faq/gtk-faq.sgml: FAQ update:
2200           - Update to bugzilla
2201           - Add GTK+ and security/SUID/SGID
2202           - Add DnD question
2203
2204 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2205
2206         * gdk/linux-fb/gdkdnd-fb.c:
2207         Some cleanups.
2208         
2209 2001-01-15  Havoc Pennington  <hp@pobox.com>
2210
2211         * tests/testtreeview.c: add test stuff for CellRendererToggle
2212
2213         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2214         accessor
2215
2216         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2217         only toggle on button press (would do release like GtkButton, but
2218         we'd need implicit grab code for treeview cells)
2219
2220 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2221
2222         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2223
2224         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2225         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2226
2227         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2228         to g_{locale,filename}_{to,from}_utf8 to match current API.
2229
2230         * gtk/makefile.msc.in (gtk_OBJECTS)
2231         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2232
2233         * gtk/gtk.def: Update.
2234
2235 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2236
2237         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2238         implementaion that more closely mimics the events that an X server
2239         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2240         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2241         with nested preview widgets, for instance, more responsive when
2242         you move the mouse quickly into them.
2243         (find_window_for_pointer_event): Make it actually compile.
2244         (gdk_event_translate): Set send_event to the value of
2245         InSendMessage (). This doesn't really mean the same as X11's
2246         send_event flag, but is close enough, says jpe@archaeopteryx.com
2247
2248 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2249
2250         * gdk/linux-fb/gdkdnd-fb.c:
2251         Implemented drag and drop.
2252         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2253         when it tries to free and then copy the same event (info->last_event).
2254         I am not sure about why this happens, but will continue looking.
2255
2256 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2257
2258         * gdk/linux-fb/gdkwindow-fb.c:
2259         Use gdk_window_invalidate_rect instead of
2260         gdk_window_invalidate_rect_clear to minimise flashing.
2261         When hiding windows you need to clear the root window though.
2262
2263 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2264
2265         * gdk/linux-fb/gdkdrawable-fb2.c:
2266         For optization, add an full_shapes argument to gdk_fb_clip_region.
2267         If this is false, only the cliprects of the shapes are used.
2268
2269         * gdk/linux-fb/gdkprivate-fb.h:
2270         Export gdk_fb_window_peek_shape.
2271         Add full_shapes to gdk_fb_clip_region.
2272
2273         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2274         When moving a window, don't clear everything under the it, just the
2275         root window. Makes stuff faster and flash less.
2276         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2277         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2278         offset of the shape.
2279         
2280
2281 2001-01-12  Havoc Pennington  <hp@redhat.com>
2282
2283         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2284         current invalid region, fixes redraw bug while scrolling the 
2285         text widget
2286
2287         * gtk/gtktextview.c, gtk/gtktextview.h:
2288         Rearrange the scrolling/validation/etc. code in a major way, 
2289         so it seems to make sense to me. Probably isn't genuinely that
2290         much better, but...
2291
2292         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2293         notifies
2294
2295         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2296
2297 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2298
2299         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2300         Hide mouse pointer while rotation. Show it afterwards.
2301
2302 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2303
2304         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2305         windows in consideration when generating clip region.
2306
2307         * gdk/linux-fb/gdkfb.h:
2308         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2309
2310         * gdk/linux-fb/gdkprivate-fb.h:
2311         Add shape to GdkWindowFBDatat.
2312         exported gdk_fb_window_get_abs_shape().
2313         removed gdk_fb_draw_lines declaration.
2314
2315         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2316         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2317         send focus changes when there is a grabbed window.
2318         (gdk_window_get_pointer): Handle shaped windows.
2319         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2320         (gdk_fb_window_peek_shape): Returns the shape for a window,
2321         handles GDK_FB_USE_CHILD_SHAPE.
2322         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2323         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2324         (gdk_window_shape_combine_mask): Implement.
2325
2326         * gtk/gtkwindow-decorate.c:
2327         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2328         setting the shape of a window makes the window transparent.
2329
2330 2001-01-11  Havoc Pennington  <hp@redhat.com>
2331
2332         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2333
2334 2001-01-10  Havoc Pennington  <hp@redhat.com>
2335
2336         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2337         add this function, bug 40251
2338
2339         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2340         of type macro   
2341
2342 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2343
2344         * acconfig.h:
2345         Added ENABLE_SHADOW_FB
2346
2347         * configure.in:
2348         Added --disable-shadowfb
2349
2350         * gdk/linux-fb/gdkcursor-fb.c:
2351         Update shadowfb when updating cursor
2352
2353         * gdk/linux-fb/gdkdrawable-fb2.c:
2354         Added wrappers for shadowfb that calls  the normal drawable
2355         methods, but calls gdk_shadow_fb_update(bounding box) when
2356         GdkWindows are drawed to.
2357         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2358         which also returns the bounding box.
2359
2360         * gdk/linux-fb/gdkfb.h:
2361         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2362
2363         * gdk/linux-fb/gdkgeometry-fb.c:
2364         Update shadowfb when scrolling window.
2365
2366         * gdk/linux-fb/gdkglobals-fb.c:
2367         Add _gdk_fb_screen_angle.
2368         
2369         * gdk/linux-fb/gdkkeyboard-fb.c:
2370         Test code for screen rotation. Shift-F2 in the xlate driver
2371         rotates the screen.
2372
2373         * gdk/linux-fb/gdkmain-fb.c:
2374         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2375
2376         * gdk/linux-fb/gdkmouse-fb.c:
2377         Use fb_width/height instead of modeinfo.xres/yres.
2378
2379         * gdk/linux-fb/gdkprivate-fb.h:
2380         Added fb_men, fb_width, fb_height & fb_stride. When using
2381         shadow fb these can differ from the framebuffer stuff.
2382         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2383         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2384         _gdk_fb_screen_angle. Removed CM, RP.
2385
2386         * gdk/linux-fb/gdkrender-fb.c:
2387         Added code for shadowfb handling and screen rotation using
2388         shadowfb.
2389
2390         * gdk/linux-fb/gdkwindow-fb.c:
2391         Use fb_mem, fb_stride, fb_width, fb_height.
2392         Added recompute_rowstride to reset the rowstride of all windows.
2393         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2394         window abs positions and window rowstrides. Usefull when the
2395         rotation has changed.
2396
2397 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2398
2399         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2400
2401 2001-01-10  Havoc Pennington  <hp@redhat.com>
2402
2403         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2404         where sibling == iter
2405         (gtk_tree_store_insert_after): handle sibling == iter
2406         (gtk_tree_store_prepend): remove stamp checks
2407         (gtk_tree_store_insert_before): ditto
2408         (gtk_tree_store_append): ditto
2409         (gtk_tree_store_get_path): ditto
2410         (gtk_tree_store_get_value): ditto
2411         (gtk_tree_store_iter_has_child): ditto
2412         (gtk_tree_store_iter_n_children): ditto
2413         (gtk_tree_store_iter_nth_child): ditto
2414         (gtk_tree_store_insert_after): ditto
2415         (gtk_tree_store_is_ancestor): ditto
2416         (gtk_tree_store_iter_depth): ditto
2417         (gtk_tree_store_insert_before): assert that sibling's parent is
2418         the same as the passed-in parent
2419         (gtk_tree_store_insert_after): assert that sibling's parent is
2420         the same as the passed-in parent
2421
2422         
2423         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2424         function to get the first iterator in a model
2425         
2426         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2427         conventionally the "root" in this sense is just NULL afaict.
2428
2429         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2430         where sibling == iter
2431         (gtk_list_store_insert_after): handle case where sibling == iter
2432
2433         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2434         automated tests for ListStore, TreeStore
2435
2436         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2437         (gtk_list_store_insert): update tail pointer, and fix it to work
2438         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2439         (gtk_list_store_append): use tail to be faster
2440         (gtk_list_store_prepend): fix it, update tail pointer
2441         (gtk_list_store_insert_after): fix it, update tail pointer
2442
2443         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2444         the list
2445
2446 2001-01-09  Havoc Pennington  <hp@redhat.com>
2447
2448         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2449         is NULL due to a pending resize
2450
2451         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2452         column width to values less than 1
2453
2454         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2455         width to be between min/max width, and still set the width 
2456         even if autosize is turned on, so the tree view can use this 
2457         function in order to autosize.
2458         (gtk_tree_view_column_init): set initial width to 1 not 0
2459
2460         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2461         setter function to modify column width, so we get notification
2462         (gtk_tree_view_insert_iter_height): ditto
2463         (gtk_tree_view_calc_size): ditto
2464         (gtk_tree_view_check_dirty): ditto
2465
2466         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2467         properties to change all the interesting attributes of the tree
2468         view column.
2469         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2470         (gtk_tree_view_column_get_clickable): add
2471         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2472         attributes; assume a cell renderer with equivalent object
2473         properties has been swapped in. Do g_object_notify().
2474         (gtk_tree_view_column_set_visible): g_object_notify
2475         (gtk_tree_view_column_get_sizing): rename from get_col_type
2476         (gtk_tree_view_column_set_sizing): g_object_notify
2477         (gtk_tree_view_column_set_width): add g_object_notify
2478         (gtk_tree_view_column_set_min_width): ditto
2479         (gtk_tree_view_column_set_max_width): ditto
2480         (gtk_tree_view_column_set_title): ditto
2481         (gtk_tree_view_column_set_clickable): ditto
2482         (gtk_tree_view_column_set_widget): ditto
2483         (gtk_tree_view_column_set_justification): ditto
2484
2485 2001-01-09  Havoc Pennington  <hp@redhat.com>
2486
2487         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2488         there are no rows in the model
2489
2490         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2491         NULL, then return the start of the list
2492
2493         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2494         if we can't get any rows from an empty model 
2495
2496         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2497         extraneous * after function pointer typedef usage
2498
2499         * Makefile.am: don't specify full path to cp and rm
2500
2501         * gtk/gtkcellrenderertextpixbuf.c
2502         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2503         NULL before dereferencing, fixes a segfault that happened from
2504         time to time
2505
2506         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2507         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2508         and reindent the function
2509         (gtk_cell_renderer_pixbuf_get_size): indentation
2510
2511         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2512         we quit it
2513         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2514         (gtk_dialog_set_default_response): New function, to set default
2515         button
2516         (gtk_dialog_set_response_sensitive): New function, to set 
2517         sensitivity of buttons
2518
2519         * gtk/gtkcellrendererpixbuf.c
2520         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2521         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2522
2523         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2524         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2525         also boxed types.
2526         (_gtk_tree_data_list_value_to_node): ditto
2527
2528         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2529         --gtk-debug=tree
2530
2531         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2532
2533         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2534
2535 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2536
2537         * gdk/win32/gdkevents-win32.c: Implement better mouse
2538         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2539         (find_window_for_pointer_event): New function.
2540         (gdk_event_translate): Use it when handling mouse events.
2541
2542 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2543
2544         * configure.in:
2545         Added --with-included-loaders option
2546
2547         * gdk-pixbuf/Makefile.am:
2548         * gdk-pixbuf/gdk-pixbuf-io.c:
2549         Add support for including selected gdk-pixbuf loaders only.
2550
2551         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2552         gtk_window_set_has_frame):
2553         Added inline documentation.
2554
2555         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2556         * docs/reference/gdk/tmpl/windows.sgml:
2557         Added inline documentation.
2558
2559 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2560
2561         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2562         realizing buttons that have already been realized.
2563
2564 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2565
2566         * tests/testtreeview.c (main): Show menu items before adding to
2567         option menu.
2568
2569         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2570         around if we kill them.
2571
2572         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2573         Return if we pass in a NULL model.
2574
2575 2001-01-08  Havoc Pennington  <hp@redhat.com>
2576
2577         * tests/testtreeview.c: hack on this some
2578
2579         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2580         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2581         list
2582         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2583
2584         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2585         functions
2586
2587 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2588
2589         * gtk/gtkwindow-decorate.[hc]:
2590         * gtk/Makefile.am:
2591         New files. Contains an implementation of a minimal WM for
2592         linux-fb.
2593
2594         * gtk/gtkwindow.h:
2595         Add the possibility for GtkWindows to specify a frame. This
2596         is used for the window decoration code, but could concievably
2597         be used for X programs too (xmms style windows).
2598         GtkWindow->frame is the toplevel window if the window is framed.
2599         The signal frame_event gets all events that are targeted to
2600         GtkWindow->frame.
2601         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2602         
2603         * gtk/gtkwindow.c:
2604         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2605         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2606
2607 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2608
2609         * docs/README.linux-fb:
2610         Correct filename ~/.pangoft2_aliases
2611
2612         * gdk/gdkwindow.h:
2613         Added new function gdk_window_get_decorations.
2614
2615         * gdk/linux-fb/gdkfb.h:
2616         Removed _gdk_window_get_decorations declaration.
2617         Renamed _gdk_window_set_child_handler to
2618         gdk_fb_window_set_child_handler.
2619
2620         * gdk/linux-fb/gdkwindow-fb.c:
2621         Renamed _gdk_window_set_child_handler to
2622         gdk_fb_window_set_child_handler.
2623
2624         * gdk/x11/gdkwindow-x11.c:
2625         New function gdk_window_get_mwm_hints().
2626         Implemented gdk_window_get_decorations.
2627
2628         * docs/reference/gdk/tmpl/windows.sgml:
2629         * docs/reference/gdk/gdk-sections.txt:
2630         Added gdk_window_get_decorations docs.
2631         
2632 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2633
2634         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2635         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2636         gdk_fb_window_send_crossing_events):
2637         Possibly send focus events when the mouse moves from one
2638         window to another.
2639
2640 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2641
2642         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2643         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2644         to match current API.
2645
2646         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2647         environment variable is set, don't call g_error when on a
2648         palettized (PseudoColor) display. Some people want to use GTK+ 
2649         in 256-colour mode even though works only partially.
2650
2651         * gdk/gdk.def
2652         * gtk/gtk.def
2653         * gtk/makefile.mingw.in: Update.
2654
2655 2001-01-05  Havoc Pennington  <hp@redhat.com>
2656
2657         * tests/testtreeview.c: hack on this a bit
2658
2659         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2660         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2661
2662         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2663         was spelled incorrectly
2664         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2665
2666         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2667         from gtk_tree_view_set_headers_active   
2668
2669         * gtk/gtktexttag.c:
2670         (gtk_text_tag_get_property): handle PROP_DIRECTION
2671         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2672         properties, bug 40235
2673
2674         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2675         forward_to_line_end
2676
2677 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2678
2679         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2680         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2681         for unicode,locale,filename conversion functions.
2682
2683 2001-01-05  Havoc Pennington  <hp@redhat.com>
2684
2685         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2686         broken if called on the first position in the buffer.
2687
2688         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2689         forward_to_delimiters to be called only if we aren't already at
2690         the delimiters.
2691
2692 2001-01-05  Havoc Pennington  <hp@redhat.com>
2693
2694         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2695
2696 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2697
2698         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2699         colormap in here. Sync from X port.
2700         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2701         Sync from X port.
2702         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2703         This happens now and then, and i don't think it is a bug.
2704         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2705         != endpoint.
2706         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2707         GDK_LINE_SOLID.
2708
2709         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2710         some of the fields filled in at least.
2711
2712         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2713         miLineArcD is no more, remove it from the function definition.
2714
2715 2001-01-04  Havoc Pennington  <hp@redhat.com>
2716
2717         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2718         this
2719
2720         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2721         user_data instead of tree_node
2722
2723         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2724         TREE_VIEW_COLUMN_SIZE
2725
2726         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2727         "size" field to "width" finishes bug 40061
2728
2729         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2730         for bitfields, bug 40268
2731
2732 2001-01-04  Havoc Pennington  <hp@redhat.com>
2733
2734         Rename some stuff:
2735         
2736         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2737
2738         s/GtkModelSimple/GtkTreeModelSimple/g;
2739         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2740         s/gtk_model_simple/gtk_tree_model_simple/g;
2741         s/gtkmodelsimple/gtktreemodelsimple/g;
2742
2743         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2744
2745         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2746         s/column_set_col_type/column_set_sizing/g;
2747
2748         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2749         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2750
2751         s/GtkCellRendererType/GtkCellRendererState/g;
2752         
2753         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2754         (gtk_cell_renderer_toggle_class_init): change "state" property to
2755         "active", to match GtkToggleButton
2756         (gtk_cell_renderer_toggle_get_active): new function, bug
2757         40269
2758         (gtk_cell_renderer_toggle_set_active): new function
2759         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2760         state through gtk_cell_renderer_set_active
2761
2762 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2763
2764         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2765         temporarily until they work again.  Brought up to date with
2766         changes in the model.
2767         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2768         model.
2769
2770 2001-01-04  Havoc Pennington  <hp@redhat.com>
2771
2772         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2773         equal to the line length, then position iterator before paragraph 
2774         separators. Fixes crash reported by Mikael Hermansson when
2775         pressing left arrow from the start of a line.   
2776
2777         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2778         about byte indexes off the end
2779         (iter_set_from_char_offset): add g_error about char offsets
2780         off the end
2781
2782 2001-01-03  Havoc Pennington  <hp@redhat.com>
2783
2784         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2785
2786         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2787         of private functions; remove inclusion of private headers.
2788
2789         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2790         function, so we don't need private functions in gtktextdisplay.c
2791
2792         * gtk/gtktextiterprivate.h: underscore-ification
2793
2794         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2795         to instead say "only useful to implement widgets"
2796
2797         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2798         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2799         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2800
2801         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2802         This function was completely broken
2803
2804         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2805
2806         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2807
2808         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2809
2810         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2811
2812         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2813
2814         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2815
2816         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2817         gtk_paint_layout
2818
2819         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2820         gtk_paint_layout
2821
2822         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2823         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2824         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2825         which were not implemented.     
2826
2827         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2828         insert_pixbuf signal. Rename delete_text to delete_range since it
2829         also deletes pixbufs and child anchors. This almost closes bug
2830         40245 (still need to deal with child anchors)
2831
2832         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2833         insert_pixbuf, change signal names as appropriate, change types of
2834         signals taking marks/tags to have the specific type, not just
2835         G_TYPE_OBJECT
2836         
2837         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2838         closes bug 40051
2839
2840         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2841         unnecessary remove_contents() call
2842         (gtk_option_menu_class_init): add a "changed" signal, closes
2843         bug 40039
2844         (gtk_option_menu_update_contents): emit "changed" if the 
2845         active menu item changes
2846
2847         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2848         cast to GtkObject, reported by Jonas Borgstrom
2849         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2850         we can't do stuff with side effects in finalize. Instead, spew a
2851         warning if the loader isn't closed.
2852
2853         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2854         colormap in here, non-X ports probably need to sync to this change
2855
2856         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2857         assertion that colormap != NULL, you can set the colormap to NULL
2858         if you like.
2859         
2860         * Makefile.am: remove gtk-config-2.0
2861
2862         * configure.in: Use pkg-config to locate GLib. Remove
2863         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2864         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2865         Use pkg-config to locate Pango. Output correct Pango libs to
2866         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2867
2868         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2869         files
2870         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2871         X11 pc files
2872
2873         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2874         unref from here
2875
2876 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2877
2878         * configure.in:
2879         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2880
2881 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2882
2883         * gtk/gtktextlayout.c
2884         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2885         variable when moving back onto a single line.
2886
2887 2001-01-01  Havoc Pennington  <hp@redhat.com>
2888
2889         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2890
2891         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2892
2893         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2894         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2895
2896 2001-01-01  Havoc Pennington  <hp@redhat.com>
2897
2898         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2899
2900         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2901         GtkTextAttributes
2902
2903         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2904         #40246
2905         (gtk_text_attributes_copy_values): rename from 
2906         gtk_text_attributes_copy
2907         (gtk_text_attributes_copy): a more standard GTK copy function, 
2908         which returns a new object
2909
2910 2001-01-01  Havoc Pennington  <hp@redhat.com>
2911
2912         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2913         
2914         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2915         don't fill in tree_view->priv->selection, kind of an unexpected
2916         side effect
2917
2918         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2919         gtkintl.h
2920         
2921         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2922         gtkintl.h
2923         (gtk_cell_renderer_get_property): remove calls to g_value_init
2924
2925         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2926         gtkintl.h
2927
2928         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2929         and include gtkintl.h
2930         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2931         property names
2932
2933         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2934         GtkTreeSelection
2935         (_gtk_tree_selection_new_from_with_view): rename, return
2936         GtkTreeSelection
2937         (_gtk_tree_selection_set_tree_view): rename with uscore
2938         (gtk_tree_selection_get_selected): fill in the "model" out param
2939         first, so it gets filled in even if we return at the top of the 
2940         function
2941         (gtk_tree_selection_real_select_all): add a comment and an else{}
2942         to clarify this a bit
2943         (gtk_tree_selection_real_unselect_all): add the same else{}
2944
2945         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2946         set_tree_view to have underscore prefixes, move them to the
2947         private header, fix return type of new_with_tree_view
2948         (struct _GtkTreeSelection): mark struct
2949         fields private  
2950
2951         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2952         GtkTreeModelFlags, not a guint
2953         (gtk_tree_path_prev): return gboolean not gint
2954         (gtk_tree_path_up): return gboolean not gint
2955
2956         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2957         return GtkTreeModelFlags, not a guint
2958
2959         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2960         that child model is non-null before unrefing it
2961         (g_value_int_compare_func): make this a qsort compare func, not 
2962         a boolean predicate
2963
2964         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2965         (add -umn to the end), and mark it unimplemented
2966         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2967         I don't see what it's for - doesn't the model always sort itself?
2968         (gtk_tree_model_sort_set_compare): this had the wrong signature
2969
2970         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2971         Fix the docs to say that it destructively replaces existing
2972         attributes (previously said that it added attributes).
2973         (gtk_tree_view_column_set_visible): canonicalize bool before
2974         equality testing. Also, check for realization before
2975         hiding/showing the tree_column->window; if this window could exist
2976         before realization, then it's busted and needs fixing, we can't 
2977         create GDK resources pre-realization. Also, remove
2978         superfluous queue_resize(), since set_size() does that for us.
2979         (gtk_tree_view_column_set_col_type): check realization before 
2980         using tree_column->window
2981
2982         * gtk/gtktreedatalist.c: fix filename in copyright notice
2983
2984 2000-12-31  Havoc Pennington  <hp@pobox.com>
2985
2986         * gtk/gtktextview.c: Rearrange all the
2987         scroll-while-dragging-or-selecting code to be different, not
2988         necessarily better. ;-)
2989         (gtk_text_view_scroll_to_mark): Change this
2990         function to take within_margin as a fraction instead of a pixel
2991         value, and to take alignment arguments (indicating where to align 
2992         the mark inside the visible area)
2993         
2994         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2995         to GtkObject
2996
2997         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2998         behavior so that offsets past the end of the line are not 
2999         allowed, and an offset equal to the line length moves the iterator
3000         to the next line
3001         (gtk_text_iter_set_line_index): make parallel change
3002         (gtk_text_iter_get_bytes_in_line): add this function
3003         
3004         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3005         of byte indexes off the end of the line; byte index at the end of
3006         the line now returns FALSE and doesn't fill in the requested
3007         values, byte index past the end of the line is an error.  Also,
3008         don't allow -1 offset anymore, since its meaning is unclear.
3009
3010         This change exposes some bug in visual cursor motion, where we
3011         end up with a huge invalid byte index; needs fixing. Symptom of 
3012         bug is a crash when you hit up arrow.
3013         
3014         (_gtk_text_line_char_locate): match the change to byte_locate
3015
3016         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3017         from start of line properly. fixes bug reported by Mikael
3018         Hermansson where backspace would delete all text before the
3019         cursor.
3020
3021 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3022
3023         * gdk/win32/gdkwindow-win32.c
3024         (gdk_window_impl_win32_get_visible_region): New function, as in
3025         the X11 backend.
3026         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3027         instead of duplicating the same code here.
3028
3029         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3030         GDK_COLORMAP macro.
3031
3032         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3033         destroy function.
3034         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3035         access that.
3036
3037         * gtk/gtk.def: Update.
3038
3039         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3040
3041 2000-12-30  Havoc Pennington  <hp@pobox.com>
3042
3043         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3044         colormap on input only windows, to avoid special cases all over
3045         the code for these windows.
3046
3047 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3048
3049         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3050         we are on a palettized display ("PseudoColor" in X11), as the code
3051         for that doesn't work anyway, and never has.
3052
3053 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3054
3055         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3056         Don't use isprint() for chars > 255.
3057
3058 2000-12-21  Havoc Pennington  <hp@redhat.com>
3059
3060         * tests/testtreeview.c: more work
3061
3062 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3063
3064         * docs/README.linux-fb:
3065         Update the docs to the new pangoft2 way.
3066
3067 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3068
3069         * configure.in:
3070         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3071         pango version.
3072         Remove modules/linux-fb/Makefile.
3073
3074         * gdk/linux-fb/gdkdrawable-fb2.c:
3075         Render glyphs using freetype.
3076
3077         * gdk/linux-fb/gdkfb.h:
3078         Add new fb-specific functions needed for managing windows.
3079
3080         * gdk/linux-fb/gdkmain-fb.c:
3081         Remove gdk_font_init/fini() calls.
3082
3083         * gdk/linux-fb/gdkpango-fb.c:
3084         Remove old implementation. Use pangoft2 instead.
3085
3086         * gdk/linux-fb/gdkprivate-fb.h:
3087         Remove PangoFBFont and related stuff.
3088
3089         * gdk/linux-fb/gdkwindow-fb.c:
3090         Implement drawable->get_visible_region.
3091         Implement support for _gdk_window_set_child_handler () and
3092         _gdk_window_get_decorations().
3093
3094         * modules/Makefile.am:
3095         Remove linux-fb subdir.
3096
3097         * modules/linux-fb/*:
3098         Removed all.
3099         
3100 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3101
3102         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3103         calls, as they are no longer needed.
3104
3105         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3106         
3107         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3108         figure out how to emit a signal on an interface.
3109
3110 2000-12-20  Havoc Pennington  <hp@redhat.com>
3111
3112         * tests: new directory to contain tests, gtk/test* should move
3113         here sometime (with appropriate on-cvs-server hackery)
3114
3115         * tests/testtreeview.c, tests/Makefile.am: a test
3116         
3117         * configure.in (AC_OUTPUT): add tests/Makefile
3118
3119         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3120         and "invisible_set" which were missing
3121
3122         * gtk/gtkrbtree.h: some cheesy indentation fix
3123         
3124 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3125
3126         * gtk/gtkinvisible.c (gtk_invisible_realize):
3127         Attach the style to the window so that the style it is not
3128         leaked when unrealizing the window.
3129
3130 2000-12-18  Havoc Pennington  <hp@redhat.com>
3131
3132         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3133         begin/end user action where appropriate
3134         (gtk_text_view_commit_handler): add begin/end user action
3135
3136         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3137         bracket interactive operations with begin/end user action pair.
3138         
3139         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3140         "interactive" arg from insert_text and delete_text signals.
3141         Add begin_user_action, end_user_action signals
3142         (gtk_text_buffer_begin_user_action): 
3143         (gtk_text_buffer_end_user_action): New functions to delimit 
3144         a user-visible action
3145
3146         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3147         signals.
3148         
3149 2000-12-18  Havoc Pennington  <hp@redhat.com>
3150
3151         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3152         was pretty non-working.
3153
3154         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3155         by passing the length to g_utf8_validate().
3156
3157 2000-12-16  Havoc Pennington  <hp@pobox.com>
3158
3159         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3160         Port to GObject, can go back in gdk-pixbuf after setting up 
3161         a gdk-pixbuf-marshal.h header over there.
3162
3163         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3164         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3165         args
3166         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3167         set
3168         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3169         here, do it when we create the buttons later
3170         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3171         (gtk_tree_view_map): paranoia checks that column->button is shown 
3172         and unmapped
3173         (gtk_tree_view_size_request): only request visible children.
3174         Move header size calculation in here, for cleanliness, and 
3175         to maintain invariants for child widgets if we eventually 
3176         let users set different children inside the buttons
3177         (gtk_tree_view_map_buttons): factor out code to map buttons,
3178         since it was being called several times
3179         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3180         windows instead of just moving them; their height may change 
3181         if we allow random widgets in there, or the theme changes.
3182         (gtk_tree_view_size_allocate): move button size allocation 
3183         above emitting the scroll signals, to ensure a sane state when we
3184         hit user code
3185         (gtk_tree_view_button_release): remove queue_resize after
3186         tree_view_set_size(), set_size() will handle any resize queuing
3187         that's needed
3188         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3189         draw_focus goo
3190         (gtk_tree_view_focus): use gtk_get_current_event() and
3191         gdk_event_get_state()
3192         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3193         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3194         semicolon
3195         (gtk_tree_view_create_button): show the button here
3196         (gtk_tree_view_button_clicked): actually emit the clicked signal
3197         on the column
3198         (_gtk_tree_view_set_size): return right away if the size is
3199         unchanged, as a cheesy optimization
3200         (gtk_tree_view_setup_model): rename set_model_realized to 
3201         setup_model to match the flag that indicates whether we've 
3202         called it
3203         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3204         exist, because set_scroll_adjustment does that and it shouldn't
3205         matter what order you call these in
3206         (gtk_tree_view_get_vadjustment): ditto
3207         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3208         for paranoia
3209         (gtk_tree_view_set_headers_visible): call
3210         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3211         (gtk_tree_view_append_column): clarify whether the return value
3212         is the count of columns before or after, and do the increment 
3213         separately from the return statement so you can tell from the code.
3214         (gtk_tree_view_remove_column): ditto
3215         (gtk_tree_view_insert_column): ditto
3216         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3217         outside the existing range, the docs say that outside-range
3218         columns are allowed, so we handle them as documented. (Presumably
3219         this allows a nice loop with column != NULL as test.)
3220         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3221         mean (left/right/center etc.).
3222         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3223         (gtk_tree_view_expand_row): add docs
3224         (gtk_tree_view_collapse_row): add docs
3225
3226         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3227         function to emit the clicked signal on a column
3228         
3229         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3230         state of an event
3231         (gdk_event_get_time): don't treat GDK_SCROLL 
3232         as a button event, remove default case from switch so gcc 
3233         will whine if we don't explicitly handle all event types
3234
3235         * gtk/gtktreeselection.h: added some FIXME 
3236         
3237         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3238         "columns" to "n_columns" and "column" to "columns" for clarity
3239
3240 2000-12-16  Havoc Pennington  <hp@pobox.com>
3241         
3242         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3243         stuff. This should make e.g. the delete key work again in the
3244         text widget...
3245         (gtk_text_iter_forward_cursor_positions): handle negative count
3246         (gtk_text_iter_backward_cursor_positions): handle negative count
3247         (gtk_text_iter_forward_word_ends): handle negative count
3248         (gtk_text_iter_backward_word_starts): handle negative count
3249
3250         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3251         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3252         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3253         GObject. No doubt will cause breakage.
3254
3255         * demos/gtk-demo/textview.c: remove hacks around
3256         non-GObject-ification of the text objects
3257
3258         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3259         the text tag
3260         
3261 2000-12-14  Havoc Pennington  <hp@pobox.com>
3262
3263         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3264         that we have Xrender
3265
3266 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3267
3268         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3269         Add two virtualized functions gdk_drawable_get_clip_region - to
3270         get the clip region when drawing.
3271         
3272         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3273         use invalidate_region.
3274
3275         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3276         region.
3277
3278         * acconfig.h configure.in: Check for Xft. For now, assume
3279         that if Xft is found, Pango was compiled with Xft support
3280         as well.
3281
3282         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3283         gdk_colormap_query_color().
3284         
3285         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3286         with Xft if appropriate.
3287
3288         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3289         a pangoxft context if we have XFT and the environment
3290         variable GD_USE_XFT is set.
3291         
3292         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3293         and also possibly an XftDraw structure.
3294
3295         * gtk/gtkfontsel.c: Handle the case where the font from the
3296         style doesn't match any of the fonts a bit better.
3297         
3298         * gtk/testgtk.c: Add tabs between directional segments for
3299         hebrew/arabic test. (Not really necessary, just a little
3300         prettier.)
3301
3302 2000-12-14  Havoc Pennington  <hp@redhat.com>
3303
3304         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3305         reading a file
3306
3307 2000-12-14  Havoc Pennington  <hp@redhat.com>
3308
3309         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3310         unused call to get_last_line()
3311
3312         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3313         here until boxed is working (and maybe after that - we should
3314         really not gratuitously break old code)
3315
3316         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3317         specific types for font_desc and tabs args, move them to
3318         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3319         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3320
3321         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3322         use GTK_TYPE_POINTER for signal signatures as a hack-around
3323
3324         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3325         PangoTabArray
3326
3327         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3328         make static
3329         (line_display_index_to_iter): make static
3330
3331         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3332         to marshal a string not a boxed
3333
3334         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3335
3336         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3337         since the UTF-8 isn't validated yet
3338
3339         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3340         lines to end in '\n'
3341         
3342         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3343         forward_to_delimiters, and grapheme boundaries
3344         (gtk_text_view_delete_from_cursor): properly handle non-newline
3345         delimiters, and grapheme boundaries
3346
3347         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3348         to gtk_text_iter_forward_to_delimiters, and make it work properly
3349         if empty lines end with a character other than '\n'
3350
3351         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3352         position
3353
3354 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3355
3356         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3357
3358         * gtk/gtk.def
3359         * gdk/gdk.def: Update.
3360
3361         * gdk/win32/gdkmain-win32.c
3362         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3363         gdkmain-win32.c here.
3364
3365         * gdk/win32/makefile.mingw.in (all): No need to make
3366         gdk-win32res.o here, the makefile one step up will call us to make
3367         it.
3368
3369         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3370         gdkkeys-win32.
3371
3372         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3373
3374         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3375         call to g_source_add().
3376
3377         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3378         leak. Thanks to Andreas Kemnade.
3379
3380 2000-12-13  Havoc Pennington  <hp@pobox.com>
3381
3382         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3383
3384         * gtk/gtktext*.[hc]: update accordingly
3385         
3386 2000-12-13  Havoc Pennington  <hp@pobox.com>
3387
3388         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3389         header file
3390
3391         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3392
3393 2000-12-13  Alex Larsson  <alexl@redhat.com>
3394
3395         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3396         Add support for ps2 intellimouse.
3397
3398         * gdkkeyboard-fb.c:
3399         Move shift-F1 repaint handling to xlate handler only.
3400         
3401         * docs/README.linux-fb:
3402         Add imps2 to docs.
3403         Document the new refresh keys.
3404         
3405 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3406
3407         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3408
3409         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3410         ::position and ::padding.
3411
3412         * gtk/gtkcontainer.c: make ::border_width an INT property.
3413
3414         * gtk/gtkpacker.c: make ::position an INT property.
3415
3416         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3417         guard against NULL h/v scrollbars, since this is used at construction
3418         time.
3419
3420         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3421         internal gtk_clist_constructor().
3422
3423         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3424         gtk_ctree_constructor().
3425
3426         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3427         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3428
3429         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3430         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3431
3432         * gtk/gtkwidget.[hc]:
3433         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3434         and gtk_widget_get().
3435         (gtk_widget_new): use g_object_new_valist().
3436         (gtk_widget_set): use g_object_set_valist().
3437
3438         * gtk/gtkobject.[hc]:
3439         removed gtk_object_arg_get_info(), gtk_object_getv(),
3440         gtk_object_query_args(), gtk_object_newv(),
3441         gtk_object_class_add_signals(),
3442         gtk_object_class_user_signal_new(),
3443         gtk_object_class_user_signal_newv(),
3444         gtk_object_arg_set(), gtk_object_arg_get(),
3445         gtk_object_args_collect(),
3446         gtk_object_default_construct(),
3447         gtk_object_constructed(),
3448         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3449         removed nsignals, signals and n_args members from GtkObjectClass.
3450         (gtk_object_new): use g_object_new_valist().
3451         (gtk_object_set): use g_object_set_valist().
3452         (gtk_object_get): use g_object_get_valist().
3453         
3454         * gtk/gtkcompat.h: define gtk_object_default_construct().
3455         
3456         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3457         g_object_new().
3458
3459         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3460         fucntions, cleaned up method assignments (make sure your structures
3461         are setup properly before calling out). removed all GTK_CONSTRUCTED
3462         hacks ;)
3463
3464 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3465
3466         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3467         off-by-one error in checks. (Dave Lambert)
3468
3469 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3470
3471         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3472         Don't free gdk_fb_keyboard twice.
3473
3474 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3475
3476         * gtk/testgtk.c:
3477         (create_tooltips): 
3478         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3479         use GObject swapped_signal:: properties instead.
3480
3481         * gtk/gtkcellrenderertoggle.c: 
3482         * gtk/gtkcellrenderertextpixbuf.c: 
3483         * gtk/gtkcellrenderertext.c: 
3484         * gtk/gtkcellrendererpixbuf.c: 
3485         * gtk/gtkcellrenderer.c:
3486         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3487         missing warnings for invalid property ids, install properties
3488         with g_object_class_install_property() now.
3489         
3490         * gtk/gtksignal.c:
3491         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3492         
3493 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3494         
3495         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3496         to determine if a window is the focus widget within
3497         its toplevel.
3498
3499         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3500         to be boolean.
3501
3502         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3503         of the case where the container CAN_FOCUS to here instead
3504         of having it in each individual move-the-focus place.
3505
3506         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3507         focusing to be geometric in a much more obvious sense. Arrowing
3508         around is still non-intuitive because it isn't perfect and
3509         because entries, etc, grab the arrow keys, but it at least
3510         usually will do what you expect now.
3511         
3512         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3513         file.
3514
3515         * gtk/gtknotebook.c: Change tabs to be a single item in
3516         the focus chain. Make movement of focus on tabs with arrow
3517         keys wrap around.
3518         
3519         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3520         CHECK_FIND_CHILD macro to give informative error messages
3521         instead of silent returns.
3522
3523         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3524         flag since we handle GdkReturn on the tabs.
3525
3526         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3527         windows rather than sending expose events directly.
3528
3529         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3530         definition for GtkNotebookPage into .c file, since it is private.
3531
3532         * gtk/testgtk.c (create_notebook): Add option for 
3533         testing borderless notebook.
3534
3535         * gtk/testgtk.c (page_switch): Removed egregious poking
3536         around in GTK+ internals.
3537
3538         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3539
3540         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3541         properly through gtk_clist_focus. Make the title headers a
3542         single item in the tab-focus chain, and make left-right wrap
3543         around.
3544
3545         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3546         focus method so that wrapping around works properly.
3547
3548         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3549         that is handled for the widget now. 
3550
3551 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3552
3553         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3554         widgets as TOPLEVEL.
3555
3556         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3557         TOPLEVEL widgets are containers.
3558
3559         * gtk/gtkinvisible.h: Remove useless include.
3560
3561 2000-12-11  Havoc Pennington  <hp@redhat.com>
3562
3563         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3564         Handle chopping off \r\n and 0x2029 in addition to \n before
3565         passing to PangoLayout
3566
3567         * gtk/gtkimcontextsimple.c
3568         (gtk_im_context_simple_get_preedit_string): 
3569         return an empty string if no match is pending
3570
3571         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3572         assertion that the returned preedit string was sane
3573
3574         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3575         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3576         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3577
3578 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3579
3580         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3581         Fix up finalizer to chain to its parent.
3582
3583 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3584
3585         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3586         Clearified the difference between the keyboard types. Wrote a note
3587         about the magic sysrq key to get out of raw mode.
3588
3589 2000-12-09  James Henstridge  <james@daa.com.au>
3590
3591         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3592         member to hold masks for detecting the start of a protocol packet.
3593         (mouse_devs): add packet start masks for ps2 and ms device types.
3594         Left the mask for fidmour blank, as I have no idea what it should
3595         be.
3596         (handle_mouse_io): skip bytes until we get to the start of a
3597         packet.  My Logitech mouse seems to be passing an extra NULL pad
3598         byte, and GPM does a similar thing here.
3599         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3600         this is the ms mouse driver.
3601         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3602         completely broken except for button1.  It was checking the wrong
3603         bit in the packet for the status of the right mouse button, and
3604         wrongly assuming right == button2 rather than 3.  I fixed that and
3605         also added support for middle button (button2).
3606
3607 2000-12-08  Havoc Pennington  <hp@redhat.com>
3608
3609         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3610         that cause a segfault on text insertion
3611
3612         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3613         warning
3614
3615         * gtk/gtktextiter.c (test_log_attrs): use
3616         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3617
3618         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3619         Get log attrs for a line, using a cache stored on the buffer
3620         
3621         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3622         reported by Jeff Franks
3623
3624 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3625
3626         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3627         /dev/ttyS0 -> /dev/mouse
3628
3629 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3630
3631         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3632         Added dummy gdk_fontset_load.
3633
3634 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3635
3636         * docs/README.linux-fb:
3637         * docs/Makefile.am:
3638         Initial GtkFB docs.
3639         
3640         * gdk/linux-fb/Makefile.am:
3641         Define GDK_DATA_PREFIX.
3642
3643         * gdk/linux-fb/gdkmain-fb.c:
3644         Fix typo.
3645         Change default display to /dev/fb0.
3646
3647         * gdk/linux-fb/gdkpango-fb.c:
3648         Add $(prefix)/share/fonts/ to font path.
3649         
3650 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3651
3652         * gdk/linux-fb/gdkkeyboard-fb.c:
3653         New file containing the abstracted keyboard driver. Most code
3654         taken from gdkinput-ps2.c
3655
3656         * gdk/linux-fb/gdkinput-ps2.c:
3657         Removed file.
3658         
3659         * gdk/linux-fb/Makefile.am:
3660         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3661
3662         * gdk/linux-fb/gdkcolor-fb.c:
3663         display->fb was renamed to display->fb_fd.
3664
3665         * gdk/linux-fb/gdkcursor-fb.c:
3666         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3667
3668         * gdk/linux-fb/gdkinput.c:
3669         Moved gdk_input_init here from gdkinput-ps2.c
3670
3671         * gdk/linux-fb/gdkmain-fb.c:
3672         display->fb was renamed to display->fb_fd.
3673         Now the tty and the console is opened here instead
3674         of in the keyboard driver. Also check GDK_VT to see what
3675         tty to open.
3676         Move gdk_beep () here from gdkinput-ps2.c
3677         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3678
3679         * gdk/linux-fb/gdkmouse-fb.c:
3680         Add header.
3681         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3682         Return correct keyboard modifiers.
3683         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3684
3685         * gdk/linux-fb/gdkprivate-fb.h:
3686         Add tty and vt info to display.
3687         Add orignal modeinfo storage to display
3688         Update global functions
3689
3690         * gdk/linux-fb/gdkwindow-fb.c:
3691         Added gdk_fb_window_find_focus().
3692         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3693
3694 2000-12-07  Havoc Pennington  <hp@pobox.com>
3695
3696         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3697         function, noticed by Alex
3698
3699 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3700
3701         * configure.in: Detect freetype properly
3702
3703         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3704         above.
3705
3706 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3707
3708         * gdk/linux-fb/Makefile.am:
3709         Add gdkmouse-fb.c
3710         
3711         * gdk/linux-fb/gdkmouse-fb.c:
3712         New file. Abstracted the mouse drivers a bit.
3713
3714         * gdk/linux-fb/gdkcursor-fb.c:
3715         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3716
3717         * gdk/linux-fb/gdkinput-ps2.c:
3718         Removed old mouse handling code. Moved cursor handling code
3719         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3720         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3721         gdk_mouse_get_info.
3722
3723         * gdk/linux-fb/gdkmain-fb.c:
3724         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3725
3726         * gdk/linux-fb/gdkprivate-fb.h:
3727         Removed public gdk_fb_find_common_ancestor, added and renamed
3728         functions for the new mouse handling code.
3729
3730         * gdk/linux-fb/gdkwindow-fb.c:
3731         Moved gdk_fb_window_send_crossing_events here. added global
3732         variable gdk_fb_window_containing_pointer. made
3733         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3734         renamed to gdk_mouse_get_info.
3735
3736 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3737
3738         * gdk/linux-fb/gdkevents-fb.c:
3739         Update to match latest gmain/gsource changes.
3740
3741         * gdk/linux-fb/gdkinput-ps2.c:
3742         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3743         it links. Will be implemented later.
3744
3745 2000-12-03  Havoc Pennington  <hp@pobox.com>
3746
3747         * gdk/Makefile.am: add gdkkeys.[hc]
3748
3749         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3750         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3751
3752         * acconfig.h, configure.in: add checks and command line options
3753         for XKB
3754
3755         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3756         
3757         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3758         and group in the key event
3759
3760         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3761         field with the low-level hardware key code, and a group
3762         field with the keyboard group
3763
3764         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3765         and declare a couple globals used for keymap handling
3766         
3767         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3768         hold down Shift-Control and type a hex number to get a Unicode 
3769         character corresponding to the hex number
3770         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3771         (return bytes not chars)
3772
3773 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3774
3775         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3776         to avoid waste on 64-bit platforms.
3777
3778 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3779
3780         * INSTALL: Fix link to PNG home, remove reference
3781         to fribidi.
3782
3783         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3784         
3785         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3786         tested.)
3787
3788         * gtk/gtkcheckmenuitem.c: Permanently turn on
3789         always_show_toggle.
3790
3791         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3792         be NULL. (Vladimir Klebanov, #26545)
3793
3794         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3795         some signed/unsigned comparison problems. (#6510,
3796         David Kaelbling)
3797
3798         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3799         return type to boolean (Oskar Liljeblad, #18648)
3800
3801 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3802
3803         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3804         Remove bogus colormap setting.
3805
3806 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3807
3808         * gdk/linux-fb/gdkcolor-fb.c:
3809         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3810
3811         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3812         Must set colormap.
3813         
3814 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3815
3816         * docs/tutorial/gtk-tut.sgml: DND updates
3817
3818 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3819
3820         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3821         Remove old debug g_warning().
3822         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3823         or an implementation, just pass the implementation to draw_drawable_2.
3824         
3825         * gdk/linux-fb/gdkprivate-fb.h:
3826         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3827
3828         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3829         clear and invalidate area when window is destroyed.
3830         (send_map_events): Remove old commented out code.
3831
3832 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3833
3834         * gdk/linux-fb/gdkpango-fb.c:
3835         Use italic instead of oblique in font aliases.
3836         
3837         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3838         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3839         other unsupported functions.
3840
3841 2000-12-04  Havoc Pennington  <hp@redhat.com>
3842
3843         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3844
3845         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3846
3847         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3848
3849         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3850         hack to avoid infinite loops (synthetic expose event) - 
3851         Owen has more appropriate fixes in a branch he'll check in later.
3852
3853         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3854         separator, CR, and CRLF as line ends
3855
3856         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3857         into lines using pango_find_paragraph_boundary(); other bits of
3858         the widget are still going to be broken if the boundary isn't '\n'
3859         though
3860
3861 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3862
3863         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3864         multiply.
3865
3866         * gdk/linux-fb/gdkpango-fb.c:
3867         Copied some 26.6 scaling macros from pango to clean up the rounding.
3868         (pango_fb_font_get_glyph_info): Correct sign on x value.
3869
3870         * gdk/linux-fb/gdkprivate-fb.h:
3871         Removed unreferenced external functions.
3872
3873         * modules/linux-fb/Makefile.am: Use ` instead of '.
3874
3875         * modules/linux-fb/basic.c:
3876         Remove dead code. In particular the dummy lang engine which broke all
3877         pango layouts in GtkFB. Don't include tables-big.i anymore.
3878
3879         * modules/linux-fb/tables-big.i:
3880         Upgrade to latest version from pango. Left for reference, basic_ranges
3881         moved to basic.c.
3882         
3883 2000-12-04  Havoc Pennington  <hp@redhat.com>
3884
3885         Fix bugs Alex found:
3886         
3887         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3888         to "draw"
3889
3890         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3891
3892         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3893
3894         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3895         implementation in here, apparently the expose() implementation was
3896         dead code.
3897
3898 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3899
3900         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3901         Return positive descent.
3902
3903 2000-12-02  Havoc Pennington  <hp@pobox.com>
3904
3905         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3906         method and signal
3907         
3908         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3909         calls gdk_window_process_updates() to push the exposes through
3910         (gtk_widget_class_init): No more draw signal, no
3911         gtk_widget_real_draw()  
3912         
3913         * gtk/gtkbin.c (gtk_bin_draw): remove
3914
3915         * gtk/gtkbox.c (gtk_box_draw): remove
3916
3917         * gtk/gtkbutton.c (gtk_button_draw): remove
3918
3919         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3920
3921         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3922
3923         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3924
3925         * gtk/gtkclist.c (gtk_clist_draw): remove
3926
3927         * gtk/gtkentry.c (gtk_entry_draw): remove
3928
3929         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3930
3931         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3932
3933         * gtk/gtkframe.c (gtk_frame_draw): remove
3934
3935         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3936
3937         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3938
3939         * gtk/gtklayout.c (gtk_layout_draw): remove
3940
3941         * gtk/gtklist.c (gtk_list_draw): remove
3942
3943         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3944
3945         * gtk/gtkmenu.c (gtk_menu_draw): remove
3946
3947         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3948
3949         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3950
3951         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3952
3953         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3954
3955         * gtk/gtkpacker.c (gtk_packer_draw): remove
3956
3957         * gtk/gtkrange.c (gtk_range_draw): remove
3958
3959         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3960
3961         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3962
3963         * gtk/gtktable.c (gtk_table_draw): remove
3964
3965         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3966
3967         * gtk/gtktext.c (gtk_text_draw): remove
3968
3969         * gtk/gtktextview.c (gtk_text_view_draw): remove
3970
3971         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3972
3973         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3974
3975         * gtk/gtktree.c (gtk_tree_draw): remove
3976
3977         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3978
3979         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3980
3981         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3982
3983         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3984
3985         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3986
3987         * gtk/gtkwindow.c (gtk_window_draw): remove
3988
3989 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3990
3991         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3992         a GtkToggleButton is both insensitive and active, it was being
3993         drawn by the GtkButton draw handler which doesn't check the
3994         state. Now it's calling gtk_toggle_button_paint instead.
3995         
3996 2000-12-01  Havoc Pennington  <hp@redhat.com>
3997
3998         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3999         dangling pointers to the appearance attributes from the 
4000         line display
4001
4002         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4003         width/height to mean "full width/height of drawable"
4004
4005         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4006         click to select word/line
4007         
4008         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4009         when getting log attrs. Get a slice, so that pixmaps and stuff
4010         are properly handled.
4011
4012         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4013         paste into the selection (replaces selection now, previously
4014         crashed or added to selection). Reveals longstanding btree bug -
4015         select multiple lines, middle-click on the selection, boom. This
4016         isn't related to my changes though.
4017
4018         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4019         PangoLogAttrs changes
4020         (gtk_entry_move_backward_word): ditto
4021
4022         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4023         functions return bool whether the iter moved onto a
4024         dereferenceable position.
4025  
4026         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4027         functions for motion in terms of display lines.
4028
4029         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4030         get the buffer a mark is inside
4031         
4032 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4033
4034         * gdk/linux-fb/Makefile.am:
4035         * modules/linux-fb/Makefile.am:
4036         Freetype 2 final uses freetype-config
4037
4038         * gdk/linux-fb/gdkpango-fb.c:
4039         Upgrade to use Freetype 2 final.
4040         More flexible support for font aliases, this also fixes a bug with
4041         GtkFontSelector, as the aliases must be visible in the font/family list,
4042         or GtkFontSelector reads uninitialized memory.
4043
4044 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4045
4046         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4047         XGetIMValues to properly terminate variable argument list, and do
4048         NULL return check for ic_values and xim_styles.
4049
4050         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4051         Restore preedit state after XmbResetIC().
4052         
4053         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4054         XvaCreateNestedList() should take XvaNestedList, but not
4055         XvaNestedList*.
4056
4057         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4058         preedit_draw_callback, preedit_caret_callback): Match
4059         "preedit-changed" signal name to "preedit_changed" to be
4060         consistent to the spec.
4061
4062         * gtk/gtkimcontextsimple.c (check_table):
4063         Match "preedit-changed" to "preedit_changed" to be consistent
4064         to the spec.
4065
4066 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4067
4068         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4069         gc->clip_region == NULL>
4070
4071 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4072
4073         Changes by Hans Breuer:
4074         
4075         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4076         Dont't use negative width and height as max_hints. This fixes
4077         Owen's recent testgtk changes for win32.
4078
4079         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4080         gdk_win32_hdc_release): These are exported and may be called with
4081         other drawable types than our GdkDrawableImplWin32 (?).
4082
4083         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4084         so always #define USE_BACKING_STORE.
4085
4086         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4087         of printf for debugging output.
4088
4089         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4090         
4091         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4092
4093         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4094         declaration.
4095
4096         * gtk/gtktexttypes.h: Ditto.
4097
4098         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4099         (GDK_VoidSymbol) also if in case of arg check failure.
4100
4101         * gtk/gtkimcontextsimple.c
4102         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4103         position to the pointer, but to the variable it points to.
4104
4105         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4106
4107         * gtk/gtk.def: Updates.
4108
4109 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4110
4111         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4112         GTK_TYPE_TREE_MODEL.
4113
4114 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4115
4116         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4117         Set the size of the font from the description.
4118         (gdk_text_width): Gross hack that calculates the width
4119         of text by text_length * size/2. This is necessary because
4120         GtkLabel does some ugly gtk_string_width call to calculate
4121         an good size.
4122         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4123
4124 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4125
4126         * docs/tutorial/gtk-tut.sgml: DND updates
4127
4128 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4129
4130         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4131         If you pass width or height == 0 to gdk_window_clear_area they
4132         should be calculated from the window size.
4133
4134 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4135
4136         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4137         a grab, but no grab-cursor, use the cursor from the grabbed
4138         window. (gdk_fb_window_send_crossing_events): Send normal
4139         enter/leave notifications if grab and owner_events == TRUE.
4140
4141 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4142
4143         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4144         Do implicit button grabs, even if the window doesn't
4145         want the event.
4146         (gdk_fb_window_send_crossing_events): If there is a
4147         grab, only the grabbed window gets normal enter/leave
4148         notifications. On ungrab go from grabbed window to current.
4149         Don't send any notification to b when propagating from c -> b.
4150         If setting a grab on window, don't set prev_window.
4151         (handle_mouse_input): Send enter/leave events to the window the
4152         mouse is over, not the grabbed one.
4153         
4154 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4155
4156         * gdk/gdkregion-generic.c: Zap warning.
4157         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4158         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4159
4160 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4161
4162         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4163         The cursor should be hidden if it is part of either the
4164         source or destination region. Not only if it is in both.
4165         (gdk_window_set_transient_for): Silence warnings.
4166
4167 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4168
4169         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4170         The default mode in X is Pie Arcs, therefore that is
4171         what Gtk+ uses.
4172
4173 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4174
4175         * gdk/linux-fb/gdkinput-ps2.c:
4176         Implement correct EnterNotify/LeaveNotify:
4177         (gdk_fb_window_send_crossing_events): New function that sends
4178         all GdkCrossingEvents from the last mouse-window to the specified
4179         destination.
4180         (gdk_fb_window_visibility_crossing): Removed function.
4181         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4182         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4183         instead of gdk_window_get_pointer() for better readability.
4184
4185         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4186         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4187
4188         * gdk/linux-fb/gdkprivate-fb.h:
4189         removed gdk_fb_window_visibility_crossing, added
4190         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4191
4192         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4193         New function that finds the least common ancestor of two windows.
4194         (gdk_window_show, gdk_window_hide):
4195         Use gdk_fb_window_send_crossing_events.
4196         (gdk_fb_window_move_resize): Send configure events to toplevel
4197         windows. Use gdk_fb_window_send_crossing_events.
4198
4199 2000-11-27  Havoc Pennington  <hp@redhat.com>
4200
4201         * gtk/gtkprivate.h (enum): Remove a trailing comma
4202
4203 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4204
4205         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4206         the "changed" callback of the adjustment.  We need to redraw the
4207         spin button's arrows when the adjustment's range changes.
4208         (adjustment_changed_cb): Draw the arrows.
4209         (gtk_spin_button_value_changed): Draw the arrows.
4210
4211 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4212
4213         * gdk/linux-fb/gdkselection-fb.c:
4214         Initial selection implementation.
4215
4216         * gtk/gtkselection.c:
4217         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4218         requestor in gtk_selection_request.
4219         
4220         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4221         Added gdk_selection_property atom.
4222
4223         * gdk/linux-fb/gdkprivate-fb.h:
4224         Export _gdk_selection_window_destroyed.
4225         Removed mask_off_x/y from GdkCursorPrivateFB.
4226         Removed hbearing, added top, left to PangoFBGlyphInfo.
4227
4228         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4229         Call _gdk_selection_window_destroyed
4230         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4231         the root window has been created.
4232         (static_dx_hack, static_dy_hack, compare_draw_rects,
4233         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4234         in region. They are already sorted. Instead just traverse them in
4235         reverse if draw_direction < 0.
4236         
4237         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4238         Double-clicks must be sent after the normal button_press.
4239         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4240         
4241         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4242         Pass _gdk_fb_screen_gc instead of NULL.
4243
4244         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4245         Initialize gdk_selection_property.
4246         (gdk_event_make): Remove unused code.
4247
4248         * gdk/linux-fb/gdkcursor-fb.c:
4249         Make the pixmap for the cursor the same size as the mask. Also remove
4250         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4251         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4252         Now the whole cursor is visible.
4253
4254         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4255         Fix bug where xdest+height instead of ydest+height was used
4256         to calculate if the source and dest overlapped. This fixes the
4257         redraw bug when the main window in testgtk was scrolled when
4258         partially covered by a tall window.
4259         Copy rectangles in region in order depending on draw_direction.
4260         Also moved the draw_direction flipping of start_y and end_y into
4261         the gc functions, as this might not be what all of them want.
4262         (gdk_fb_draw_lines): Support dashed lines.
4263         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4264         so that the text is positioned correctly (was 1 pixel high).
4265
4266         gdk/linux-fb/gdkgc-fb.c:
4267         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4268         all lines were drawn a pixel to short. Also checked the default of
4269         the rest of the values, and they're the same as X now.
4270
4271         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4272         Clean up pixel positioning of the glyphs. Just use bgy->top and
4273         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4274         to all divisions to get correct rounding behaviour.
4275
4276         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4277         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4278         Moved start_y/end_y flip into draw_drawable implementations.
4279         Flip also x rendering when draw_direction < 0.
4280         Remove unneccesary multiply with draw_direction.
4281
4282 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4283
4284         * docs/tutorial/gtk-tut.sgml:
4285           - get rid of gtk_toggle_button_toggled FUD
4286           - start DND section - needs work - based on:
4287                 http://wolfpack.twu.net/docs/gtkdnd/
4288
4289 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4290
4291         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4292         Correct calculation of font metrics. Now GtkEntrys have sane
4293         size.
4294
4295 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4296
4297         * gdk/gdktypes.h:
4298         Add new type GdkSpan
4299         
4300         * docs/reference/gdk/gdk-sections.txt,
4301         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4302         gdk/gdkregion.h:
4303         Implement and document gdk_region_spans_intersect_foreach.
4304
4305         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4306         Add new file gdkrender-fb.c which contains all core
4307         rendering code.
4308         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4309         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4310         (optimized rectangle fillers).
4311
4312         * gdk/linux-fb/gdkdrawable-fb2.c:
4313         Move all rendering code to gdkrender-fb.c.
4314         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4315         Use the new span intersection functions in gdk_fb_fill_spans.
4316         gdk_fb_draw_rectangle() clips filled rectangles and calls
4317         gc->fill_rectangle with the result.
4318         gdk_fb_fill_spans() gets extra argument "sorted".
4319
4320         * gdk/linux-fb/gdkevents-fb.c:
4321         Remove unused includes and defines.
4322         New function gdk_fb_get_time() to get correct time for events.
4323
4324         * gdk/linux-fb/gdkinput-ps2.c:
4325         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4326         Make sure to set the time of all events.
4327
4328         * gdk/linux-fb/gdkmain-fb.c:
4329         Use gdk_fb_get_time ().
4330
4331         * gdk/linux-fb/gdkprivate-fb.h:
4332         New virtual GC calls: fill_span & fill_rectangle.
4333         Export gdk_fb_get_time().
4334         gdk_fb_fill_spans() gets extra argument "sorted".
4335
4336         * gdk/linux-fb/mi*.c:
4337         Use GdkSpan instead of GdkRectangle.
4338         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4339         from XFree 4 source)
4340         
4341 2000-11-22    <jrb@redhat.com>
4342
4343         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4344         reversing the order in an if statement will do.  Doing so managed
4345         to make the treemodelsort half work.  Other half will follow after
4346         I get the insert function fully fixed.
4347
4348 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4349         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4350         more than 2 bits. Besides, I need to implement an evil hack. :)
4351
4352 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4353
4354         * docs/tutorial/gtk-tut.sgml: minor corrections
4355
4356 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4357         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4358           convert to and from relative path's and iters.
4359
4360         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4361           testing sorting functions a bit better.  Currently broken -- will
4362           fix in morning.
4363
4364 2000-11-20  Havoc Pennington  <hp@redhat.com>
4365
4366         * gtk/gtkwidget.c: Documented a bunch of functions in here
4367         (gtk_widget_realize): Warn if you try to realize
4368         a widget with no parent that isn't a toplevel
4369         (gtk_widget_intersect): return a gboolean
4370
4371 2000-11-20  Havoc Pennington  <hp@redhat.com>
4372
4373         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4374         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4375         scrolling to be implemented in GDK to finish. Also, right now
4376         we just size_allocate all children on every layout change,
4377         which is pretty lame. Test commented out of testtext.c, 
4378         until it works better.
4379
4380 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4381
4382         * gdk/linux-fb/gdkdrawable-fb2.c:
4383         Removed unused arguments from gdk_fb_drawable_get_pixel().
4384
4385         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4386         Renamed fidur specific mouse packet data in MouseDevice to
4387         generic. Used it in ps2 mouse handling code to avoid blocking
4388         reads.
4389
4390 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4391
4392         * demos/gtk-demo/main.c: Changed to have the list become
4393         non-italic when the demo window is destroyed through an external
4394         event (like a close button).  Doing so found three bugs in the
4395         widget.
4396
4397         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4398
4399         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4400         we actually set the cell.
4401
4402         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4403
4404         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4405         free a leaked path.  Thanks memprof.
4406
4407 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4408
4409         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4410         off-by-one error when destroying allocated segments
4411         on failure. (Elliot)
4412
4413 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4414
4415         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4416         memleaks found by Evan Martin.
4417
4418 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4419
4420         * Released 1.3.2
4421         
4422         * NEWS: Updates for 1.3.2
4423
4424 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4425
4426         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4427         but in general for window system specific events.
4428
4429         * gtk/gtk.def
4430         * gtk/makefile.mingw.in
4431         * gtk/makefile.msc.in: Update.
4432         
4433         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4434
4435 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4436
4437         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4438         distribute gtk.immodules.
4439
4440         * gtk/Makefile.am (install-data-local): Don't install the
4441         gtk.immodules file created for the uninstalled modules;
4442         instead run gtk-query-immodules after install
4443
4444 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4445
4446         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4447         -rpath to the right install location.
4448
4449         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4450         -export-dynamic.
4451
4452         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4453         properly.
4454
4455 2000-11-15  Havoc Pennington  <hp@pobox.com>
4456
4457         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4458         patch from Mikael Hermansson to temporarily stop blinking while
4459         the user is using the keyboard to type or navigate. 
4460
4461         Also, when blinking, stay on for longer than we stay off. Also,
4462         return from start_cursor_blink if !cursor_visible, to save
4463         checking that flag all over the place before we call
4464         start_cursor_blink.
4465
4466 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4467
4468         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4469         only contain a "fontset" line, which is now ignored.
4470
4471         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4472         double-click-to-select-word work.
4473         
4474 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4475
4476         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4477         Don't move back one char when we are actually at the end of the 
4478         paragraph.
4479
4480 2000-11-15  Robert Brady  <robert@suse.co.uk>
4481
4482         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4483         'o' < 'p'.
4484         
4485         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4486         bind_textdomain_codeset.
4487
4488         (gtk_init_check): Make the warning about translating default:LTR
4489         sterner.
4490         
4491 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4492
4493         * **/Makefile.am : remove unecessary rules for win32-specific
4494         config-substituted targets. If you want these rules, use
4495         --enable-maintainer-mode (called automatically by autogen.sh).
4496         Stops a lot of unneccessary make-time warnings.
4497
4498         * gtk/gtktext{layout,display}.c: Factor in total width as
4499         well as screen when figuring alignment for word-wrap as well as
4500         no wrap; this is necessary to handle lines that cannot be wrapped
4501         at all.
4502
4503 2000-11-15  Havoc Pennington  <hp@redhat.com>
4504
4505         * gtk/testtext.c: Implement essential color cycling feature
4506
4507 2000-11-15  Havoc Pennington  <hp@redhat.com>
4508
4509         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4510         when we invalidate the main window.
4511
4512         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4513         GtkTextView will now invalidate the side windows for us when text
4514         changes.
4515
4516 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4517
4518         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4519         unconditionally, since we may need to update the horizontal
4520         scrollbars even if the height didn't change.
4521
4522         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4523         the extra attrs, since some of them affect size.
4524
4525         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4526         x_offset correctly.
4527
4528 2000-11-15  Havoc Pennington  <hp@redhat.com>
4529
4530         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4531         don't move the first line out into the margin, instead move the
4532         whole paragraph in order to make space for the first line within 
4533         the margin
4534
4535 2000-11-15  Havoc Pennington  <hp@redhat.com>
4536
4537         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4538         xoffset in addition to yoffset, so horizontal scrolling doesn't
4539         break redraws
4540
4541 2000-11-15  Havoc Pennington  <hp@redhat.com>
4542
4543         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4544         from the cursor
4545         (render_layout_line): fix reversed test that caused weird
4546         underlines to get drawn
4547
4548 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4549
4550         * gdk/linux-fb/gdkprivate-fb.h:
4551         Fix debug macros.
4552         
4553 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4554
4555         * gdk/linux-fb/gdkprivate-fb.h:
4556         Added virtual functions set_pixel, get_color,
4557         fill_span and draw_drawable to the GC.
4558         Added global _gdk_fb_screen_gc to use instead of
4559         NULL when drawing to the screen.
4560         Added _gdk_fb_gc_calc_state() prototype.
4561
4562         * gdk/linux-fb/gdkgc-fb.c:
4563         Call _gdk_fb_gc_calc_state() on any gc state change.
4564
4565         * gdk/linux-fb/gdkglobals-fb.c:
4566         Add _gdk_fb_screen_gc
4567                 
4568         * gdk/linux-fb/gdkdrawable-fb2.c:
4569         _gdk_fb_gc_calc_state() calculates best functions
4570         for the GC state and depth.
4571         Moved bpp specialized code to separate functions.
4572         Added optimized 24 bpp AA draw_drawable.
4573
4574         * gdk/linux-fb/gdkevents-fb.c:
4575         Silence gcc warning.
4576
4577         * gdk/linux-fb/gdkimage-fb.c:
4578         Use _gdk_fb_screen_gc
4579
4580         * gdk/linux-fb/gdkwindow-fb.c:
4581         Init and use _gdk_fb_screen_gc
4582
4583         * gdk/linux-fb/mitypes.h:
4584         Remove unused types.
4585
4586 2000-11-14  Havoc Pennington  <hp@pobox.com>
4587
4588         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4589         to pixels
4590
4591 2000-11-14  Havoc Pennington  <hp@pobox.com>
4592
4593         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4594
4595         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4596         unknown char, no real reason we were using a variable. 
4597         Remove gtk_text_unknown_char variable. Fix all the text widget
4598         files accordingly.
4599
4600         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4601         since the Unicode spec seems to prefer that character for our
4602         purposes.
4603
4604 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4605
4606         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4607         value of g_getenv() isn't freeable, so g_strdup it.
4608
4609         * modules/input/inuktitut.c: Inuktitut input method.
4610
4611         * modules/input/Makefile.am: Build this.
4612         
4613 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4614
4615         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4616         of gtk programs.
4617
4618 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4619
4620         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4621         reversed > that was causing Home to go to end of previous line.
4622
4623         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4624         modified-keypresses (leave for bindings.)
4625
4626         * modules/input/Makefile.am: Remove useless -export-dynamic
4627         from module LDFLAGS.
4628
4629 2000-11-14  Havoc Pennington  <hp@redhat.com>
4630
4631         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4632         higher.
4633
4634         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4635         account. Also, render rise, underline, background, etc. for
4636         pixbufs as well as text. Also, draw underlines one pixel higher.
4637
4638         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4639         PangoAttribute for the rise, so it gets drawn properly. Also,
4640         add the GtkTextAppearance attribute for pixbuf/widget segments
4641         as well; we should go ahead and have rise, underline, background,
4642         stipple work for those
4643
4644         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4645         Pango
4646
4647 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4648
4649         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4650
4651         * gtk/gtk.def: Update.
4652
4653         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4654         included.
4655         (gtk_rc_get_im_module_file): Use run-time installation directory
4656         on Win32.
4657
4658         * gdk/win32/rc/gdk.rc: Remove.
4659         * gdk/win32/rc/gdk.rc.in: New file.
4660         * gdk/win32/rc/Makefile.am: New file
4661         * gdk/win32/Makefile.am: Corresponding changes.
4662
4663         * gtk/gtk.rc: Remove.
4664         * gtk/gtk-win32.rc.in: New file.
4665         * gtk/Makefile.am: Corresponding changes.
4666
4667         * configure.in: Corresponding changes.
4668
4669         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4670         has a built gtkcompat.h. Developers using CVS code on Win32 can
4671         hand-edit it from gtkcompat.h.in.
4672
4673         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4674         gtkcompat.h from gtkcompat.h.win32.
4675
4676 2000-11-14  Havoc Pennington  <hp@redhat.com>
4677
4678         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4679         to default to GDK_ACTION_MOVE if the drag is within a single
4680         widget. Defaults to GDK_ACTION_COPY between widgets.
4681
4682 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4683
4684         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4685
4686         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4687
4688         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4689         srcdir != builddir
4690
4691         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4692
4693         * configure.in (GTK_VERSION): Up to 1.3.2
4694
4695         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4696         gtkimcontextxim.h
4697
4698         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4699         missing doc comment.
4700
4701 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4702
4703         * modules/linux-fb/basic.c:
4704         Use the glib iconv wrappers.
4705
4706 2000-11-13  Havoc Pennington  <hp@pobox.com>
4707
4708         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4709         still more bugs.
4710
4711         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4712         scroll the GdkWindows before realization.
4713
4714 2000-11-13  Havoc Pennington  <hp@redhat.com>
4715
4716         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4717         where GC didn't always get updated properly
4718
4719         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4720         of fonts instead of setting the entire font
4721
4722         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4723         setting entire font
4724
4725         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4726
4727         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4728         a bunch of individually-settable font attributes. You can still 
4729         use the "font" and "font_desc" args, they just set all the font
4730         attributes at once.
4731
4732 2000-11-13 Elliot Lee <sopwith@redhat.com>
4733
4734         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4735
4736 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4737
4738         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4739         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4740
4741         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4742         work better.
4743
4744 2000-11-13  Havoc Pennington  <hp@redhat.com>
4745
4746         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4747         the module file.
4748
4749         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4750         dest->language
4751
4752         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4753         settings
4754
4755         * gtk/gtktextview.c: Implement object args and setters/getters for
4756         all the aspects of the GtkTextAttributes that are not set from
4757         GtkWidget attributes. This is spacing, justification, margins,
4758         etc.
4759
4760         (gtk_text_view_set_arg)
4761         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4762         args
4763         (gtk_text_view_class_init): Add args for justify, left_margin,
4764         right_margin, indent, and tabs
4765         
4766
4767         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4768         attribute properly
4769
4770         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4771         replace with indent attribute
4772
4773         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4774         PANGO_SCALE
4775
4776         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4777         rearranging code to do that
4778         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4779         i.e. don't subtract the top_margin first, just to keep
4780         all margin-futzing in one place.
4781
4782         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4783
4784         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4785         special case of last line, Pango now handles this itself.
4786         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4787         Y coordinate
4788         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4789         (find_display_line_above): wasn't moving the byte index as it
4790         iterated over lines, so always returned byte 0. Also, port to use
4791         PangoLayoutIter.
4792         (find_display_line_below): same problem as
4793         find_display_line_above. Also, port to use PangoLayoutIter.
4794
4795 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4796
4797         * gdk/linux-fb/*.[ch]:
4798         Massive reindent to gtk+ standard. My hands hurt.
4799
4800         * gdk/linux-fb/gdkcolor-fb.c:
4801         Move GdkColorPrivateFB from inherited to windowing_data
4802
4803         * gdk/linux-fb/gdkcursor-fb.c:
4804         _gdk_cursor_new_from_pixmap made static
4805
4806         * gdk/linux-fb/gdkdnd-fb.c:
4807         GdkDragContextPrivate moved to windowing_data
4808
4809         * gdk/linux-fb/gdkdrawable-fb2.c:
4810         Removed endian.h, use glib endianness macros instead
4811         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4812         and GDK_DRAWABLE_IMPL_FBDATA
4813
4814         * gdk/linux-fb/gdkfont-fb.c:
4815         Add empty gdk_font_load(). Needed for linking of Gtk+.
4816
4817         * gdk/linux-fb/gdkimage-fb.c:
4818         Removed endian.h, use glib endianness macros instead
4819         Moved GdkImagePrivateFB to windowing_data
4820         gdk_image_new_bitmap didn't always allocate enough
4821         memory.
4822
4823         * gdk/linux-fb/gdkinput-ps2.c:
4824         Added semi-working support for MS serial mice.
4825
4826         * gdk/linux-fb/gdkprivate-fb.h:
4827         s/GdkWindowPrivate/GdkWindowObject/
4828         Removed GdkWindowPrivate typedef
4829         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4830         Removed GDK_DRAWABLE_P
4831         Move GdkColorPrivateFB from inherited to windowing_data
4832         Moved GdkImagePrivateFB to windowing_data
4833
4834         * gdk/linux-fb/gdkvisual-fb.c:
4835         Removed some unused debug code.
4836
4837         * gdk/linux-fb/gdkwindow-fb.c:
4838         Use stock cursors instead of including X headers.
4839         s/GdkWindowPrivate/GdkWindowObject/
4840
4841         * gdk/linux-fb/mitypes.h:
4842         Removed unused types.
4843
4844         * modules/linux-fb/basic.c:
4845         Use the pango fribidi wrappers.
4846
4847 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4848
4849         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4850         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4851         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4852         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4853         GEqualFunc where applicable.
4854         
4855         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4856         pango_font_description_equal as changed in pango.
4857         
4858         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4859
4860         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4861
4862         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4863
4864         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4865
4866         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4867
4868         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4869
4870         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4871         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4872
4873         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4874         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4875
4876 2000-11-12  Havoc Pennington  <hp@pobox.com>
4877
4878         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4879         dir to datadir/gtk+-2.0/demo
4880
4881         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4882         sorts of text widget and Pango font bugs. Urgh.
4883
4884         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4885
4886         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4887         tree that you should double click to see the demo. Fix 
4888         types of variables to reflect changed return values from 
4889         GtkTreeStore and GtkTreeViewColumn constructors.
4890
4891         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4892         newly-created buffer to prepare for GObject semantics
4893
4894         * gtk/testtext.c: don't leak the buffer with GObject semantics
4895
4896         * gtk/testtextbuffer.c: ditto
4897         
4898 2000-11-12  Havoc Pennington  <hp@pobox.com>
4899
4900         Rename this testgtk to gtk-demo to avoid confusion, and 
4901         install it so people can use it as a supplement to 
4902         the documentation.
4903         
4904         * demos/gtk-demo: Moved from demos/testgtk
4905
4906         * demos/testgtk: Removed
4907
4908         * configure.in: make Makefile in gtk-demo
4909         
4910         * demos/gtk-demo/Makefile.am: Install sample source to 
4911         datadir/gtk-demo (maybe there's a better place?), and 
4912         rename the binary to gtk-demo
4913         
4914         * demos/gtk-demo/main.c (load_file): Load installed sample
4915         source if source isn't found in pwd.
4916
4917 2000-11-09  Havoc Pennington  <hp@pobox.com>
4918
4919         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4920         argument to set the char displayed when visibility == FALSE
4921         (gtk_entry_create_layout): If !entry->visible, replace 
4922         all chars with the "invisible char"
4923
4924         * gtk/testgtk.c: Test the invisible_char deal
4925         
4926 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4927
4928         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4929         can't get a native font in the right encoding.
4930
4931 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4932
4933         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4934         respectively.
4935
4936 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4937
4938         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4939         Fix warning when moving between paragraphs.
4940
4941         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4942         delete => delete_from_cursor, insert => insert_at_cursor
4943
4944 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4945
4946         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4947
4948         * modules/input/imthai-broken.c: A Thai input method for use if
4949         Thai keys are really generating Latin1 keysyms.
4950
4951         * modules/input/Makefile.am: Build these.
4952
4953 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4954
4955         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4956         g_filename_{to,from}_utf8 now takes an extra parameter.
4957
4958         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4959         strftime into UTF-8.
4960
4961         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4962         calendars.
4963
4964         (gtk_calendar_paint_day_names): Draw day names in the right 
4965         place.
4966         
4967 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4968
4969         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4970         problem with using result of g_get_charset() backwards -
4971         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4972
4973         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4974         negative min_width/height and max_width/height to
4975         mean "requisition"; this allows setting a window
4976         to be user-resizable in only one direction easily.
4977
4978         * gtk/testgtk.c (create_main_window): Remove hard-coded
4979         usize - set a default size in the vertical direction.
4980
4981 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4982
4983         * gtk/gtkrange.c: Add some missing casts. Support 
4984         2 and 3 button clicks on the arrows to mean 
4985         "move by pages" and "jump to end". (Like gtkspinbutton)
4986
4987 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4988
4989         * gdk/win32/makefile.msc : reflect build module changes
4990
4991         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4992         from GdkPixmap*, cast implementation member instead.
4993
4994         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4995         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4996         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4997         more Gdi functions return value checking. 
4998         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4999         GdkImagePrivateWin32 *.
5000
5001         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5002         menus useable again. Add #pragma message to keep reminded on this issue.
5003         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5004         windows. This allows to enable backing store on Win32!
5005
5006         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5007         in drawable is of impl type. Correct specific type checks appropriate.
5008  
5009         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5010         GDK_WINDOW_DESTROYED before allocating new resources.
5011
5012         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5013
5014         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5015         (gdk_window_foreign_new) initialize parent handle.
5016         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5017
5018         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5019         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5020         problems (e.g. main buttons in testgtk). 
5021
5022 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5023
5024         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5025         gtk_widget_activate for GDK_Return.
5026
5027         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5028         of preedit cursor position.
5029
5030 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5031
5032         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5033         static.
5034
5035 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5036
5037         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5038         out support for multiple locales; that simple doesn't
5039         work reliably with current Xlib
5040
5041         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5042         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5043         Add support for positioning the cursor within the preedit string.
5044
5045 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5046
5047         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5048         at XIM input method module.
5049
5050         * gtk/gtktextview.c: Check for bindings after passing
5051         events to im context filter.
5052
5053 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5054
5055         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5056         empty attribute lists properly.
5057
5058 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5059
5060         * gtk/queryimmodules.c (main): Return non-zero exit
5061         status if errors were encountered querying any
5062         modules.
5063
5064         * modules/input/Makefile.am (moduledir): remove
5065         leftover bin program target.
5066
5067         * docs/make-todo: Fix typo in error message.
5068
5069 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5070
5071         * configure.in: Add modules/input/Makefile
5072
5073 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5074
5075         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5076         don't include gtkthemes.h.
5077
5078         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5079         to point
5080
5081         * gtk/Makefile.am: Add new .c and .h files, build 
5082         gtk-query-immodules and use it to create a gtk.immodules
5083         file for use of test programs.
5084
5085         * gtk/gtkpreview.c: remove extra blank line.
5086
5087 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5088
5089         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5090         Add the ability to add extra tables beyond the default
5091         one, and also the ability to have compose sequences 
5092         that are prefixes of other compose sequences. 
5093
5094         * gtk/gtkimcontextsimple.c: Export a preedit string which
5095         consists of possible candidates for keystrokes that have
5096         been entered but not yet committed.
5097
5098         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5099         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5100
5101         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5102         Add a function to add input-method switching menu items
5103         to a menu.
5104
5105         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5106         when switching input methods.
5107
5108         * gtk/gtkimcontextsimple.[ch]: Change the format of
5109         the compose table to allow compose tables of different
5110         lengths / sequence.
5111
5112 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5113
5114         * gtk/gtkimmodule.[ch]: Support routines for loading
5115         GtkIMContext implementations dynamically at runtime.
5116
5117         * modules/input/imcyrillic-translit.c: A sample input
5118         method (based on GtkIMContextSimple with an extra table),
5119         which demonstrates preedit strings and the module
5120         system for input modules
5121
5122         * gtk/queryimmodules.c: Program to query the available
5123         input modules and write the results into a file.
5124          
5125         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5126         extra config options "im_module_file" (cache file for
5127         input method modules), and "im_module_path" - path
5128         to look for modules when generating cache file.
5129
5130         This doesn't scale.
5131
5132 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5133
5134         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5135         generic code from gtkthemes into a new abstraction
5136         GtkModule which has the logic for implementing
5137         a loadable module which implements a number of 
5138         GObject types.
5139
5140 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5141
5142         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5143         a class into an interface  
5144         
5145         * gtk/gtkoldeditable.[ch]: Move the old editable
5146         implementation into here, so legacy widgets can
5147         still rely on the implemenation. GtkOldEditable
5148         exports GtkEditable. Make selection handling
5149         code use new text conversion functions (and
5150         handle UTF-8 as a side-effect). Use GtkClipboard
5151         for CLIPBOARD.
5152
5153         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5154         Adopt to match above changes.
5155
5156         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5157         avoid GtkOldEditable implementation. Restructure
5158         to reduce number of places that modify state directly.
5159         Move to GtkBindingSet. Display the preedit string.
5160         Queue recomputation of PangoLayout and scroll position
5161         to improve effiency of doing complex changes naively.
5162         Add a menu with cut/copy/paste and input method selection.
5163
5164 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5165
5166         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5167         to set preedit string and attributes; display preedit string by
5168         inserting string and attributes at cursor when creating the
5169         GtkTextLineDisplay.
5170
5171         * gtk/gtktextlayout.c: Move all conversions between byte
5172         positions in PangoLayout and GtkTextIter into new functions
5173         line_display_iter_to_index/index_to_iter that properly
5174         handle the preedit string.
5175
5176         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5177         it to return const char * (eventually will end up
5178         as GCONST char *, most likely.)
5179
5180         * gtk/gtktextview.[ch]: Handle the preedit string, call
5181         gtk_im_context_reset() as necessary, add a menu to switch
5182         input methods.
5183         
5184         * gtk/gtktextlayout.[ch]: Remove useless
5185         gtk_text_layout_get_log_attrs() function.
5186
5187 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5188
5189         * gdk/gdk.def
5190         * gtk/gtk.def: Update.
5191
5192         * gdk/win32/*.c: Add last argument to g_type_register_static()
5193         calls.
5194
5195         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5196
5197         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5198         generated by older wheel mouse drivers. Get the correct y
5199         coordinate from WM_MOUSEWHEEL messages.
5200
5201         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5202         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5203         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5204         Debugging functions.
5205
5206         * gdk/win32/gdkprivate-win32.h: Declare them.
5207
5208         * gdk/win32/gdkinput-win32.h: Add declaration for
5209         gdk_input_window_destroy().
5210
5211         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5212
5213 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5214
5215         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5216         function to help handle keeping things in sync.
5217
5218 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5219
5220         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5221         BOXED marshallers.
5222
5223         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5224         (gtk_list_store_class_init): use the new BOXED marshallers.
5225
5226         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5227         new_with_values to new_with_types.
5228         (gtk_tree_store_get_column_type): add this.
5229         (gtk_tree_store_class_init): use the new BOXED marshallers.
5230
5231         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5232         mirror some POINTER marshallers.
5233
5234 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5235
5236         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5237         allow more interesting iterators.  Also, made the lifecycle of
5238         iterators more explicit.
5239
5240         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5241
5242         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5243         types.
5244
5245 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5246
5247         * demos/testgtk/menus.c:
5248         Changes to make the new testgtk compile after
5249         gtk_menu_append was removed.
5250
5251         * gdk/linux-fb/gdkdrawable-fb2.c
5252         (gdk_fb_get_depth, gdk_fb_get_visual,
5253         gdk_drawable_impl_fb_class_init): Implement
5254         these drawable functions. Now GtkImages work again.
5255
5256         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5257
5258         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5259         
5260         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5261         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5262         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5263         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5264
5265 2000-11-08  Havoc Pennington  <hp@pobox.com>
5266
5267         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5268         visible_set args, don't know where these had gone, I thought they
5269         used to be there
5270
5271         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5272         now we can test the feature and see that it's totally broken.
5273
5274 2000-11-08  Havoc Pennington  <hp@pobox.com>
5275
5276         Make DND copy pixbufs and tags when source and target share a 
5277         tag table.
5278         
5279         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5280         in-process GTK_TEXT_BUFFER_CONTENTS target
5281         (gtk_text_view_drag_data_received): Paste from
5282         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5283
5284 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5285
5286         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5287         API changes.
5288
5289         * gtk/gtkmenu.c: Add support for scrolling menus.
5290         Remove gtk_menu_append/prepend/insert, these have been moved to
5291         gtkcompat.h as #defines.
5292
5293         * gtk/gtkcompat.h.in:
5294         Add compatibility #defines for gtk_menu_append/prepend/insert
5295
5296         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5297         GtkMenuPositionFunc gets an extra argument push_in.
5298         gtk_menu_append/prepend/insert removed.
5299         
5300         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5301         positioning behaviour to fit to scrolling menus.
5302
5303         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5304         into menuitem->submeny. That is wrong, and broke torn
5305         off submenus of torn off menus, since they were unrealized
5306         when the first menu was unrealized.
5307
5308         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5309         gtk_menu_shell_select_item() since these need to be overridden in
5310         GtkMenu.
5311
5312         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5313         positioning behaviour to fit to scrolling menus.
5314         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5315         the current item so that it is prelighted when the menu pops up.
5316         This is a workaround to the fact that the menu doesn't get the
5317         initial enter event (due to grabs).
5318
5319         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5320         s/gtk_menu_append/gtk_menu_shell_append/
5321
5322         * gtk/gtknotebook.c:
5323         s/gtk_menu_insert/gtk_menu_shell_insert/
5324
5325         * gtk/testgtk.c (create_menu, create_menus):
5326         Create the first menu with 50 items so that menu scrolling
5327         can be tested.
5328         
5329         
5330         Patch from Jonathan Blandford  <jrb@redhat.com>
5331
5332         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5333         system to handle size requests.  First, we ask what the size of
5334         the toggle is.  Then, when allocating the size, we allocate the
5335         toggle_size first.  This way we can have multiple menu-item
5336         classes w/o needing a seperate class for each.
5337
5338         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5339         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5340
5341         * gtk/gtkcheckmenuitem.c
5342         (gtk_check_menu_item_toggle_size_request): New function to handle
5343         the toggle size-request.
5344
5345 2000-11-07  Havoc Pennington  <hp@redhat.com>
5346
5347         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5348         Half-ass somewhat fix this function, so that scrolling to the
5349         insertion point works. Pango hacking is in the future to really
5350         fix it.
5351
5352         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5353         length of data, no longer used.
5354
5355         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5356         method contents in here, get rid of destroy method
5357         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5358         that were backward. Remove debug spew.
5359         (cut_or_copy): Make the clipboard work with insert_range to
5360         preserve tags and pixbufs, not just the primary selection.
5361
5362 2000-11-07  Havoc Pennington  <hp@redhat.com>
5363
5364         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5365         to gtk_text_mark_get_visible
5366
5367         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5368         bug that was generating an invalid iterator
5369
5370         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5371         ensure_char_offsets() in front of code placing the iter in an
5372         invalid state.
5373
5374         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5375         make override_location arg const
5376         (paste): Replace the selection if we paste into the 
5377         current selection
5378
5379         * gtk/gtkselection.h: Remove "GtkSelectioData"
5380         (struct _GtkSelectionData): move the definition here.
5381
5382         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5383         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5384
5385         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5386
5387         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5388         (gtk_text_buffer_insert_range_interactive): implement
5389         (gtk_text_buffer_get_tags): Remove, replaced by
5390         gtk_text_iter_get_tags()
5391
5392         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5393         limit parameter, to avoid infinite linear scan.
5394         (gtk_text_iter_backward_search): Add search limit
5395         (gtk_text_iter_forward_find_char): Add search limit
5396         (gtk_text_iter_backward_find_char): Add search limit
5397
5398 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5399
5400         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5401         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5402         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5403         gdk/linux-fb/gdkwindow-fb.c:
5404         use g_object_new() instead of g_type_create_instance() which
5405         is a private function for fundamental type implementations.
5406
5407         * gdk/linux-fb/gdkinput-ps2.c:
5408         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5409         instead just store the current modifier state. Add a (somewhat broken)
5410         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5411         Rename exported function gdk_input_ps2_get_mouseinfo to
5412         gdk_input_get_mouseinfo.
5413
5414         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5415         gdk/linux-fb/gdkwindow-fb.c:
5416         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5417         
5418
5419 2000-11-02  Havoc Pennington  <hp@redhat.com>
5420
5421         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5422         use stock buttons. Should be 100% source compatible, appropriate
5423         filesel fields now point to dialog->vbox and dialog->action_area.
5424         On the bizarre side, dialog->action_area and filesel->action_area
5425         are not the same widget.
5426         (gtk_file_selection_init): Put some padding around the selection
5427         entry, so it isn't touching the GtkDialog separator.    
5428
5429         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5430         use stock buttons, etc. Should also be source compatible.
5431         Set the dialog default title in _init not _new().
5432         
5433         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5434         Use stock buttons; don't put a button box inside the existing
5435         dialog button box. Don't bother with push/pop colormap anymore.
5436
5437         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5438         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5439         for message dialog, and necessary for the font selection and color
5440         selection with help and apply buttons.
5441         
5442         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5443         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5444         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5445         between buttons, put less padding around the action area.
5446         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5447         This will also exit the loop if the widget is hidden.
5448         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5449         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5450         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5451         special-case delete event.
5452
5453         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5454         formatting
5455         
5456 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5457
5458         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5459         button to temporarily disable position recording in the
5460         "saved position" test.
5461
5462 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5463
5464         * gtk/gtkthemes.c: added compat code that temporarily implements
5465         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5466         going to be revamped by owen's upcoming GtkModule patches, but
5467         untill then people want gtk to build, right? ;)
5468
5469 2000-11-04  Havoc Pennington  <hp@pobox.com>
5470
5471         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5472         list
5473
5474         * docs/Changes-2.0.txt: Add note about
5475         gtk_container_get_toplevels()
5476
5477         * gtk/gtktextview.h: formatting
5478         
5479         * gtk/gtktextview.c: don't start descriptions with "Returns",
5480         confuses gtk-doc
5481
5482 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5483
5484         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5485         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5486
5487 2000-11-03  Havoc Pennington  <hp@redhat.com>
5488
5489         * gtk/gtktexttagtable.c: Docs
5490         (gtk_text_tag_table_size): return a signed int
5491
5492         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5493         (gtk_text_tag_event): make the event_object a GObject
5494
5495         * gtk/gtktextview.c: Write API docs for all functions.
5496
5497         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5498         for gtk_text_view_get_window_type() called on one of the private
5499         windows.
5500
5501         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5502         directly, call get_buffer() which demand-creates a default
5503         buffer. So gtk_text_view_new() can be used to create a view with a
5504         default buffer in it, if you just want an empty text box users can
5505         put data in. Useful for GUI builders also.
5506
5507 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5508
5509         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5510         the charset encodign portion MUST be in lowercase.
5511         * gtk/gtkrc.az: added file for Azeri language
5512
5513 2000-11-03  Havoc Pennington  <hp@redhat.com>
5514
5515         Get widgets working on the btree/buffer side. Display of them 
5516         still doesn't work.
5517         
5518         * gtk/gtktextview.c: start implementing child widget stuff
5519
5520         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5521
5522         * gtk/gtktextlayout.c: handle embedded widgets
5523
5524         * gtk/gtktextdisplay.c: handle embedded widgets
5525
5526         * gtk/gtktextchild.c: Implement all the child anchor goo
5527
5528         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5529         function
5530
5531         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5532         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5533         creating a child anchor or a pixbuf segment.
5534         (gtk_text_btree_create_child_anchor): new function
5535         (gtk_text_btree_unregister_child_anchor): new function
5536
5537         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5538         allocate_child signal on GtkTextLayout
5539
5540         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5541         values
5542         (gtk_text_iter_get_child_anchor): new function
5543
5544         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5545         default handler for the changed signal, which calls
5546         gtk_text_buffer_set_modified(), instead of just always emitting
5547         changed then calling set_modified() manually. I guess this is
5548         maybe more flexible. It seems logical.
5549
5550 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5551
5552         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5553         now.
5554
5555         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5556
5557 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5558
5559         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5560         been marked static.
5561
5562 2000-11-02  Havoc Pennington  <hp@redhat.com>
5563
5564         * gtk/testgtk.c (create_labels): had a test backward
5565
5566         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5567         fields, so the dest GC ends up with the correct clip origin, 
5568         etc. Fixes a bug where colored labels didn't redraw 
5569         properly.
5570
5571 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5572
5573         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5574         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5575         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5576         Add last argument to t_type_register_static call.
5577         
5578         * gdk/linux-fb/gdkdrawable-fb2.c:
5579         Add last argument to t_type_register_static call.
5580         export the get_image drawable virtual function.
5581
5582         * gdk/linux-fb/gdkimage-fb.c:
5583         Add last argument to t_type_register_static call.
5584         rename gtk_image_get to _gdk_fb_get_image and
5585         export it for use by gdkdrawable-fb2.
5586
5587         * gdk/linux-fb/gdkprivate-fb.h:
5588         export _gdk_fb_get_image.
5589
5590         * gdk/linux-fb/gdkselection-fb.c:
5591         Add new api call stubs.
5592
5593         * gtk/Makefile.am:
5594         Missing ( in linux-fb part.
5595
5596         * modules/linux-fb/Makefile.am:
5597         Must link with gdk_pixbuf or get unresolved symbol.
5598
5599 2000-11-01  Havoc Pennington  <hp@pobox.com>
5600
5601         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5602         GTK_TYPE_TEXT_ITER and BOXED marshallers
5603
5604         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5605
5606         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5607         
5608         * gtk/gtk-boxed.defs: add GtkTextIter
5609
5610         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5611         properly use OBJECT and BOXED
5612
5613 2000-11-01  Havoc Pennington  <hp@redhat.com>
5614
5615         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5616
5617         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5618         before returning it. 
5619         
5620 2000-11-01  Havoc Pennington  <hp@redhat.com>
5621
5622         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5623         Clip the rectangle to be rendered to the drawable, since
5624         get_from_drawable() requires a region within the drawable
5625
5626 2000-11-01  Havoc Pennington  <hp@redhat.com>
5627
5628         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5629         from coordinates.
5630
5631 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5632
5633         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5634         it isn't NULL.
5635
5636 2000-11-01  Havoc Pennington  <hp@pobox.com>
5637
5638         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5639         on a label
5640         (gtk_label_finalize): unref the attr list if any.
5641
5642         * gtk/testgtk.c (create_get_image): close test on second click
5643         (make_message_dialog): close dialog if it exists
5644
5645         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5646
5647         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5648         gdk-pixbuf
5649
5650         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5651         from Pango markup format
5652         (gtk_label_set_markup_with_accel): ditto but with accelerator
5653         parsing
5654
5655         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5656
5657         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5658         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5659         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5660         call gdk_window_get_origin().
5661
5662         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5663         implement GDK_PIXBUF_ALPHA_FULL
5664         
5665 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5666
5667         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5668         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5669         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5670         multiple handlers respectively, instead of only treating the
5671         first handler found (bug reported by owen).
5672
5673 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5674
5675         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5676
5677         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5678
5679         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5680         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5681         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5682
5683         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5684         widget.  Needs writing someday.
5685
5686         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5687         the docs.
5688
5689 2000-10-30  Havoc Pennington  <hp@redhat.com>
5690
5691         * gtk/gtktextview.h, gtk/gtktextview.c:
5692         Rename delete_at_cursor delete_from_cursor, and 
5693         move to move_cursor.
5694
5695 2000-10-30  Havoc Pennington  <hp@redhat.com>
5696
5697         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5698         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5699         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5700         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5701         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5702         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5703         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5704         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5705         gtktexttypes.h, gtktextview.c, gtktextview.h:
5706
5707         Massive reindentation and reformatting. Arg alignment and comments
5708         still need fixing in various places.
5709
5710 2000-10-30  Havoc Pennington  <hp@redhat.com>
5711
5712         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5713         to be named insert_at_cursor and delete_at_cursor so C++ can
5714         handle them.
5715
5716 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5717
5718         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5719         to get a double directory separator in case the home directory
5720         ends with one. This would cause trouble especially on Windows,
5721         where the path will be confused with the syntax for an an UNC
5722         (network share) path \\server\share\path.
5723         (gtk_rc_add_initial_default_files): Ditto.
5724
5725 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5726
5727         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5728
5729         * gtk/gtktextview.c: Use correct marshallers.
5730
5731 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5732
5733         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5734         use new iter stuff, and added all the appropriate signals et al.
5735
5736         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5737         code is internal to gtk only.
5738
5739 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5740
5741         * gtk/gtk.def
5742         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5743         glib-genmarshal etc.
5744
5745 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5746
5747         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5748         parallel builds.
5749
5750 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5751
5752         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5753
5754 2000-10-27  Robert Brady  <robert@suse.co.uk>
5755
5756         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5757         en_GB (British), ia (Interlingua).
5758
5759 2000-10-26  Havoc Pennington  <hp@redhat.com>
5760
5761         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5762
5763         Fixed output of:
5764         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5765         
5766         * gtk/gtktextsegment.c (char_segment_new): rename
5767         (_char_segment_new_from_two_strings): rename
5768         (_toggle_segment_new): rename
5769         
5770         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5771         (make_clipboard_widget): make it static
5772         (text_get_func): static
5773         (text_clear_func): static
5774
5775         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5776         static
5777         (hex_changed): make it static
5778         (hsv_changed): make it static
5779         (opacity_entry_changed): make it static
5780
5781         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5782         (toggle_segment_check_func): rename with _gtk
5783
5784         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5785         (_widget_segment_new): rename
5786         (_widget_segment_add): rename
5787         (_widget_segment_remove): rename
5788         (_widget_segment_ref): rename
5789         (_widget_segment_unref): rename
5790
5791         * gtk/gtktextmark.c (_mark_segment_new): Rename
5792         _gtk_mark_segment_new   
5793
5794 2000-10-26  Havoc Pennington  <hp@redhat.com>
5795
5796         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5797         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5798         types
5799
5800         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5801         marshaller types
5802
5803         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5804         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5805         license on these files.
5806
5807         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5808         work.
5809
5810         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5811         runtime random number different for each tree, instead of 
5812         a constant I made up.
5813
5814 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5815
5816         * gtk/Makefile.am: buncha cleanups, kludged build sources
5817         dependencies with a Makefile: oldest-source-stamp dependancy
5818         for the moment. automake is really fighting us here, with
5819         intentionally not allowing user-defined rules or dependancies
5820         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5821
5822         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5823         to public headers. tehy have a comment stating that they are
5824         "semi-public" aren't included by gtk.h and if enums popup there,
5825         they can be /*< skip >*/-ed.
5826
5827         * gtk/gtktextlayout.h: 
5828         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5829         added LGPL... <SIGH>
5830
5831 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5832
5833         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5834         GtkTreeIter.  Added iterators everywhere.
5835
5836         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5837
5838         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5839
5840         * gtk/gtktreestore.c: Changed to use the iterators.
5841
5842         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5843         iterators tomorrow.
5844
5845         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5846         iterators tomorrow.
5847
5848         * gtk/treestoretest.c: Changed to use iterators.
5849
5850         * demos/testgtk/main.c: Moved to use the new iterator system.
5851
5852 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5853
5854         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5855         localization misbehaviour.
5856
5857         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5858         a useless type without copy/free.
5859
5860         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5861         of GTK_TYPE_CTREE_NODE.
5862
5863 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5864
5865         * gtk/gtksignal.c:
5866         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5867         applicable.
5868
5869         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5870         gtk_selection_data_copy and gtk_selection_data_free
5871         do GtkSelectionData work as params in signals.
5872
5873 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5874
5875         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5876         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5877         couldn't they at least give it a non-standard name?
5878         
5879         * gtk/gtktextlayout.c: arg! yet another implementation of
5880         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5881
5882         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5883         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5884         home. now i know this _is_ a conspiracy.
5885
5886         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5887         ::state-changed.
5888
5889         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5890         (gtk_accel_group_create_add): marshaller signature fixups.
5891
5892         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5893         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5894
5895         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5896         anymore.
5897
5898 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5899
5900         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5901         due to the signal system changes, it wouldn't build currently. to
5902         be fixed soon.
5903
5904         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5905
5906         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5907         so it needs gtk_marshal_VOID__ENUM() instead of
5908         gtk_marshal_NONE__UINT().
5909
5910         * gdk/gdk*.c: adapted type registration functions.
5911
5912         * gtk/gtkbindings.c:
5913         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5914         gone.
5915
5916         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5917
5918         * gtk/gtkobject.c:
5919         (gtk_object_destroy):
5920         (gtk_object_shutdown): fixed recursion guards. basically we have to
5921         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5922         is called during ::destroy, and avoid recursion there.
5923
5924         * gtk/gtktypeutils.c:
5925         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5926         boxed_copy/boxed_free. this needs a more general solution based on a
5927         publically installed code-generator utility.
5928
5929         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5930         glib's gobject has support for that now.
5931         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5932
5933 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5934
5935         * gtk/gtksignal.[hc]:
5936         * gtk/gtkmarshal.[hc]:
5937         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5938         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5939         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5940         care of that.
5941
5942         * *.c: marshaller name fixups.
5943
5944         * gtk/gtkmarshal.list: added a comment briefing the format.
5945
5946 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5947
5948         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5949         compatibility macros here now. more specifically, most of
5950         the API is preserved (yes, _most_, nonwithstanding the
5951         following exceptions listed, the API is stil lHUGE ;)
5952         things that got removed completely:
5953         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5954         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5955         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5956         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5957         gtk_signal_remove_emission_hook().
5958         non-functional functions variants:
5959         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5960         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5961         not supported anymore.
5962         (gtk_signal_compat_matched): new internal function to aid
5963         implementation of the compatibility macros, it  provides
5964         functionality to block/unblock/disconnect handlers based
5965         on func/data.
5966
5967         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5968
5969         * *.c: adaptions to new type registration API signatures.
5970
5971 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5972
5973         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5974
5975 2000-10-25  Robert Brady  <robert@suse.co.uk>
5976
5977         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5978         gdk_property_delete): If window == NULL, assume the root window.
5979         (restoring the behaviour that was in 1.2).
5980         
5981         * gtk/testtext.c (save_buffer): Allow creation of new files when
5982         saving.
5983
5984         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5985         calls to read().
5986
5987 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5988
5989         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5990
5991         * gdk/win32/gdkdrawable-win32.c
5992         * gdk/win32/gdkimage-win32.c
5993         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5994         X11 backend.
5995
5996         * gdk/win32/gdkcc-win32.c
5997         * gdk/win32/gdkcolor-win32.c
5998         * gdk/win32/gdkfont-win32.c
5999         * gdk/win32/gdkinput-win32.c
6000         * gdk/win32/gdkmain-win32.c
6001         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6002
6003 2000-10-24  Havoc Pennington  <hp@redhat.com>
6004
6005         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6006         it a static function
6007
6008         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6009         redraw text when a tag is applied to it.
6010
6011         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6012         (gtk_text_tag_affects_nonsize_appearance): private functions to
6013         see if a tag requires various kinds of redraw/layout to be queued
6014         up.
6015
6016         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6017
6018         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6019         at the start of the buffer, so search works by default
6020
6021         * gtk/gtktextiter.c (lines_match): init match_start always
6022
6023         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6024         function, get iter at a line + a byte index
6025
6026         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6027         to set byte position within a line
6028         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6029
6030 2000-10-23  Havoc Pennington  <hp@redhat.com>
6031
6032         * gtk/testtext.c: Re-enable the "find" dialog
6033
6034         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6035         
6036         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6037         the arguments to gdk_draw_drawable were in the wrong order
6038         (gdk_window_paint_init_bg): This function was ignoring the
6039         init_region, instead of clipping to it, so the entire backing
6040         pixmap was cleared on every begin_paint()
6041         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6042         was in here again, the loop kept using the same GtkWindowPaint
6043         over and over.
6044         (gdk_window_begin_paint_region): Fix a bug where we had two
6045         x_offset instead of x_offset and y_offset
6046
6047         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6048         before we get the image.
6049         (gdk_draw_drawable): get the composite before we draw the drawable.
6050         (gdk_drawable_real_get_composite_drawable): default
6051         get_composite_drawable implementation that returns the drawable 
6052         itself
6053
6054         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6055         get_composite_drawable virtual function
6056
6057         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6058         list-walking bug
6059
6060         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6061         make this work if the source drawable is a GdkDrawableImplX11
6062         instead of a public drawable type. This is really broken; the
6063         problem is that GdkDrawable needs a virtual method get_xid(), but
6064         of course that doesn't work in practice. Enter RTTI.
6065
6066         Also, improve mismatched depth message.
6067
6068         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6069         GdkPixmap
6070
6071         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6072         install _gdk_x11_get_image as our implementation of get_image
6073         
6074         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6075         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6076
6077         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6078         gdk_drawable_get_image
6079
6080         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6081
6082         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6083         get_image
6084
6085         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6086         trailing semicolon after for loop
6087
6088 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6089
6090         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6091         where font_desc for widget's context lagged widget's font_desc by
6092         one step.
6093
6094 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6095
6096         * gdk/win32/gdkgc-win32.c
6097         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6098
6099         * gtk/makefile.mingw.in
6100         * gtk/gtk.def: Updates.
6101
6102         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6103         library.
6104
6105         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6106
6107         * gtk/makefile.msc: Remove
6108
6109         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6110
6111         * gtk/Makefile.am: Add it.
6112
6113         * configure.in: Generate it.
6114
6115         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6116         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6117         something even if not implemented, to satisfy picky MSVC.
6118
6119         Patches by Hans Breuer:
6120         
6121         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6122         SetBkMode() and SetTextAlign() before calling
6123         pango_win32_render().
6124
6125         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6126         Set hcliprgn to NULL after destroying it.
6127         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6128
6129         * gdk/win32/gdkgeometry-win32.c
6130         (_gdk_windowing_window_queue_antiexpose): More effective
6131         implementation.
6132
6133         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6134         depth as default, not the visual's.
6135
6136         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6137         against empty title.
6138
6139         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6140         IMAGE_PRIVATE_DATA.
6141
6142         * gdk/win32/gdkimage-win32.c: Use it.
6143
6144 2000-10-22  Robert Brady  <robert@suse.co.uk>
6145
6146         * configure.in: Check for bind_textdomain_codeset
6147
6148         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6149         present, make use of it.
6150
6151         Add a translatable string "default:LTR" which, if translated
6152         to "default:RTL", will cause the default direction to be
6153         Right-to-Left.
6154
6155         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6156         direction if marked as flippable.
6157
6158         * gtk/gtkhscale.c: Mark widget as flippable.
6159         
6160 2000-10-04  Havoc Pennington  <hp@redhat.com>
6161
6162         * gtk/testgtk.c (create_buttons): create some stock buttons
6163         with the default accel group
6164         (create_image): test some new GtkImage features
6165         (make_message_dialog): test GtkMessageDialog
6166         (create_modal_window): fix someone's bizzarro indentation
6167
6168         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6169         GTK_WIN_POS_CENTER_ON_PARENT. 
6170         Add "destroy with parent" setting, which means the window goes
6171         away with its transient parent.
6172         (gtk_window_get_default_accel_group): get the default accel group
6173         for the window.
6174         (gtk_window_set_destroy_with_parent): set/unset destroy with
6175         parent flag
6176         (gtk_window_read_rcfiles): invalidate icon set caches
6177         after reloading rcfiles 
6178
6179         * gtk/gtkenums.h (GtkWindowPosition): add
6180         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6181         on its parent window when the dialog is mapped for the first time.
6182
6183         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6184         a simple message dialog class
6185         
6186         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6187         handler to emit response signal, and maybe later it would
6188         honor a hide_on_delete flag - though that isn't there yet.
6189         Set border width on the vbox to 2, so we get some padding.      
6190         Use a button box for the action area.
6191         (gtk_dialog_key_press): synthesize a delete event if Esc
6192         is pressed and the GtkWidget key press handler didn't 
6193         handle the escape key.
6194         (gtk_dialog_new_with_buttons): new function creates a dialog
6195         with some default buttons in it.
6196         (gtk_dialog_add_action_widget): add an activatable widget
6197         as a button in the dialog - you can also add a non-activatable
6198         widget by accessing the action area directly.
6199         (gtk_dialog_add_button): add a simple button - stock ID or 
6200         label - to the action area
6201         (gtk_dialog_response): emit response signal
6202         (gtk_dialog_run): block waiting for the dialog, return 
6203         the response. Override normal delete_event behavior, so that 
6204         delete_event does nothing inside gtk_dialog_run().
6205
6206         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6207         emitted when an action widget is clicked or the dialog gets
6208         delete_event
6209
6210         * gtk/gtk.h: add gtkmessagedialog.h
6211
6212         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6213
6214 2000-10-18  Havoc Pennington  <hp@redhat.com>
6215
6216         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6217         where any number of empty lines would get skipped
6218
6219         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6220         edge.
6221
6222         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6223         warning about invalid iterators (explain more thoroughly)
6224         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6225
6226         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6227         big
6228
6229         * demos/*.c: Add error handling
6230
6231         * gtk/gtktextbuffer.c: don't modify const iterators
6232
6233         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6234
6235         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6236         on file load
6237
6238         * gtk/gtkiconfactory.c: Update to reflect addition of error
6239         handling to gdk-pixbuf loaders
6240
6241 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6242
6243         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6244         move to new modularized testgtk.
6245
6246 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6247
6248         * gtk/gtktreeview.c: Draw the arrows correctly.
6249
6250         * gtk/gtktreemodel.c: Added user docs.
6251
6252         * gtk/gtk.h: remove gtktreedatalist.h.
6253
6254         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6255         parent when generating my type.
6256
6257         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6258         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6259
6260 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6261
6262         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6263         GtkTreeModel from object to interface.
6264
6265 2000-10-16  Havoc Pennington  <hp@redhat.com>
6266
6267         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6268         compilation
6269
6270 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6271
6272         * gtk/gtktreeselection.c: Add API documentation to all public
6273         functions.
6274
6275         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6276         functions.
6277
6278 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6279
6280         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6281         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6282         docs to all public functions.
6283
6284         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6285         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6286         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6287         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6288         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6289         issue.
6290
6291 2000-10-14  Robert Brady  <robert@suse.co.uk>
6292
6293         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6294
6295 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6296
6297         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6298         values other then G_TYPE_STRING.
6299         * gtk/gtktreeselection.c: Minor commenting updates.
6300         * gtk/gtktreeview.c: Format updates.
6301
6302 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6303
6304         * README.win32: Update.
6305
6306         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6307         lines that had been deleted by mistake (?).
6308
6309         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6310         also the case fg==white and bg==black (but still not randomly
6311         coloured cursors). Thanks to Wolfgang Sourdeau.
6312
6313         * gdk/win32/*.c: Silence gcc -Wall.
6314
6315         * gtk/gtk.def: Add missing entry points.
6316
6317         Fixes by Hans Breuer:
6318
6319         * gdk/makefile.msc
6320         * gdk/win32/makefile.msc: Update.
6321
6322         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6323         some MSVC thing, presumably), cause breakpoint on failures. Add
6324         GDK_NOR case. Call g_log_set_always_fatal.
6325
6326         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6327         should be pased by reference.
6328         
6329         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6330         
6331         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6332
6333         * gdk/win32/gdkevents-win32.c
6334         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6335
6336         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6337         implementation object.
6338
6339         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6340         not just windows.
6341         
6342         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6343         Use the wrapper object.
6344         
6345 2000-10-06  Havoc Pennington  <hp@redhat.com>
6346
6347         * Makefile.am (SRC_SUBDIRS): contrib subdir
6348
6349         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6350         so it can be used in Xlib version
6351
6352         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6353         tree
6354
6355         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6356         change from 1.0 tree that returns first frame of animation
6357         if the loaded file is an animation.
6358
6359         * contrib: add new directory to hold stuff that comes with GTK+
6360         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6361         
6362         * configure.in: add contrib/*
6363
6364 2000-10-05  Havoc Pennington  <hp@redhat.com>
6365
6366         * demos/testpixbuf-save.c: add pixbuf save test
6367
6368         * demos/Makefile.am: add testpixbuf-save.c
6369
6370 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6371
6372         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6373         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6374         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6375         * gtk/gtktreeselection.[ch]: Replaced
6376         "node_selected"/"node_unselected" signal with "selection_changed"
6377         signal.
6378
6379 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6380
6381         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6382         tree widget.
6383
6384 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6385
6386         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6387         drawing.
6388
6389 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6390
6391         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6392         Move list pointer forwards before removing item from
6393         list. (Crash reported by Salmaso Raffaele)
6394
6395         * gdk/gdkwindow.h: Remove spurious trailing ,
6396
6397         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6398         dependencies on uninstalled libraries, sorry folks.
6399
6400 2000-10-04  Havoc Pennington  <hp@redhat.com>
6401
6402         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6403         gtk/gtkiconfactory.c: Fix copyrights    
6404
6405         * demos/testpixbuf.c: add inline pixbuf test
6406         
6407 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6408
6409         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6410         Add gdk_window_iconify.
6411
6412         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6413         (gdk_window_set_geometry_hints): Add win_gravity
6414         to geometry structure.
6415
6416         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6417         Implement _NET_WM_PING.
6418
6419         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6420         Set _NET_WM_PID on the client leader.
6421
6422         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6423         Handle UTF-8 better.
6424
6425         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6426         UTF-8 better, set _NET_WM_NAME as well. Only set
6427         icon name if it hasn't previously been explicitely 
6428         set.
6429
6430 2000-10-03  Havoc Pennington  <hp@redhat.com>
6431
6432         * gtk/testtextbuffer.c: clean up trailing whitespace,
6433         add extensive tests for tag toggle iteration.
6434         
6435         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6436         distance
6437
6438         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6439         optimize case where the tag root is on level 1
6440         (gtk_text_line_previous_could_contain_tag): attempt to implement
6441         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6442         functionality
6443
6444         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6445         Implement this, though not very efficiently.
6446
6447         * gtk/gtktextiterprivate.h: reformat
6448
6449         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6450         iterator
6451
6452         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6453         this to properly revalidate the iterators.
6454
6455         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6456         properly at the end of the line (and therefore on empty lines)
6457
6458         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6459         maybe we should return a value...
6460
6461 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6462
6463         * config.h.win32: Guard definition of alloca(). glib.h now handles
6464         that.
6465
6466         * gdk/gdk.def
6467         * gtk/gtk.def: Add new entry points.
6468
6469         Changes just to make GTK+ build without errors on Win32. No hope
6470         of it working in its current state, though...:
6471         
6472         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6473         some functions from the X11 backend, just to make GTK+ build.
6474
6475         * gdk/makefile.mingw.in
6476         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6477         number. Add new object files.
6478
6479         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6480         GetMessageTime to get timestamp (where on X11 uses
6481         gdk_x11_get_server_time()).
6482
6483 2000-10-02  Havoc Pennington  <hp@pobox.com>
6484
6485         * gtk/gtktextview.c: text_window_* weren't static and should have
6486         been.
6487         Start work on child widgets; not yet complete, syncing to 
6488         office computer.
6489
6490         * gtk/gtktextchild.h: change this to contain a public interface,
6491         starting work on child interfaces.
6492         * gtk/gtktextchildprivate.h: move private interfaces here
6493
6494         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6495
6496         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6497         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6498         gtk/gtktextmark.c: copyright notices
6499
6500         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6501         internal functions      
6502
6503         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6504         internal function
6505
6506         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6507         Reformatting    
6508
6509 2000-09-30  Havoc Pennington  <hp@pobox.com>
6510
6511         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6512         NULL start/end pointers
6513
6514         * gtk/gtktextbuffer.c: Write some docs
6515         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6516         NULL, so you can just check whether there's a selection.        
6517
6518         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6519         cleanup_line or segments_changed ourselves, it gets done 
6520         in unlink_segment
6521
6522         * gtk/gtktextmark.h:
6523         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6524         
6525         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6526
6527         * gtk/gtktextmark.c: delete some more old Tk cruft
6528
6529         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6530         mark before removing it, so we can emit MARK_DELETED with a valid
6531         pointer.
6532         (gtk_text_buffer_mark_set): hold ref across signal emission
6533
6534         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6535         whining about attempts to delete special marks
6536
6537         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6538         underscore, since it's internal.
6539
6540         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6541         now implemented in terms of iterators in gtktextiter.h
6542
6543         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6544         New function, destructively sets contents of buffer. Also 
6545         a convenient way to clear the buffer by setting text to ""
6546
6547         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6548         multiline string literal
6549
6550         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6551         text changes.
6552
6553         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6554         is not dereferenceable
6555         (gtk_text_iter_forward_lines): fix return value
6556
6557 2000-09-29  Havoc Pennington  <hp@redhat.com>
6558
6559         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6560
6561         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6562         that set border window size to have nicer name
6563         (gtk_text_view_mark_set_handler):  Fix this to have the 
6564         right signature.
6565
6566         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6567
6568         * gtk/testtext.c: Update with API changes, put line numbers on 
6569         both sides.
6570         
6571         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6572         with this
6573
6574         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6575         pixbuf; delete a big block of #if 0 Tk code
6576
6577         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6578         insert_pixmap with insert_pixbuf
6579
6580 2000-09-29  Martin Baulig  <baulig@suse.de>
6581
6582         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6583         confusion with the GdkPixbuf of the GNOME 1.x platform.
6584
6585 2000-09-29  Havoc Pennington  <hp@pobox.com>
6586
6587         * gtk/gtktextview.c: Implement the side windows.
6588
6589         * gtk/testtext.c: Implement simple line numbering in the 
6590         left side window; seems to make scrolling sloooow. Oops.
6591         Also, cursor blink is for some reason causing redraws
6592         of the line numbers. Should investigate...
6593
6594 2000-09-28  Havoc Pennington  <hp@redhat.com>
6595
6596         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6597         scrolling child windows, and draw focus rectangle properly.
6598         
6599         (gtk_text_view_buffer_to_window_coords):
6600         Coordinate transformation to deal with all these freaking windows
6601         and offsets
6602         (gtk_text_view_window_to_buffer_coords): transform the other way
6603
6604         * gtk/testtext.c (create_buffer): Update to match Pango API change
6605
6606         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6607         anonymous tags
6608         (foreach_unref): don't emit remove signal from finalize, just
6609         set tag's parent to NULL
6610
6611 2000-09-26  Havoc Pennington  <hp@redhat.com>
6612
6613         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6614         Fix some warnings       
6615
6616 2000-09-26  Havoc Pennington  <hp@redhat.com>
6617
6618         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6619         headers into the private header list
6620
6621         * Makefile.am (pkgconfig_DATA): install pkg-config files
6622
6623         * configure.in: add pkg-config files
6624
6625         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6626
6627         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6628         outstanding icon caches on theme change.
6629
6630         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6631         important types:
6632
6633         (GtkIconSource): Specification for creating a pixbuf 
6634         appropriate for a direction/state/size triplet from 
6635         a source pixbuf or filename
6636
6637         (GtkIconSet): List of GtkIconSource objects that are used to
6638         create the "same" icon (e.g. an OK button icon), and cache for
6639         rendered icons
6640
6641         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6642         up the icon set for a given stock ID.  GTK maintains a stack of
6643         GtkIconFactory to search, and applications or libraries can add
6644         additional icon factories on top of the stack
6645         
6646         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6647         the set of GtkIconSource specified for a given stock ID into 
6648         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6649         RcStyle, under the specified stock ID.
6650
6651         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6652         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6653         This allows people to theme how prelight, insensitive, etc. are
6654         done.
6655
6656         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6657         icon factories for a style, and return the resulting 
6658         icon set if any.
6659
6660         (gtk_style_render_icon): Render an icon using the render_icon 
6661         method in the GtkStyleClass.
6662
6663         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6664         Use the style for a given widget to look up a stock ID, get the
6665         icon set, and render an icon using the render_icon method 
6666         of the style
6667
6668         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6669         (contains information about a stock item), the built-in stock item
6670         IDs, and functions to add/lookup stock items.
6671
6672         * gtk/stock-icons/*: Stock icons that come with GTK
6673
6674         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6675         a button based on a GtkStockItem
6676         (gtk_button_new_accel): Takes a uline string and accel group, and
6677         installs the accelerator.
6678
6679         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6680         image-display widget.
6681
6682 2000-09-25  Havoc Pennington  <hp@redhat.com>
6683
6684         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6685
6686         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6687         Fix a bug when removing node data, we didn't properly 
6688         re-splice the linked list after removing the data.
6689
6690         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6691         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6692
6693         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6694
6695         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6696         for the layout from the GtkTextTag.
6697
6698         * gtk/gtktexttypes.h: delete tab and search cruft, 
6699         remove g_convert() in favor of GLib version
6700
6701         * gtk/gtktexttypes.c: remove tab implementation from here,
6702         move to Pango
6703
6704         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6705         tab stuff using new PangoTabArray from Pango
6706
6707         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6708         unused border_width stuff
6709
6710 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6711
6712         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6713         glib) and now useless utf_to_latin1() latin1_to_utf()
6714
6715         * gtk/gtktextview.[ch]: Change ::move_insert and
6716         ::delete_text action signals to ::move and ::delete;
6717         create the signals with the right enumeration type,
6718         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6719         C-v bindings, change Home, End to move to beginning/end
6720         of line, Add C-Home C-End to move to beginning/end
6721         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6722         combine ::scroll_text into ::move; use new GtkSelectionData
6723         functions to simplify DND text handling.
6724         
6725         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6726         deletion enumerations here, rename enumeration values to 
6727         be consistently plural.
6728
6729         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6730         for cut/copy/paste and primary selection.
6731
6732         * gtk/gtktextbuffer.[ch]: Remove excess time and
6733         'interactive' arguments from cut/copy/paste;
6734         rename cut to cut_clipboard, etc; remove
6735         gtk_text_buffer_get_clipboard_contents().
6736
6737         * gtk/gtktextlayout.[ch]: Add 
6738         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6739         line ends.
6740
6741         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6742         Functions to set or get a UTF-8 string on the selection
6743         data.
6744
6745         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6746         interfaces.
6747
6748         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6749         created widgets - one of these is useless if we don't.
6750
6751         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6752         a public function clear all targets registered for the
6753         widget.
6754
6755         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6756         Never call gtk_widget_realize() - that was just asking
6757         for bizarre side-effects.
6758
6759         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6760         gdk_selection_owner_set even if the widget is the
6761         same so that we reliably update the timestamp on
6762         the server.
6763
6764         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6765         gdk_x11_get_server_time() function.
6766         
6767         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6768         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6769         Add some tricky filtering on serial numbers for
6770         selection clear events to fix up long-standard
6771         race condition FIXME's in gtkselection.c.
6772
6773         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6774         routines to convert from utf8 to compound text or
6775         STRING and from a text property to UTF-8.
6776
6777         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6778         a convenience function gdk_get_current_event_time().
6779
6780         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6781         and free selection_data->data properly
6782
6783 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6784
6785         * gtk/gtkthemes.c: Remove some unecessary includes.
6786
6787 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6788
6789         * gtk/gtktextdisplay.c
6790         * gtk/gtktextlayout.c
6791         * gtk/gtktexttag.c
6792         * gtk/gtktexttag.h
6793         * gtk/testtext.c: Change the overstrike property to strikethrough,
6794         to closer match pango.
6795
6796 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6797
6798         * gtk/gtktextview.c: Fix up visibility so that focus,
6799         cursor_visible and blink interact properly.  Reenable cursor blink
6800         which had been roughly disabled. Make blink and focus
6801         properly per-view.
6802
6803         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6804         Add a flag for whether to display insertion cursor and
6805         a function to set the flag.
6806
6807         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6808         get_line_y() to get_line_yrange(), to be a bit more generally
6809         useful.
6810
6811 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6812
6813         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6814           do stop_navigating_submenu, to clear last timeout properly.
6815           Also in gtk_menu_motion_notify move ignore_enter above
6816           the conditional to make it always happen as suggested by Owen
6817
6818 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6819
6820         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6821
6822         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6823         w32api headers.
6824
6825         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6826         declarations.
6827
6828         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6829         (gdk_win32_get_colormap): A line had been deleted by mistake.
6830
6831         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6832         (gdk_event_translate): Handle more virtual keycodes to be able to
6833         generate GDK events for Control-comma, Control-period, etc.
6834
6835         * gtk/gtk.def: Add some missing entry points.
6836
6837 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6838
6839         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6840         Doc comment fixing. (Mostly non-matching parameter names.)
6841
6842         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6843         comments a little to avoid looking like a doc comment.
6844
6845         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6846         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6847         conversions be changed to GError?)
6848
6849         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6850         Move private #defines into .c file.
6851
6852         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6853         order of argument addition, remove duplicates.
6854
6855         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6856         parent class is FrameClass, not BinClass.
6857
6858         * gtk/gtk.h: Add gtkinvisible, which was missing.
6859         (It's occasionalyl useful for client apps, if seldom.)
6860
6861         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6862         #define.
6863
6864 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6865
6866         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6867         coordinates when creating window, instead of GDK-space
6868         coordinates. (Avoid BadValue on too large windows.)
6869
6870 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6871
6872         * configure.in (use_mmx_asm): Remove conftest* after use along the
6873         lines of AC_TRY_COMPILE.        
6874         
6875         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6876         of g_dirname, which is deprecated.
6877         (gtk_rc_parse_any): Removed calls to
6878         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6879
6880         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6881         Removed calls to g_hash_table_{freeze,thaw}, as they are
6882         deprecated now.
6883
6884         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6885         instead of g_basename.
6886         
6887 2000-09-04 Elliot Lee <sopwith@redhat.com>
6888         
6889         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6890         ANSI warning.
6891
6892 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6893
6894         * gtk/gtkwidget.h:  Add some documenting comments about 
6895           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6896           just as owen said on irc.
6897
6898         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6899           set HAS_DEFAULT.  Only set it if there isn't another window
6900           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6901           it if the widget is not the focused window with RECEIVES_DEFAULT.
6902           This fixes weird double default bugs in dialogs which has things
6903           call gtk_window_set_default at times.
6904
6905 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6906
6907         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6908         Nils Barth and David Santiago to improve submenu
6909         navigation. The patch does this by creating a triangular
6910         region from the point where the pointer leaves the
6911         menu to the submenu.  While the pointer is in
6912         that region and a timeout has not expired, events 
6913         that would cause the active submenu to change are
6914         ignored.
6915
6916 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6917
6918         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6919         moving a toplevel window immediately after sizing it would
6920         result in it being sized back to the old size since 
6921         impl->width, impl->height aren't updated until we hear
6922         back from the server. There is still a (longstanding) bug
6923         here that gdk_window_get_size() will give the wrong size
6924         until we do hear back.
6925
6926 2000-08-31  Havoc Pennington  <hp@redhat.com>
6927
6928         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6929         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6930         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6931         Rename GtkTextStyleValues to GtkTextAttributes
6932
6933 2000-08-31  Havoc Pennington  <hp@pobox.com>
6934
6935         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6936         for rapid testing whether an iterator is the end iterator
6937         (gtk_text_btree_new): init end line cache
6938         (gtk_text_line_is_last): use fast cached line to 
6939         see if we're the last line.
6940         (get_last_line): use cached line here too, should 
6941         speed up some random unrelated code.
6942         
6943 2000-08-30  Havoc Pennington  <hp@pobox.com>
6944
6945         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6946         signals.
6947
6948         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6949         delete_text signals. This allows the signals to be used for
6950         implementing undo.
6951
6952         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6953         provide "interactive" argument when emitting insert_text or
6954         delete_text signal.
6955         
6956 2000-08-30  Havoc Pennington  <hp@pobox.com>
6957
6958         * gtk/gtktextbuffer.c: Docs
6959
6960 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6961
6962         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6963         from switch statements, since Tor removed the enumeration
6964         value.
6965         
6966         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6967         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6968
6969 2000-08-29 Elliot Lee <sopwith@redhat.com>
6970         * */*.h: Use G_GNUC_CONST.
6971
6972 2000-08-27  Havoc Pennington  <hp@pobox.com>
6973
6974         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6975         minor indentation fixes, inserted some FIXME about stuff I
6976         realized was broken while documenting it.
6977         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6978         GTK convention  
6979
6980 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6981
6982         * gtk/testgtk.c (create_styles): Fix double free of
6983         font desc.
6984
6985 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6986
6987         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6988         
6989         * gtk/testgtk.c (create_styles): Add a test for modifying
6990         the style through gtk_widget_modify_*.
6991
6992         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6993         a function to get the current modifier style.
6994
6995         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6996         of the passed in GtkRcStyle instead of ref'ing it.
6997
6998         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6999
7000 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7001
7002         * gdk/gdkimage.h
7003         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7004         shared memory image+pixmap GdkImage type, or
7005         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7006         I am dropping that.
7007
7008         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7009         actually call gtk_init_abi_check(), passing also
7010         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7011
7012         * gtk/gtk.def
7013         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7014         New functions, used to check that the GTK+-using code has been
7015         compiled using the correct compiler and switches. In particular,
7016         with gcc one has to use the -fnative-struct switch as GTK+ is
7017         compiled with that.
7018
7019 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7020
7021         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7022         ->prev fields when merging lists. (Found simultaneously
7023         by Pawel Salek and Jakub Jelinek)
7024
7025 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7026
7027         * gdk/gdk.def
7028         * gtk/gtk.def: Add missing entries.
7029
7030         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7031         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7032
7033         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7034         function. Dummy implementation at this point.
7035
7036         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7037         rules. Undefine GTK_COMPILATION when compiling the test programs.
7038         
7039         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7040
7041 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7042
7043         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7044         to convert back and forth from UTF-8 and the "system" (or "current
7045         locale") charset when necessary. Indentation/spacing cleanup.
7046
7047 2000-08-10  Havoc Pennington  <hp@redhat.com>
7048
7049         * Makefile.am (snapshot): Change the format of the snapshot
7050         version to match glib
7051
7052         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7053         from EXTRA_DIST since it doesn't seem to exist
7054
7055 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7056
7057         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7058         version of the directory name (not the UTF-8 one) when building
7059         the path name to stat().
7060
7061 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7062
7063         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7064         PANGO_ATTR_SHAPE set.
7065
7066 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7067
7068         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7069         Peter Osterlund to simplify the code while keeping the
7070         functionality the same.
7071
7072 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7073
7074         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7075         is_viewable() test further inside the function, since removing the 
7076         window from the redraw list without clearing ->update_area
7077         was also very broken.
7078
7079 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7080
7081         * configure.in: Check for <unistd.h>.
7082
7083 2000-08-01  Martin Baulig  <baulig@suse.de>
7084
7085         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7086         to display the message that this is a development version of GTK+.
7087
7088 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7089
7090         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7091         was depending on widget->allocation instead of the width of text_area,
7092         which was incorrect for subclasses like GtkSpinButton.
7093
7094         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7095         with width == 1 tests that should be width == -1.
7096
7097 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7098
7099         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7100         (broken, Elliot, every single window blank on X) custom code with call
7101         to gdk_window_is_viewable() which a) prevents code duplicate and
7102         b) works. 
7103
7104 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7105
7106         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7107         to get the GDK_PARENT_ROOT() macro to work.
7108         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7109         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7110         of, windows that aren't shown.
7111         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7112         pointer grab stuff.
7113
7114 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7115
7116         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7117           s/gtk_main_iteration/g_main_iteration/
7118
7119           Did this already in change:
7120                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7121           don't know how it got reverted.
7122
7123 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7124
7125         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7126         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7127
7128         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7129         not gdk_pixbuf.
7130
7131 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7132
7133         * configure.in,po/{sp,sr}.po: Added Serbian files
7134
7135 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7136
7137         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7138
7139         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7140         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7141         GIOChannel implementation.
7142
7143         * gdk/win32/gdkinput.c
7144         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7145
7146         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7147         definition to match prototype.
7148
7149         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7150
7151 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7152
7153         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7154         function, to allow handling image formats that cannot be detected
7155         by looking at content alone.
7156
7157 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7158
7159         * docs/tutorial/*.gif *.jpg *.eps
7160           Update these to the same look-n-feel.
7161           Why does including images in DocBook suck so badly?
7162
7163 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7164
7165         * gtk/gtktable.c: applied patch from Phil Thompson
7166         <phil@river-bank.demon.co.uk> that enables space settings for
7167         the last row/columns as well.
7168
7169 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7170
7171         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7172         updates the license headers to the GNU Lesser General Public License,
7173         as well as updating the copyright year to 2000.
7174
7175 2000-07-26  Robert Brady  <rwb197@zepler.org>
7176
7177         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7178           and po/Makefile, was installing and looking for them under gtk20
7179           and gtk2 respectively.
7180
7181 2000-07-25  Havoc Pennington  <hp@redhat.com>
7182
7183         * gtk/testtext.c: Comment out some stuff that depends on the rest
7184         of my patches.
7185
7186 2000-07-25  Havoc Pennington  <hp@redhat.com>
7187
7188         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7189         buffer
7190
7191 2000-07-25  Havoc Pennington  <hp@redhat.com>
7192
7193         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7194         widget changes.
7195
7196         * gtk/gtktextview.h: To be consistent with usage of "line"
7197         throughout the API to mean "newline-terminated thingy", change
7198         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7199         to MOVEMENT_LINE.
7200
7201         (GtkTextView): Add flags for default editability, and whether to
7202         show the cursor. Add functions to get/set that. Add 
7203
7204         (gtk_text_view_get_iter_location): new function
7205
7206         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7207         gtktextlayout.h
7208         (g_convert): Add g_convert temporarily, will go in glib in a bit
7209         
7210         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7211         GtkTextTagTableForeach instead of brokenly using GHFunc.
7212         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7213
7214         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7215         moved to public header.
7216
7217         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7218         "invisible", since "elide" was a bad name.
7219         (gtk_text_tag_get_priority): Added
7220
7221         (GtkTextStyleValues): put this in public header, along with
7222         functions to use it.
7223
7224         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7225         longer include gtktextbtree.h.
7226
7227         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7228         gtk_text_mark_deleted
7229
7230         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7231         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7232         to make this possible. Now we only need to install
7233         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7234         (However the Makefile.am isn't changed yet because of the
7235         logistics of merging gtk-hp-patches piecemeal)
7236
7237         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7238         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7239         gtk_text_iter_get_line is now used in the public API for a
7240         different purpose.
7241
7242         * gtk/gtktextiter.h: Clean up function names to be more
7243         consistent. Always call char offset "offset" and byte index
7244         "index". A "line" is always a line number. 
7245
7246         (gtk_text_iter_is_last): new function, more efficient than 
7247         the existing way to check
7248         (gtk_text_iter_is_first): new function, also more efficient
7249
7250         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7251
7252         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7253         gtk_text_iter_forward_char, etc.
7254
7255         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7256         forward_find_tag_toggle, since this isn't a linear search
7257
7258         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7259
7260         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7261         New functions, search for a buffer substring.
7262
7263         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7264         interactive and default editable (since we need to store that info
7265         until we receive the selection data).
7266
7267         Remove all the _at_char and at_line etc. versions of functions;
7268         only have iterator versions.
7269
7270         Add _interactive() versions of functions, that consider the
7271         editability of text. (FIXME add interactive flag to the 
7272         insert/delete signals per Darin's suggestion)
7273
7274         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7275         tag table if necessary
7276
7277         Remove declaration of gtk_text_buffer_get_iter_from_string
7278
7279         (_gtk_text_buffer_get_btree): private/internal function, added.
7280         
7281
7282         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7283         (gtk_text_line_is_last): new function
7284
7285 2000-07-25  Havoc Pennington  <hp@redhat.com>
7286
7287         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7288         using GtkProgressBar. See Changes-2.0.txt for details.
7289
7290         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7291         "pulse_step" which are the equivalent of
7292         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7293         Implement new API.
7294         
7295         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7296         (use_text_format) to mark whether text set on the progress bar is
7297         a format string. Deprecate entire GtkProgress interface.
7298
7299         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7300         (gtk_progress_build_string): make this a no-op if use_text_format
7301         is FALSE
7302
7303         * docs/Changes-2.0.txt: Describe progress bar changes.
7304
7305 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7306
7307         * Makefile.am: Include the build directory.
7308
7309         * configure.in: Generate build/Makefile, build/win32/Makefile,
7310         gdk/, gdk/win32/, and gtk/makefile.mingw.
7311
7312         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7313         Add GETTEXT_PACKAGE.
7314         
7315         * gdk/gdk.def
7316         * gtk/gtk.def: Updates.
7317
7318         * gdk/gdkfont.h
7319         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7320         need them any longer.
7321
7322         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7323
7324         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7325         PANGOWIN32_LIBS and gdk_pixbuf.
7326
7327         * gdk/win32: Compiles, but no doubt doesn't work at all.
7328
7329         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7330
7331         * gdk/win32/gdkinput.c: New file, temporarily.
7332         
7333         * gdk/win32/gdkinput-win32.h: New file
7334
7335         * gdk/win32/gdkinputprivate.h: Remove.
7336
7337         * gdk/win32/gdkpango-win32.c: New file.
7338
7339         * gtk/makefile.mingw.in: New file
7340
7341         * gtk/makefile.cygwin: Removed
7342         
7343         * gtk/Makefile.am: Update accordingly.
7344
7345         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7346         made externally visible.
7347
7348         * gtk/gtkmain.c: Use it.
7349         
7350         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7351         is enough.
7352
7353         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7354
7355 2000-07-24 Elliot Lee <sopwith@redhat.com>
7356         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7357         individual backends already.
7358         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7359         again. Yes, there really is a good reason for this, if you are using the gdkregion
7360         internals, and if you're not, why do you care?
7361         * gdk/gdkwindow.c: Fix inverted condition
7362         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7363         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7364         * gtk/gtkrange.c: Redraw trough when moving.
7365         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7366         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7367
7368 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7369
7370         * configure.in: Check for mkstemp and sigsetjmp. Output
7371         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7372
7373         More work on GDK for Win32. Still in an intermediate state.
7374
7375         * gdk/makefile.cygwin
7376         * gdk/win32/makefile.cygwin: Removed.
7377         
7378         * gdk/makefile.mingw.in
7379         * gdk/win32/makefile.mingw.in: New files.
7380
7381         * gdk/Makefile.am
7382         * gdk/win32/Makefile.am: Generate and distribute them.
7383
7384         * gdk/win32/gdkwindow-win32.h
7385         * gdk/win32/gdkdrawable-win32.h
7386         * gdk/win32/gdkpixmap-win32.h: New files.
7387
7388         * gdk/win32/gdkcolor-win32.c
7389         * gdk/win32/gdkcursor-win32.c
7390         * gdk/win32/gdkdrawable-win32.c
7391         * gdk/win32/gdkgc-win32.c
7392         * gdk/win32/gdkimage-win32.c
7393         * gdk/win32/gdkprivate-win32.h
7394         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7395         Rename fields and variables called xcursor, xid, etc (these names
7396         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7397
7398 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7399
7400         * gtk/gtkentry.[ch]: Fix some problems with vertical
7401         alignment.
7402
7403         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7404         char/byte confusion.
7405
7406 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7407
7408         * gtk/gtktextview.c (changed_handler): Fix bug where
7409         redraw wasn't being done properly when height of
7410         dirty region changed.
7411
7412         * demos/Makefile.am: Remove various references to
7413         -lgmodule
7414
7415 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7416
7417         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7418         PangoAttrShape to reserve space for pixmaps, add 
7419         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7420         in the display functions.
7421         
7422         * gtk/testgtk.c (create_layout): Set some more exotic
7423         scrolled window options
7424
7425         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7426         Add function to set the shadow type of a window, to allow
7427         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7428         which don't draw their own frame.
7429
7430 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7431
7432         * docs/tutorial/package-db-tutorial.sh: New file for
7433           packaging DocBook format tutorial
7434
7435 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7436
7437         * docs/tutorial/gtk-tut.sgml: Minor updates
7438
7439         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7440
7441 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7442
7443         * gtk/gtksignal.c: Fix C++ comment.
7444
7445         * gtk/gtkimmulticontext.c
7446         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7447         don't return value from void functions.
7448
7449         * gtk/gtk.def: Add gtk_rc_style_unref.
7450
7451 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7452
7453         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7454         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7455         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7456         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7457         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7458         gtk/gtktypeutils.h: Include files outside of the extern "C"
7459         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7460         <vakatov@peony.nlm.nih.gov>.
7461
7462 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7463
7464         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7465           Completes first pass. Hurrah!
7466
7467 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7468
7469         * docs/tutorial/gtk-tut.sgml: More clean ups.
7470
7471 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7472
7473         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7474         paint the background of the text area which was accidentally
7475         removed at some point.
7476
7477         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7478           
7479          - Move most of the functionality from the theme vtable
7480            into GtkRcStyleClass and GtkStyleClass. The moved
7481            vtable functions were changed a bit in the move to
7482            work better in their new home.
7483
7484          - Get rid of the engine and engine_data fields from
7485            GtkRcStyle and GtkStyle; instead the theme
7486            engine derives theme-specific subclasses of GtkRcStyle
7487            and GtkStyle
7488
7489          - Add extra dlsym() found entry point to themes,
7490            theme_create_rc_style().
7491
7492         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7493         in gtk_style_real_copy.
7494
7495         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7496         to register a type associated with an engine. (The engine
7497         won't be unloaded as there is an instance of the type.)
7498
7499
7500 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7501
7502         * docs/tutorial/gtk-tut.sgml: Clean ups.
7503
7504 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7505
7506         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7507           of cleaning up to do.
7508
7509 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7510
7511         * gdk/testgdk.c: New file, quick hack to test backends for
7512         pixel-by-pixel correctness of the most simple graphic operations.
7513
7514 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7515
7516         * Really release 1.3.1
7517         
7518         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7519         include structure.
7520
7521 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7522
7523         * Released 1.3.1
7524
7525 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7526
7527         * gtk/gtktextlayout.c: use FALSE for size_only most
7528         of the time when calling gtk_text_layout_get_line_display()
7529         to avoid causing double reshapes when a redraw follows
7530         immediately after.
7531
7532 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7533
7534         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7535         appropriate region and gdk_window_process_updates() so trough
7536         updating doesn't lag behind the window being scrolled.
7537
7538         * gdk/gdkgc.c: Make parent_class pointer static.
7539          
7540 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7541
7542         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7543         include <string.h>.
7544          
7545         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7546         cut-and-paste error in computing memory offset for 4 channels.
7547
7548 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7549
7550         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7551         gtk_rc_append_default_pixmap_path(), since it wasn't
7552         adding an interesting path and we don't have a meaningful
7553         default for this value.
7554
7555 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7556
7557         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7558         gtk-config to gtk-config-2.0 move gtk_.m4 to
7559         gtk-2.0.m4
7560
7561         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7562         gdk/Makefile.am demos/Makefile.am: Change 
7563         library names to libgtk-1.3.la, etc, so that we
7564         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7565
7566         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7567         gdk/Makefile.am gdk/x11/Makfile.am
7568         Move include files into /usr/include/gtk-2.0, 
7569         /usr/lib/gtk-2.0/include/
7570          
7571         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7572         gtk/gtkintl.h: Change package for gettext from 
7573         gtk+ to gtk20. Put hack in autogen.sh to modify
7574         po/Makefile.in.in after gettextize to make this
7575         possible.
7576
7577         * gtk+.spec: Some updates, not tested.
7578
7579         * gdk-pixbuf/Makefile.am: Move loaders into
7580         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7581
7582         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7583         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7584         to THEMENAME/gtk-2.0/. Move engine directory  to
7585         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7586         
7587 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7588
7589         Win32 changes, still doesn't build though.
7590
7591         * gdk/makefile.cygwin
7592         * gdk/win32/makefile.cygwin
7593         * gtk/makefile.cygwin: Updates.
7594
7595         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7596         default values for fg and bg pixel as X11 does (0 and 1), not
7597         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7598         Use 0 for pen width by default (treated as 1 anyway later, but for
7599         apps that might check the value in the GdkGC).
7600         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7601         interface to gdk_gc_predraw and _postdraw.
7602
7603         * gdk/win32/gdkwin32.h
7604         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7605
7606         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7607         extraneous semicolon.
7608
7609         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7610
7611         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7612         not the Win32 bitspixel value.
7613
7614         * gdk/win32/gdkcc-win32.c:
7615         * gdk/win32/gdkcolor-win32.c 
7616         * gdk/win32/gdkprivate-win32.h
7617         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7618         GDK object structure.
7619
7620 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7621
7622         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7623         * docs/tutorial/gtk_tut_it.sgml (name): 
7624         * docs/tutorial/gtk_tut_fr.sgml (name): 
7625         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7626         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7627
7628 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7629
7630         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7631           small changes.
7632
7633 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7634
7635         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7636         a bug here, never been here and never fixed anything ;(
7637         (don't segfault if tree->root_tree is NULL, which happens prior
7638         to widget realization, but puke instead).
7639
7640 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7641
7642         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7643         add the necessary tokens.
7644
7645         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7646         (gtk_rc_style_to_style): copy thicknesses.
7647         (gtk_rc_init_style): apply thicknesses.
7648         (gtk_rc_parse_style): parse xthickness and ythickness.
7649
7650         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7651
7652         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7653         (gdk_window_new): 
7654         (_gdk_windowing_window_init): 
7655         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7656         (gdk_pixmap_create_from_data): 
7657         (gdk_bitmap_create_from_data): 
7658         (gdk_pixmap_new): 
7659         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7660         (gdk_image_new): 
7661         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7662         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7663         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7664         (gdk_colormap_get_system): 
7665         (gdk_colormap_new): 
7666         * gdk/gdkwindow.c (gdk_window_init): 
7667         * gtk/gtkstyle.c (gtk_style_new):
7668         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7669         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7670         * gtk/gtkrc.c (gtk_rc_style_new):
7671         use g_object_new() instead of g_type_create_instance() which
7672         is a private function for fundamental type implementations.
7673
7674 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7675
7676         * configure.in: Add check for db2html
7677
7678 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7679
7680         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7681         hack to set glib_debug_objects based on gtk_debug_flags.
7682
7683 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7684
7685         * INSTALL.in: Update the Prerequisites section.
7686
7687         * Makefile.am demos/Makefile.am docs/Makefile.am
7688         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7689         gdk/linux-fb/Makefile.am: Dist fixes
7690
7691 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7692
7693         * NEWS: 10,000 foot view of 1.3.1 changes.
7694
7695 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7696
7697         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7698         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7699         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7700         gdk/x11/gdkmain-x11.c: 
7701
7702         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7703         as a return value of gdk_*_grab(). Previously, we just
7704         returned the X11 values directly.
7705
7706 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7707
7708         * gdk/x11/Makefile.am: Patch from George Lebl to 
7709         install all the headers in the right place.
7710
7711 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7712
7713         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7714           initial conversion to DocBook.
7715
7716 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7717
7718         * README.win32: Improve a bit.
7719
7720         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7721         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7722         Alt+0nnn on the numpad (used to enter characters by numeric code
7723         from current DOS or ANSI codepage) working correctly, as in other
7724         Windows apps.
7725
7726         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7727         same argument validity tests as in X11 version.
7728         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7729
7730         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7731         definitions in case missing from headers.
7732
7733         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7734         destroy the window-specific cursor.
7735         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7736         calling GetModuleHandle(NULL).
7737         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7738         with CopyCursor before setting it as the window-specific
7739         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7740         also its Windows cursor) after calling this function. Destroy any
7741         previous window-specific cursor.
7742
7743 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7744
7745         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7746         font charset is iso8859-1, not iso-8859-1.
7747
7748 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7749
7750         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7751         Use g_get_charset() instead of g_get_codeset().
7752
7753         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7754         Comment out some strdup'ing functions to keep timj
7755         happy until we finish fighting this out.
7756
7757 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7758
7759         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7760         <= width or height.
7761
7762         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7763         from 1.2 for parent/child states.
7764
7765         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7766         of typos.
7767
7768         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7769         event structures, replace with a generic axes field. Replace 
7770         deviceid/sourec with GdkDevice *device.
7771
7772         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7773         to extract particular axis use value from event. (Also
7774         can be used for normal X/Y.)
7775
7776         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7777         allow for arbitrary number of axes, namespace everything
7778         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7779         everywhere.
7780
7781         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7782         Get rid of the gdk_input_vtable setup if favor of simply
7783         defining the functions in gdkinput-none/gxi/xfree.c in
7784         a similar fashion to the way that the port structure is 
7785         done.
7786
7787         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7788         for new event structures. 
7789
7790         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7791         new device interfaces.
7792
7793 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7794
7795         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7796         set the initial text.
7797
7798         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7799         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7800         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7801         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
7802
7803         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7804         pango_layout_set_font_description to simplify.
7805
7806 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
7807
7808         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7809         pango_layout_set_font_description to simplify.
7810
7811 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7812
7813         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7814         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7815         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7816
7817         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7818         PANGO_PIXELS() macro.
7819
7820 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7821
7822         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7823         that returns a PangoContext owned by the widget and updated to
7824         match future changes in the widget. Also, make 
7825         gtk_widget_create_pango_layout() use this context. If we ever
7826         add a ::changed signal to PangoContext, this will make things
7827         much more convenient. 
7828
7829         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7830         in the appropriate places instead of destroying the layouts and
7831         creating new ones.
7832
7833         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7834         in a few strategic places.
7835
7836 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7837
7838         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7839         gtk_widget_size_request() on reparented child, if one. Otherwise,
7840         queue_resize() on the child never results in it getting size-requested
7841         at all.
7842
7843         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7844         in option menus, so that (with luck) people won't copy it into
7845         their apps in the future.
7846
7847         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7848         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7849         a lot of problems with changing the size of the menu's menu
7850         items after adding it to the option menu.
7851
7852         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7853
7854         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7855         the text direction for a widget changes.
7856
7857         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7858         ::direction_changed to get rid of various hacks.
7859
7860 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7861
7862         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7863         name.
7864
7865 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7866
7867         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7868         flag to the structure. Do not call XFreePixmap on pixmaps created
7869         by gdk_pixmap_foreign_new().
7870
7871 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7872
7873         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7874         value using GdkRGB functionality given GdkColormap and GdkColor.
7875         (name not final, waiting for inspiration.)
7876         
7877         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7878         set the foreground/background of a GC using the GC's colormap
7879         and GdkRGB. (name not final, waiting for inspiration.)
7880
7881         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7882         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7883
7884         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7885         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7886         purely a function of the corresponding colormap. Make
7887         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7888
7889         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7890         gdk_pixbuf_*create_from_xpm_* in terms of
7891         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7892         code.
7893
7894         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7895         advantage of the new draw_rgb_32_image_dithalign.
7896
7897         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7898
7899         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7900         on each created GC.
7901
7902         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7903
7904         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7905         which we initialize from the drawable when the GC is created,
7906         if the drawable has a colormap.
7907
7908         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7909
7910         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7911
7912         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7913
7914 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7915
7916         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7917         actually returning expose events, make sure to set
7918         the count field properly.
7919
7920         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7921         accidentally reintroced bug which always cleared
7922         the graphics_exposures value. 
7923
7924 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7925
7926         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7927
7928 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7929
7930         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7931
7932 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7933
7934         * docs/faq/gtk-faq.sgml: Start of Section 6.
7935
7936 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7937
7938         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7939         
7940         (Fixes problem with drawing childless frames. Pointed out
7941         by and a first patch from Anders)
7942         
7943         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7944         compute a child_allocation, even if we don't have a child.
7945
7946         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7947         Always chain to the parent's impl, even if we don't have a child.
7948
7949 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7950
7951         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7952         use multiple parts of it instead of creating a bunch of separate
7953         segments, since the maximum number of segments per system is not
7954         large. (This might be worth backporting to GTK+-1.2.x if we make a
7955         new release )
7956
7957         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7958         structure in preparation for per-colormap GdkRGB.
7959
7960         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7961         to False when we get EINVAL from shmget so that the caller of
7962         gdk_image_new can retry with a smaller segment size.
7963
7964 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7965
7966         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7967
7968 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7969
7970         * configure.in: make the current version number 1.3.1 (binary age 0,
7971         interface age 0).
7972         
7973         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7974         gtkcompat.h is all we want.
7975
7976         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7977         GLib primitive types. fixed g_type_register_fundamental() argument
7978         ordering.
7979
7980         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7981         compiles.
7982
7983         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7984         object code cleanup, comment trigraph fixes, etc...
7985
7986 2000-06-23  Havoc Pennington  <hp@redhat.com>
7987
7988         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7989         instead of making up a bogus name for first_para_mark
7990
7991         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7992         0 as a context ID
7993
7994 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7995
7996         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7997
7998 2000-06-21  Havoc Pennington  <hp@pobox.com>
7999
8000         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8001         we didn't check window->bg_pixmap != GDK_NO_BG.
8002
8003         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8004         gdk-pixbuf
8005
8006 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8007
8008         * docs/faq/gtk-faq.sgm: Move file to here.
8009           TODO: Update Makfile.am 
8010
8011 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8012
8013         * docs/gtk-faq.sgm: Add Section 2
8014
8015 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8016
8017         * docs/gtk-faq.sgm: New file. Start of DocBook
8018           version of the FAQ.
8019
8020 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8021
8022         * configure.in (GDK_PIXBUF_MAJOR): Define version
8023         numbers for GDK_PIXBUF_*, as they get substituted
8024         into a header file. Need to consider versioning
8025         for gdk-pixbuf more carefully later.
8026
8027 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8028
8029         Work with srcdir != builddir.   
8030         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8031         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8032         * demos/testpixbuf.c: Likewise.
8033         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8034         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8035         <gdk/x11/gdkx.h>.
8036         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8037         "gdk-pixbuf.h".
8038         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8039
8040 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8041
8042         * TODO.xml: Change 1.4 version numbers to 2.0.
8043
8044 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8045
8046         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8047         fixups to GTK+ standard.
8048
8049 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8050
8051         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8052         gdk-pixbuf.
8053
8054         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8055         fixups for GObject.
8056
8057         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8058         gdk-pixbuf with GDK dependencies moved into GDK.
8059         
8060         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8061         move gdk-pixbuf-loader here until GObject has signals.
8062
8063         * demos/: New directory of demos. Move demos from
8064         gdk-pixbuf here.
8065
8066         * demos/pixbuf-init.c: Small bit of code to check for
8067         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8068         set GDK_PIXBUF_MODULEDIR appropriately.
8069
8070         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8071         define which no longer makes sense.
8072
8073 2000-06-21  Havoc Pennington  <hp@redhat.com>
8074
8075         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8076         gtk_get_default_language
8077
8078         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8079         new function to get the default language
8080
8081         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8082         s/gtk_text_view_style_values/gtk_text_style_values/
8083
8084         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8085         Add a "language" field to tags.
8086
8087         (gtk_text_tag_set_arg): Fix bug in setting
8088         "bg_full_height_set" tag.
8089
8090 2000-06-21  Havoc Pennington  <hp@redhat.com>
8091
8092         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8093         in the interfaces
8094
8095         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8096         stuff instead when possible.
8097
8098         * gtk/gtktexttypes.h: Delete some unused constants
8099
8100         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8101         testtextbuffer.c: use glib instead of custom unicode routines
8102
8103 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8104
8105         * docs/es/: Removed mistakenly added generated sgml
8106
8107         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8108         Remove outdated info files.
8109
8110         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8111         Moved tutorial files into subdir
8112
8113         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8114         subdir.
8115
8116         * docs/man/gtk_button.pod: Remove. (contents will be
8117         integrated into gtk-reference button page.)
8118
8119         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8120         docs/faq/Makefile.am: Adjust for new organization
8121
8122 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8123
8124         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8125         not $(MKINSTALLDIRS)
8126
8127 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8128
8129         * gtk/testgtk.c (create_text): Finish the job Elliot started
8130         of removing font setting test for text widget. (Since text widget
8131         and GdkFont are not deprecated, and cause portability problems.)
8132
8133 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8134
8135         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8136         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8137         Remove use of libunicode in favor of new GLib functions.
8138
8139         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8140         nano-x, framebuffer. The X11 include is just a hack until we get
8141         the necessary functions in gdkcolor.h, so there is no reason to
8142         add other includes of platforms.
8143
8144         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8145         window bigger than the screen change.
8146
8147         * gtk/testgtk.c: Revert some random changes from Elliot
8148         that had no particular point and were causing testgtkrc
8149         not to function correctly.
8150         
8151         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8152         because GdkSegment and GdkRegionBox have the same fields,
8153         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8154         results in clearer code.
8155
8156         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8157         gdk_input_translate_coordinates): Fix missed GdkObjectification
8158
8159 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8160
8161         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8162         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8163
8164 2000-06-20  Havoc Pennington  <hp@redhat.com>
8165
8166         * modules/linux-fb/Makefile.am: Make this compile
8167         without framebuffer enabled
8168
8169         * gdk/linux-fb/Makefile.am: Add conditional to not build
8170         framebuffer unless specified in configure
8171
8172         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8173         the size of the target instead of source if -1 was passed for
8174         width/height
8175
8176         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8177         width/height confusion.
8178
8179 2000-06-19  Havoc Pennington  <hp@redhat.com>
8180
8181         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8182         GDK_DRAWABLE_XID. In the future, we probably want to make it
8183         faster with G_DISABLE_CHECKS turned on.
8184
8185 2000-06-14  Havoc Pennington  <hp@redhat.com>
8186
8187         * gdk/Makefile.am: add gdkpixmap.c
8188
8189         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8190         s/gdk_image_init/_gdk_windowing_image_init
8191
8192         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8193         ref/unref
8194
8195         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8196
8197         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8198         GdkWindowType is now non-deprecated; 
8199         change gdk_window_get_type() compat to be
8200         gdk_window_get_window_type().
8201
8202         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8203
8204         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8205         virtual GObject. Make all functions call into the vtable.
8206         Move gdk_image_put() guts in here. Remove GdkDrawableType
8207         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8208         draw_image, get_depth, get_size, set_colormap, get_colormap,
8209         get_visual added to the vtable.
8210         
8211         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8212         GObject. Virtualize everything. 
8213         (gdk_gc_new_with_values): remove check for destroyed window,
8214         because now GdkWindow::create_gc will check this.
8215         (gdk_gc_set_values): New function to set GC values, this 
8216         was already implemented but wasn't in the header
8217
8218         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8219
8220         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8221         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8222         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8223         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8224         _gdk_windowing_window_init, rename gdk_image_init to
8225         _gdk_windowing_image_init.
8226         
8227         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8228         (gdk_draw_layout): Remove check for destroyed window, 
8229         because all the drawable methods already check it.
8230         
8231         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8232         Add gdkpixmap.c which contains implementation of GdkDrawable
8233         virtual table (by chaining to a platform-specific implementation
8234         object).
8235         
8236         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8237         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8238         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8239         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8240         GdkColormapPrivate. 
8241
8242         * gdk/gdktypes.h: #include <glib-object.h>
8243
8244         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8245         Move most functionality to platform-specific implementation
8246         object. GdkWindow itself now handles the backing store, then
8247         chains to the platform-specific implementation.
8248         (gdk_window_get_window_type): return GdkWindowType of the window.
8249         (gdk_window_peek_children): New routine, returns the children of 
8250         a GdkWindow
8251         (gdk_window_get_children): Was in X11-specific code and did 
8252         XQueryTree. Changed to simply return a copy of window->children; 
8253         so it can go in cross-platform code.
8254         
8255         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8256
8257         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8258         GdkColormap; just changed to use the new private data instead
8259         of casting to GdkColormapPrivate.
8260
8261         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8262         gdk_cursor_new().
8263
8264         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8265         (private data member in the GObject). 
8266         (xdnd_manager_source_filter): Function had broken 
8267         error handling, fix it (use gdk_error_trap_push).
8268
8269         * gdk/x11/gdkdrawable-x11.c: This file now implements
8270         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8271         base class is purely for the convenience of the X port,
8272         and not part of the interface to cross-platform GDK.
8273
8274         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8275         
8276         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8277         specific to X, and returned by the create_gc virtual method
8278         of GdkDrawableImplX11. 
8279         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8280         rather than gchar, this was also changed in the GdkGC vtable.
8281         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8282         mask is 0, return immediately, instead of checking every flag.
8283         This is faster, and keeps us from segfaulting if values is NULL
8284         and the mask contains some nonzero flags.
8285
8286         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8287         GdkWindow.
8288
8289         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8290         GdkWindowPrivate is gone.
8291
8292         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8293
8294         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8295         remove the image_put stuff that got transferred to GdkDrawable.
8296         
8297         * gdk/x11/gdkinput.c: renamings
8298
8299         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8300
8301         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8302
8303         * gdk/x11/gdkprivate-x11.h: indentation fixes
8304
8305         * gdk/x11/gdkproperty-x11.c: renamings
8306
8307         * gdk/x11/gdkselection-x11.c: renamings
8308
8309         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8310         implements the platform-specific "impl" object.
8311         Moved gdk_window_get_children to gdk/gdkwindow.c
8312
8313         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8314         that no longer exist. Add declaration of GdkGCX11 object here.
8315         Fix all the macros to still work. 
8316
8317         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8318         GdkDragContext from the boxed types since they are now GObjects.
8319
8320         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8321         moved xthickness/ythickness into the instance. GtkStyleClass
8322         functions are now in the standard vtable for GtkStyle, so you have
8323         to create a GObject subclass to write a theme engine.
8324         (gtk_style_copy): fixed a leaked PangoFontDescription
8325         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8326         can be the standard GObject function.
8327         
8328         * Throughout GTK:
8329         s/style->klass->[xy]thickness/style->[xy]thickness
8330         s/pango_layout_unref/g_object_unref/
8331
8332         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8333         
8334         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8335         accessing GDK internals.
8336
8337         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8338         accessing GDK internals.
8339
8340 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8341
8342         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8343
8344         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8345         problem by calculating event position relative to the trough
8346         rather than the slider.
8347         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8348
8349         * gdk/gdkgc.h: Add GDK_NOR.
8350
8351         * configure.in, Makefile.am: Add modules top level dir
8352         * configure.in: Only use pangox library if building x11 target.
8353         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8354
8355 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8356
8357         * gtk/gtkcolorsel.c: Change private class member to be named
8358         private_data throughout the file.
8359
8360         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8361         private_data to avoid clashing with keyword.
8362
8363 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8364
8365         * gdk/gdkdnd.h: Add comment to remove warning.
8366
8367 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8368
8369         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8370         Byelorussian language; changed the Makefile and file names 
8371         to reflect that.
8372
8373 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8374
8375         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8376         rather than gdk_window_hide; this makes things work
8377         correctly if the window is programmatically hidden while
8378         iconified.
8379
8380 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8381
8382         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8383         cut and paste typo where wrong pixmap was being
8384         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8385
8386 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8387
8388         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8389         Add helper function to compute format / bytes 
8390         relationship. Use in a couple places to fix up
8391         errors which assume 8 * format.
8392
8393         * gtk/gtkselection.c (gtk_selection_request): Use 32
8394         rather than 8 * sizeof (GdkAtom), to work correctly
8395         on Alpha.
8396
8397 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8398
8399         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8400         libgtk.la
8401         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8402         versions
8403
8404         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8405         checking macros return NULL since the function has a return value.
8406
8407 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8408
8409         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8410         GTK+ from building at all.
8411
8412         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8413
8414 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8415
8416         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8417         gtk/Makefile.am: make it possible to configure gtk for different
8418         targets on the same platform. The library name is now 
8419         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8420         flag. Only the x11 target compiles right now.
8421         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8422         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8423         * gdk/nanox/gdk*generic*: delete generic region code.
8424         * gdk/linux-fb/gdk*generic*: delete generic region code.
8425         * README.nanox: update information.
8426         
8427 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8428
8429         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8430         prepend not append. (Pointed out by Brett Hall.)
8431
8432 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8433
8434         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8435
8436 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8437
8438         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8439         need this later, and this makes sure that the atexit for
8440         glib gets called after that for GDK, so atexits are
8441         properly ordered for object leak checking.
8442
8443         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8444
8445         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8446         pango_x_shutdown_display()
8447
8448         * gtk/simple.c (main): Close window on destroy.
8449
8450 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8451
8452         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8453         to treat initial creation different from setting with 
8454         regards to the graphics-exposures parameter, so add a parameter
8455         indicating whether this is initial or not.
8456
8457 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8458
8459         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8460         to sort of work by adding an extra return_exposes arg
8461         to gdk_event_translate() - it might be better to simply
8462         deprecate the function altogether and force people to rewrite
8463         without it. gdk_window_scroll() handles most of it, and where
8464         gdk_window_scroll() doesn't work, simply redrawing more does.
8465
8466         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8467         assertion.
8468
8469         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8470
8471         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8472         bunch of pretty much useless /* Print debugging info */ comments 
8473         which had drifted away from the code they were commenting.
8474
8475 2000-06-02  Havoc Pennington  <hp@pobox.com>
8476
8477         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8478         is in working order.
8479         
8480         * gtk/testtext.c: Change to reflect anonymous mark API
8481
8482         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8483
8484         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8485         field, which was unused.
8486
8487         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8488         saves some typing.
8489
8490         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8491
8492         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8493         flag on the insertion point and selection bound
8494
8495         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8496         make mark-manipulation functions take a GtkTextMark* instead of a
8497         mark name.
8498         
8499         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8500         GtkTextMarkBody; will be used to detect attempts to delete
8501         the permanent marks (insert and selection bound)
8502
8503         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8504
8505 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8506
8507         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8508         flag to on.
8509
8510         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8511         Honor DOUBLE_BUFFRED_FLAG
8512
8513         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8514         function to set the DOUBLE_BUFFERED flag.
8515
8516         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8517         or not exposes done on the widget should be double-buffered.
8518
8519         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8520         to be what would be expected. (Fixes problem with a
8521         g_return_if_fail() validating a TextDirection enumeration)
8522
8523 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8524
8525         * gtk/gtkwidget.c: Remove all references to 
8526         offscreen flag which was no longer used.
8527
8528         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8529
8530         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8531         for non-null label_widget->parent.
8532
8533         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8534         which no longer was used.
8535
8536         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8537
8538         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8539         for null arguments.
8540
8541         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8542         check for destroyed windows.
8543
8544 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8545
8546         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8547         the slave context there.
8548
8549         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8550         identical to GtkWindow.
8551
8552 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8553
8554         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8555         pangox to here, so we can write them independent of rendering
8556         system, using GDK primitives.
8557
8558         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8559         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8560         since we have a rendering-system independent implementation in
8561         terms of draw_glyphs().
8562         
8563         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8564         function to render a single line.
8565
8566         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8567         into ../gdkpango.c, which simplifies things, since we
8568         don't have to deal with raw X gc's.
8569
8570 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8571
8572         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8573         get the logical attributes for a given GtkTextLine.
8574
8575 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8576
8577         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8578         g_locale_get_codeset() to g_get_codeset() change.
8579
8580 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8581
8582         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8583         descriptions.
8584
8585         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8586         the entry.
8587
8588         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8589         redoing (vastly simplifying) for Pango. Still needs quite
8590         a bit of work. (Size selection is currently poor. List of 
8591         predefined sizes is not a good idea, since all of these
8592         sizes won't necessarily be distinct.)
8593
8594 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8595
8596         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8597         CODESET results for LANG=C.
8598
8599 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8600
8601         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8602         which takes a stringized pango font description;
8603         ignore the older 'font' and 'fontset' declarations.
8604
8605         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8606         field with a GdkFont derived via gdk_font_from_description(),
8607         for compatibility. (Should we just remove it entirely?
8608         Probably too much compatibility breakage, but people
8609         should be migrating to the new Pango stuff as quickly
8610         as possible.)
8611
8612 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8613
8614         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8615
8616 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8617
8618         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8619         redoing; there are some bugs in size allocation right
8620         now, the semi-existant distinction between header / day
8621         fonts was removed, but, with Pango, could actually
8622         be made functional in a nice way.
8623         
8624         * gtk/testcalender: Move calender from examples into this
8625         directory as a test program. (We really need to restrcture
8626         testgtk into a whole directory full of tests for every
8627         widget or functionality group, separated into multiple .c
8628         files.)
8629
8630 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8631
8632         * gtk/testgtk.c (file_exists): Fix stupid typo that
8633         was keeping RC file from being loaded.
8634
8635         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8636         RC file font code.
8637
8638 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8639
8640         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8641         Add function to load a GdkFont from a PangoFontDescription.
8642
8643 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8644
8645         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8646         variable should be of type GdkEventPrivate.
8647
8648 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8649
8650         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8651         to have any widget for the label, use a GtkLabel widget
8652         to display the text. (Based partially on a patch from
8653         Anders Carlson.)
8654
8655         (Quite a bit of code reorganization - strip 90% of the
8656         guts out of gtkaspectframe and add a single virtual
8657         func to GtkFrameClass - compute_child_allocation.)
8658
8659 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8660
8661         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8662         (Removed clist->row_center_offset field because caching
8663         it wasn't saving time or code, added private function
8664         _gtk_clist_create_cell_layout()).
8665
8666 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8667
8668         * gtk/gtkaccellabel.c: Pangoized.
8669
8670         * gtk/[hv]ruler.c: Pangoized
8671
8672 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8673
8674         * gtk/gtkfilesel.c (gtk_file_selection_init):
8675         Use gtk_clist_set_column_auto_resize() to remove need
8676         need for manual column width computations.
8677
8678 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8679
8680         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8681         ensuring Pango correctness, and considerably simplifying the
8682         code.
8683         
8684         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8685
8686         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8687         getting of numbers of lines.
8688
8689         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8690         to the actual requested width of the lable, not to the wrap
8691         width we set.
8692
8693         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8694
8695         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8696           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8697
8698         * gtk/gtktextview.c: Fix structure inheritance.
8699
8700         * gtk/gtkprogressbar.c: Pangoize.
8701
8702 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8703
8704         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8705         in a function.
8706
8707         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8708         bug with computing line tops.
8709
8710         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8711
8712 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8713
8714         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8715         and y_offset coordinates to do what we need now. (The offset between
8716         buffer and layout coordinates has been reintroduced, but is a 
8717         bit different than before.)
8718
8719         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8720         handle the adjustments ourselves, and scroll as necessary using
8721         the new gdk_window_scroll().
8722         
8723         The advantage of this is that when we are incrementally revalidating,
8724         we are essentially rearranging things around the visible portion
8725         of the screen. With the old setup, the visible portion of the
8726         screen was moved around in the layout, so scrolling and redrawing
8727         to track that caused jumping of the display. Since we now
8728         control the scrolling ourselves, we can suppress this and
8729         only redraw when things actually change.
8730
8731 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8732
8733         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8734         the region not just redisplay it after-all, since we store the
8735         cursors in the LineDisplay. (Ugly interactions here between
8736         GtkLayout and GtkTextBTree here.)
8737         
8738         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8739
8740 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8741
8742         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8743         Added function to scroll contents of a window while keeping the
8744         window constant. Works by XCopyArea or guffaw-scrolling depending
8745         on the details of how the window is set up. (guffaw-scrolling
8746         still needs to be filled in.)
8747
8748 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8749
8750         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8751         move the debugging that was tied to a global variable
8752         to that.
8753
8754         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8755
8756         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8757         validated flag, in line data instead of setting height/width to
8758         -1. This allows us to perform operations with partially invalid
8759         buffer (using the old size for invalid lines) and thus to do
8760         incremental vaidation. Keep height/width aggregates up to date
8761         when deleting text and rebalancing the tree.
8762
8763         * gtk/gtktextbtree.[ch]: Add functions validate a line
8764         (gtk_text_btree_validate_line), and to validate up
8765         to a number of pixels (gtk_text_btree_validate).
8766
8767         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8768         that indicates that something is changed and a revalidation
8769         pass is needed. Change ::need_repaint to ::changed, and
8770         make it take old and new yranges instead of a rectangle.
8771
8772         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8773         the line_data_destroy() function from 
8774         gtk_text_btree_add_view() to a virtual function in 
8775         GtkTextLayout
8776
8777         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8778         since we are handling partial repaints in a different fashion
8779         now.
8780
8781         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8782         of the selection instead of queueing a repaint on the
8783         entire widget.
8784
8785         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8786         get_selection_bounds() down to btree, make the function
8787         in buffer a wrapper around the btree function.
8788
8789         * gtk/gtktextlayout.[ch]: Add functions to check if the
8790         layout is valid and to recompute either a range of pixels
8791         aroudn a line or a certain total number of pixels.
8792
8793         * gtk/gtktextlayout.[ch]: Cache a single line display;
8794         now that we only redraw the needed portions, the hit rate
8795         for this cache is quite high.
8796         
8797         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8798         on the screen so that when re-laying-out the buffer, we can
8799         keep the same place. This requires connecting to ::value_changed
8800         on the adjustments
8801
8802         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8803         the buffer after we receive an ::invalidated signal.
8804         
8805 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8806
8807         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8808         to max of allocation and layout size, not just to the
8809         layout size.
8810
8811         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8812         Invalidate window so it gets redrawn properly.
8813
8814         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8815         to mean the entire window.
8816
8817         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8818         into public header.
8819
8820 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8821
8822         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8823         to get the name of a mark.
8824
8825         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8826         to find the paragraph from a y position.
8827
8828 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8829
8830         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8831         nodes have width/height >= 0, not > 0.
8832
8833 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8834
8835         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8836         Add a size_only flag, so when we only need the size, we don't create
8837         useless appearance attributes.
8838
8839         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8840         duplicate setting of font description.
8841
8842         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8843
8844 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8845
8846         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8847         EXTRA_DIST. It does not work well when the file that
8848         everything depends on is not in the tarball.
8849
8850 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8851
8852         * gtk/testgtk.c: Some hacks and fixes so that it basically
8853         works when not sitting in the GTK+ build tree.
8854
8855 2000-05-03  Havoc Pennington  <hp@redhat.com>
8856
8857         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8858         Properly determine the ordering of the tag root and the current
8859         line within the tree. Previous algorithm only worked if the tag
8860         root's immediate parent was the common root of both the current
8861         line and the tag root.
8862
8863 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8864
8865         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8866         alignment.
8867
8868         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8869         the widget text directional dynamically.
8870
8871         * gtk/gtktextview.[ch]: Added functions to get and set default
8872         wrap mode.
8873
8874 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8875
8876         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8877         in cursor location computation.
8878
8879 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8880
8881         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8882         vadjusment values properly when layout gets smaller.
8883
8884         * gtk/gtktextview.c (need_repaint_handler): Areas being
8885         passed in are far completely inaccurate, and sometimes
8886         too small, so, for now, just queue a redraw on the
8887         whole visible region.
8888
8889 2000-04-25  Havoc Pennington  <hp@redhat.com>
8890
8891         * gtk/gtktextbtree.c (summary_destroy): new function to 
8892         destroy tag summary nodes
8893         (gtk_text_line_next_could_contain_tag): this function was 
8894         totally broken if the line passed in wasn't below the tag
8895         root. Fix it.
8896         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8897         "wildcard" case, we have to do a linear scan. Blah.
8898         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8899         we have to do the linear scan
8900         (tag_removed_cb): When a tag is removed from the tag table, 
8901         remove the GtkTextTagInfo node from the btree.
8902         (gtk_text_btree_spew): Implement the spew function, for 
8903         our debugging pleasure.
8904
8905 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8906
8907         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8908         a problem with referring to the wrong buffer.
8909
8910         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8911
8912         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8913         font description to gtk_style_new() - otherwise things
8914         don't work without a .gtkrc file.
8915
8916         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8917         tags table if we create it ourself, too.
8918
8919         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8920         it was conflicting with XKB modifiers.
8921
8922         * gtk/gtktextview.[ch]: Add simple support for 
8923         GtkIMContext.
8924
8925 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8926
8927         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8928         with deletion from last commit.
8929
8930 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8931
8932         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8933         in the context from the current locale.
8934         
8935         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8936         context, not hardcoded value.
8937
8938         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8939         not logical.
8940
8941 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8942
8943         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8944         attributes - that doesn't handle partial-glyph selection
8945         properly. Instead use new pango_layout_line_get_x_ranges()
8946         functionality to draw the selection.
8947
8948         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8949         now properly handles out-of-range coordinates.
8950
8951         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8952
8953         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8954         public.
8955
8956         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8957         for paragraphs opposite to the base direction of the widget.
8958
8959         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8960
8961         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8962         causes Arabic words to reshape as you cursor through.
8963
8964         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8965         cursor position when moving vertically with the arrow keys and
8966         scrolling with page-up/page-down. (Arrow keys save only the X,
8967         scrolling saves both X and Y.)
8968
8969         This means you can line-up / line-down or page-up / page-down
8970         without losing your place, and also that moving vertically
8971         with the cursor keys keeps the same X position, not the same
8972         character count:
8973
8974         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8975         arrow keys move by display lines, not paragraphs.
8976
8977 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8978
8979         * gtk/gtklayout.c: Make sure that the bin window is at least
8980         as big as the allocation. (Should we also make sure that the
8981         bin window is big enough to completely cover widget->window?)
8982
8983         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8984         function to get the onscreen rectangle.
8985
8986         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8987         for offsets in window coordinates.
8988
8989 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8990
8991         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8992         confusion.
8993
8994         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8995         from the widget direction.
8996
8997         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8998         Add a "direction" attribute.
8999
9000         * gtk/gtktextview.c: global s/tkxt/text_view/.
9001
9002         * gtk/testtext.c: Added long block of text in Arabic, to test out
9003         the direction attributes. (Some problems with the shaping system
9004         for arabic become obvious - like the fact the cursor splits words
9005         into unjoined pieces.)
9006
9007 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9008
9009         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9010
9011         * gtk/gtktextlayout.c: Fix up alignment.
9012
9013         * gtk/testtext.c: Add some tests for centering, wrapping.
9014
9015 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9016
9017         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9018         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9019         If we wrote GTK+-specific layout-render function this could just replace
9020         the draw_layout() operation in the vtable.
9021
9022         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9023         pango_layout_get_cursor_pos() and use that function.
9024
9025         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9026         is a non-static symbol.
9027
9028         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9029         with gtk_text_btree_find_line_by_y()
9030
9031         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9032         renderer that handles GtkTextAppearance attributes.
9033
9034         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9035
9036           - Move the values in the style that don't affect geometry into a
9037             GtkTextAppearance structure.
9038           - Change underline to take a PangoUnderline and "font" a string
9039             representation of a font description
9040           - Add a "font_desc" attribute which takes a FontDescription structure.
9041
9042         * gtk/gtktextlayout.[ch]:
9043
9044           - Get rid of the display-line list per each line. Instead, we
9045             generate, on demand, a GtkTextLineDisplay structure which]
9046             contains a PangoLayout * and other necesary information
9047             (offsets, cursor locations) for displaying a paragraph.
9048           - Get rid of the code to wrap lines, create display chunks,
9049             etc. Instead, we just go through a paragraph and convert
9050             it into the necessary inputs to a PangoLayout.
9051           - Implement a new attribute type, GtkTextAttrAppearance. This
9052             holds a GtkTextAppearance, and is used to pass colors, 
9053             stipple, etc, through from the layout to the display without
9054             having to use lots and lots of individual attributes.
9055           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9056             in terms of PangoLayout functions.
9057         
9058         * gtk/gtktextview.c: 
9059          
9060           - Handle passing the necessary PangoContext to the layout
9061           - Some fixups in painting to deal with the automatic backing store
9062             and offsetting of GTK+-1.4
9063           - Add a style_set handler so that the default style reacts
9064             properly to theme changes.
9065         
9066         * gtk/gtktext?*.[ch]: Random code-style fixes.
9067
9068         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9069
9070 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9071
9072         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9073         in original form preparatory to Pango-ization and gdkimcontext-ization.
9074
9075 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9076
9077         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9078         so that we can derive from gtkimcontext in language bindings properly.
9079
9080 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9081
9082         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9083         Add a compose table including (almost) all the compose combinations
9084         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9085         data in the XIM implementation.
9086
9087         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9088         Moved functions to convert keyvalues from and to unicode here from
9089         the win32 port and made them public.
9090
9091 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9092
9093         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9094
9095 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9096
9097         * gtk/gtkimcontext.[ch]: Base class for new input context system
9098
9099         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9100         the real input context implementation to be loaded from modules
9101         and switched on the fly.
9102
9103         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9104         context that just does direct keysymbol => unicode translation.
9105
9106         * gtk/gtkentry.[ch]: Start switching editing over to using
9107         GtkInputContext. (No handling of preedit yet.)
9108
9109 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9110
9111         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9112         many substitutions. (klass should not be subsituted.)
9113
9114 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9115
9116         * configure.in: Add checks for Pango
9117
9118         * configure.in docs/Makefile.am: Add test for sgml2html
9119         and allow 'make dist' without building html, but print out
9120         warnings in that case. (For making snapshots)
9121
9122         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9123         Add Pango libraries and C flags
9124
9125         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9126         Add function (gdk_draw_layout) to draw a pango layout.
9127
9128         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9129         for getting Pango contexts for GDK.
9130
9131         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9132
9133         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9134         editing.
9135
9136         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9137         keysym => unicode translations. More languages can be added
9138         here, but real input-method support is needed.
9139
9140         * docs/Changes-1.4.txt: Added note about entry behavior.
9141         
9142         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9143         to set the reading direction for a widget and the global direction.
9144         Add test which allows toggling the global direction. Two private
9145         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9146
9147         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9148           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9149
9150         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9151
9152         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9153         underlining now handled by Pango.
9154
9155         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9156         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9157         is temporary.)
9158
9159         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9160         convenience functions for creating contexts and layouts for widgets.
9161
9162         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9163
9164 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9165
9166         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9167         titles to be active, even if they aren't visible.
9168         (gtk_clist_column_titles_passive):  Ditto.
9169
9170 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9171
9172         * gtkmenu.c:
9173         * gtkmenu.h:
9174         * gtktypeutils.h: Spelling/grammar fixes in comments.
9175
9176 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9177
9178         * gdk/nanox/*.h: add missing header files.
9179
9180 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9181
9182         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9183         send_event to TRUE.
9184         (gtk_drawing_area_size): queue a resize.
9185
9186 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9187
9188         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9189         the handlers, also invalidate them. bug nailed down by Karl Nelson
9190         <kenelson@ece.ucdavis.edu>.
9191
9192 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9193
9194         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9195         "(nil)" foundries, patch from Grigorios Magklis.
9196
9197         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9198         on non-available fonts, based on a patch by Grigorios Magklis
9199         <maglis@cs.rochester.edu>.
9200
9201 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9202
9203         * gdk/x11/gdkregion-generic.c: If a region does not have any
9204         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9205         instead of GDK_OVERLAP_RECTANGLE_IN.
9206
9207 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9208
9209         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9210         OFFSCREEN, as it is no longer necessary.
9211
9212 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9213
9214         * gtk/gtkcolorsel.c: Patch from David Santiago
9215         <mrcooger@cyberverse.com> to change things so that the 
9216         indicator of the active palette entry is done independently,
9217         not via the focus, since it should always be visible.
9218
9219 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9220
9221         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9222         refcount leaks as in the X11 backend.
9223
9224         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9225         cosmetics.
9226
9227         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9228         backend. Add _gdk_windowing_window_destroy().
9229
9230         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9231         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9232         either, but these probably do exist on nanox?)
9233         
9234         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9235         which isn't necessarily defined by <math.h>.
9236
9237         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9238         ancestry past GtkObject.
9239
9240         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9241         from DLL on Win32.
9242
9243         * gtk/gtk.def: Update corresponding to recent changes.
9244
9245         * gtk/makefile.{cygwin,msc}: Updates.
9246
9247 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9248
9249         * docs/Changes-1.4.txt: A bit of editing.
9250
9251         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9252         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9253         to clear the update area for the window, and clear it
9254         when hiding a window.
9255
9256         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9257         if window destroyed.
9258
9259         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9260
9261         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9262         gdk_window_destroy() to the generic code, since there was a lot of 
9263         window-system-independent logic it in. Add a function:
9264         
9265          _gdk_window_destroy() 
9266
9267         to the internal API to destroy a window without unreferencing it.
9268         Add a function:
9269
9270          _gdk_windowing_window_destroy()
9271
9272         That does the windowing-system-dependent part of destroying 
9273         the window.
9274
9275 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9276
9277         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9278
9279 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9280
9281         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9282         Make gtk_widget_shape_combine_mask() keep a reference count on
9283         the pixmap since it keeps it around.
9284
9285 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9286
9287         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9288         leak.
9289
9290         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9291         leak with event filters.
9292
9293 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9294
9295         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9296         signal handlers with the right data arguments. (Fixes
9297         some warnings when a widget was repeatedly set as a drag
9298         destination.)
9299
9300         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9301         window so we can avoid avoid setting the DND properties on the
9302         toplevel window repeatedly.
9303
9304 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9305
9306         * gdk/win32/gdkwin32.h: Define more message types missing from
9307         mingw headers.
9308
9309         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9310         call gdk_window_destroy_notify(). It was never called. This
9311         probably meant that the GdkWindow was never freed. Thanks Owen for
9312         noticing (!).
9313
9314         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9315         window as destroyed before calling DestroyWindow(). DestroyWindow()
9316         causes a call to the window procedure (gdk_WindowProc), which
9317         calls gdk_event_translate(), which calls
9318         gdk_window_destroy_notify(), which gets confused unless the window
9319         is set as destroyed.
9320
9321         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9322         this function to indicate it's win32 only. Put inside #ifdef
9323         G_ENABLE_DEBUG.
9324
9325         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9326         debugging function. (gdk_event_translate:) Add a default branch
9327         that uses the above function to print debug messages with all
9328         Windows messages symbolically.
9329
9330         * gdk/win32/gdkprivate-win32.h: Declare it, and
9331         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9332
9333 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9334
9335         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9336         public header file.
9337
9338 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9339
9340         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9341
9342         * gtk/gtktext.c: made the adjustments no-construct args, simply
9343         provide default adjustments.
9344         (gtk_text_destroy): release adjustments.
9345
9346         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9347         adjustment argument non-construct.
9348
9349         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9350         instead of in finalize.
9351         (gtk_progress_get_text_from_value): 
9352         (gtk_progress_get_current_text): 
9353         (gtk_progress_set_value): 
9354         (gtk_progress_get_percentage_from_value): 
9355         (gtk_progress_get_current_percentage): 
9356         (gtk_progress_set_percentage): 
9357         (gtk_progress_configure): ensure an adjustment is present.
9358
9359 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9360
9361         * gtk/gtkcolorsel.[hc]:
9362         * gtk/gtkcolorseldialog.[hc]:
9363         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9364         their parent implementation, use bit fields for boolean values, don't
9365         create unused widgets, usage of glib types, braces go on their own
9366         lines, function argument alignment, #include directives etc. etc. etc..
9367
9368         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9369
9370 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9371
9372         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9373
9374         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9375         of NULL.
9376
9377         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9378         to freed data.
9379         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9380
9381         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9382         to NULL when the toplevel is getting destroyed.
9383         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9384         (gtk_menu_destroy): 
9385         (gtk_menu_init): store the information of whether we have to
9386         readd the initial child ref_count during destruction in a new
9387         GtkMenu field needs_destruction_ref_count.
9388
9389         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9390         here, those reading: learn from my mistake! ;)
9391         in order for set_?adjustment to support a default adjustemnt if
9392         invoked with an adjustment pointer of NULL, the code read (pseudo):
9393         if (v->adjustment) unref (v->adjustment);
9394         if (!adjustment) adjustment = adjustment_new ();
9395         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9396         now imagine the first unref to actually free the old adjustment and
9397         adjustment_new() creating a new adjustment from the very same memory
9398         portion. here, the latter comparision will unintendedly fail, and
9399         all hell breaks loose.
9400         (gtk_viewport_set_hadjustment):
9401         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9402         after unreferencing it.
9403
9404         * gtk/gtkcontainer.[hc]: removed toplevel registration
9405         functions: gtk_container_register_toplevel(),
9406         gtk_container_unregister_toplevel() and
9407         gtk_container_get_toplevels() which had wrong semantics
9408         anyways: it didn't reference and copy the list.
9409
9410         * gtk/gtkwindow.c: we take over the container toplevel registration
9411         bussiness now. windows are registered across multiple destructions,
9412         untill they are finalized. the initial implicit reference count
9413         users are holding on windows is removed with the first destruction
9414         though.
9415         (gtk_window_init): ref & sink and set has_user_ref_count, got
9416         rid of gtk_container_register_toplevel() call. add window to
9417         toplevel_list.
9418         (gtk_window_destroy): unref the window if has_user_ref_count
9419         is still set, got rid of call to
9420         gtk_container_unregister_toplevel().
9421         (gtk_window_finalize): remove window from toplevel list.
9422         (gtk_window_list_toplevels): new function to return a newly
9423         created list with referenced toplevels.
9424         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9425
9426         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9427         adjustment a non-construct arg.
9428         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9429         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9430         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9431
9432         * gtk/gtkrange.c: added some realized checks.
9433         (gtk_range_destroy): get rid of the h/v adjustments in the
9434         destroy handler instead of finalize. remove timer.
9435         (gtk_range_get_adjustment): demand create adjustment.
9436
9437         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9438         we simply create them on demand now and get rid of them in
9439         the destroy handler.
9440         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9441         destroy handler instead of finalize.
9442         (gtk_viewport_get_hadjustment): 
9443         (gtk_viewport_get_vadjustment): 
9444         (gtk_viewport_size_allocate): demand create h/v adjustment
9445         if required.
9446
9447         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9448         gtk_widget_real_destroy () functionality.
9449         (gtk_widget_real_destroy): reinitialize with a new style, instead
9450         of setting widget->style to NULL.
9451
9452 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9453
9454         * gtk/gtkcalendar.c:
9455         * gtk/gtkbutton.c: ported _get_type() implementation over to
9456         GType, either to preserve memchunks allocation facilities,
9457         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9458
9459         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9460         over. prepare for ::destroy to be emitted multiple times.
9461         removed reference tracer magic. chain into GObjectClass.shutdown()
9462         to emit ::destroy signal.
9463
9464         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9465         fundamental.
9466
9467         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9468         cludge.
9469
9470         * gtk/gtksocket.c:
9471         * gtk/gtkplug.c:
9472         * gtk/gtklayout.c:
9473         * gtk/gtklabel.c:
9474         * gtk/gtkargcollector.c:
9475         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9476         not being a fundamental anymore, and to work with the new
9477         type system (nuked fundamental type varargs clutter).
9478
9479         * gtk/*.c: install finalize handlers in the GObjectClass
9480         part of the class structure.
9481         changed direct GTK_OBJECT()->klass accesses to
9482         GTK_*_GET_CLASS().
9483         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9484
9485         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9486         GType. made most of the GTK_*() type macros and Gtk* typedefs
9487         simple wrappers around macros and types provided by GType.
9488         most notably, a significant portion of the old API vanished:
9489         GTK_TYPE_MAKE(),
9490         GTK_TYPE_SEQNO(),
9491         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9492         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9493         GTK_TYPE_ARGS,
9494         GTK_TYPE_CALLBACK,
9495         GTK_TYPE_C_CALLBACK,
9496         GTK_TYPE_FOREIGN,
9497         GtkTypeQuery,
9498         gtk_type_query(),
9499         gtk_type_set_varargs_type(),
9500         gtk_type_get_varargs_type(),
9501         gtk_type_check_object_cast(),
9502         gtk_type_check_class_cast(),
9503         gtk_type_describe_tree(),
9504         gtk_type_describe_heritage(),
9505         gtk_type_free(),
9506         gtk_type_children_types(),
9507         gtk_type_set_chunk_alloc(),
9508         gtk_type_register_enum(),
9509         gtk_type_register_flags(),
9510         gtk_type_parent_class().
9511         replacements, where available are described in ../docs/Changes-1.4.txt.
9512         implemented compatibility functions for the remaining API.
9513
9514         * configure.in: depend on glib 1.3.1, use gobject module.
9515
9516 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9517
9518         * TODO.xml: Various updates to current status.
9519
9520 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9521
9522         * gtk.m4: Print out version when test succeeds.
9523
9524 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9525
9526         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9527         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9528         
9529         (Original triangle color selector from Simon Budig
9530         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9531         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9532         Santiago <mrcooger@cyberverse.com>)
9533
9534         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9535         out into a separate widget.
9536
9537         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9538         and opacity controls.
9539
9540 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9541
9542         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9543         snuck in prematurely.
9544
9545 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9546
9547         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9548         had deleted a ! operator by mistake, which caused
9549         GDK_SELECTION_CLEAR events never to be generated, which caused
9550         only the first copy to the clipboard from an gtkeditable to
9551         actually cause a copy to the Windows clipboard.
9552
9553 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9554
9555         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9556         compilation, too. Current mingw gcc distributions include the
9557         necessary headers. Also the necessary IIDs are now in mingw
9558         headers/libraries, and own definitions unnecessary.
9559
9560         More hacking on OLE2 DND, still doesn't work though, and thus
9561         ifdeffed out.
9562
9563         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9564         here, too.
9565
9566 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9567
9568         * gdk/nanox/*: nano-X port work in progress.
9569         * gdk/simple.c: simple test for Gdk.
9570         * README.nanox: notes about the port: read this first!
9571         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9572         with nano-X.
9573
9574 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9575
9576         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9577         gdk_window_clear() into common code, implement in terms of
9578         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9579         not redirected to the backing rectangle.
9580
9581 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9582
9583         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9584         EXTRA_DIST. It does not work well when the file that
9585         everything depends on is not in the tarball.
9586
9587 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9588
9589         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9590         with recursion where process_updates() is called from
9591         an expose handler. (GtkTextView is highly broken in
9592         doing this, but it should work, so it is a nice test
9593         case.)
9594
9595 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9596
9597         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9598         handle the case where updates are queued during processing of
9599         updates.
9600
9601 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9602
9603         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9604         window is on gdk_display - use that instead of segfaulting.
9605
9606 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9607
9608         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9609         broken and require an empty arg, give it to them.
9610
9611 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9612
9613         * gtk/gtklabel.h: indentation fixes.
9614
9615 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9616
9617         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9618         draw too narrow or too low arcs, they seem to fail, at least with
9619         some display drivers.
9620
9621         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9622
9623         Large changes to the Win32 backend, partially made necessary by
9624         the changes to the backend-independent internal
9625         structures. Attempts to implement similar backing store stuff as
9626         on X11. The current (CVS) version of the Win32 backend is *not* as
9627         stable as it was before the no-flicker branch was merged. A
9628         zipfile with that version is available from
9629         http://www.gimp.org/win32/. That should be use by "production"
9630         code until this CVS version is usable. (But note, the Win32
9631         backend has never been claimed to be "production quality".)
9632
9633         * README.win32: Add the above comment about versions.
9634
9635         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9636
9637         * gdk/gdk.def: Update.
9638
9639         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9640         presumably be replaced by some more better mechanism as 1.4 gets
9641         closer to release shape.
9642
9643         * gdk/makefile.{cygwin,msc}: Update.
9644
9645         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9646         internal headers. Change code according to changes in these. Use
9647         gdk_drawable_*, not gdk_window_* where necessary.
9648
9649         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9650         our old DND.
9651
9652         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9653         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9654         Use correct function name in warning messages.
9655
9656         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9657         GSourceFuncs gdk_event_prepare and gdk_event_check.
9658         (gdk_event_get_graphics_expose): Do implement, use
9659         PeekMessage. Thanks to Hans Breuer.
9660         (event_mask_string): Debugging function to print an GdkEventMask.
9661         (gdk_pointer_grab): Use it.
9662
9663         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9664         (old) book I used claimed was Hangul actually is CJK Unified
9665         Ideographs Extension A. Also, Hangul Syllables were missing.
9666         Improve logging.
9667
9668         * gdk/win32/gdkgc-win32.c: Largish changes.
9669
9670         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9671         g_win32_getlocale() from GLib, and not setlocale() to get current
9672         locale name.
9673
9674         * gdk/win32/gdkprivate-win32.h
9675         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9676         gdkwin32.h, similarily as in the X11 backend.
9677
9678         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9679         assignment was used instead of equals in if test. Thanks to Hans
9680         Breuer.
9681
9682         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9683         the X11 version.
9684
9685         * gdk/win32/makefile.{cygwin,msc}
9686         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9687         path to the Win32 headers that works also with the mingw compiler.
9688
9689         * gtk/gtkstyle.c: Include <string.h>.
9690
9691 2000-04-26  Havoc Pennington  <hp@redhat.com>
9692
9693         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9694         replacing the broken gtk_label_get ()
9695
9696 2000-04-15  Havoc Pennington  <hp@pobox.com>
9697
9698         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9699         this keeps scanner scripts from getting confused.
9700
9701         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9702         data, rather than void
9703
9704 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9705
9706         * gtk/gtkclist.c (gtk_clist_motion)
9707         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9708         with is_hint FALSE, get x and y from the event. They used to be
9709         used uninitialised. The Win32 backend never sends motion events
9710         marked as hints. This for instance fixes the annoying file and
9711         font selector behaviour in the Win32 version.
9712
9713 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9714
9715         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9716         gtk_private_n_signals variables, they are used by some software,
9717         sigh.
9718
9719         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9720         installation directory from the Registry, where the installer
9721         should have put it.
9722
9723 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9724
9725         * gdk/x11/Makefile.am: Fix problem with installation directory for
9726         gdkx.h
9727
9728         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9729         <mrcooger@cyberverse.com> so that when selecting menus with the
9730         mouse, the first item will not be selected, but when selecting
9731         with an accelerator, or navigating left-right on a menubar with
9732         the menus popped up, the first item will be selected.
9733
9734 2000-04-05  Dan Damian  <dand@dnttm.ro>
9735
9736         * configure.in: Added "ro" to ALL_LINGUAS.
9737
9738 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9739
9740         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9741         indentation.
9742
9743         * Makefile.am (EXTRA_DIST): Fix typo.
9744
9745         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9746         to catch gdkconfig.h
9747
9748         * gtk/gtkitemfactory.c: Added FIXME.
9749
9750 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9751
9752         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9753         s/return_if_fail/return_val_if_fail/g and add a return value.
9754
9755 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9756
9757         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9758         merge slipup.
9759
9760         * gdk/gdkinput.h: Fix missing line from merge.
9761
9762 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9763
9764         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9765         instead of gdkprivate.h.
9766
9767 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9768
9769         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9770         parent class to correctly be GtkDialogClass.
9771
9772 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9773
9774         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9775         toplevel windows and their immediate children by their parents,
9776         since the size of toplevel windows is out of our immediate
9777         control and we don't get any real benefit from trying to track
9778         this size for clipping.
9779
9780         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9781         for input_only windows.
9782
9783         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9784         to fix some hacks and make sure that we don't try to set the
9785         background of input only windows.
9786
9787 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9788
9789         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9790         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9791         stuff that we've traditionally exposed.
9792
9793         * gdk/**.c: Use gdkinternals.h where appropriate.
9794
9795         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9796         not include gdkprivate-x11.h, move all stuff of conceivable public
9797         interest into gdkx.h; keep all really private stuff in
9798         uninstalled header gdkprivate-x11.h.
9799
9800         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9801         image->image_put on windows through a new function _gdk_window_draw_image()
9802         to allow us to do backing store for images. (Sort of ugly)
9803
9804         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9805         contexts locally so that we can offset them properly when drawing 
9806         onto backing pixmaps.
9807
9808         * gdk/gdkinput.h: Reindented
9809
9810         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9811         pixmap or color for the window, so we can properly initialize
9812         our double-buffer pixmaps, and also so that we temporarily set
9813         a background of None while scrolling.
9814
9815         * gdk/gdkregion.h: Revise region boolean operators to have an
9816         interface that is actually convenient - switch from creating new
9817         regions on every op, to "methods" that modify existing regions
9818         (A = A OP B). 3 argument forms which allow dest == src, would also
9819         be possible, but the current interfaces seem to map nicely
9820         onto what needs to be done. (There is quite a lot of region
9821         code in GDK now.)
9822
9823         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9824         operator.
9825
9826         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9827         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9828         to 32 bit coordinates, modify it to be mostly GTK+ style
9829         and to have interfaces that match gdkregion.h.
9830
9831         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9832         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9833         create a backing pixmap and redirect all drawing to
9834         that backing pixmap until a matching gdk_window_end_paint().
9835
9836         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9837         Create a special drawable class for GtkWindow's that 
9838         redirects the drawing to the backing pixmap as necessary
9839         and then calls the real operations in _gdk_windowing_window_class.
9840
9841         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9842         Store invalid region for each window. Generate expose events for invalid
9843         region in an idle. This replaces both the expose compression
9844         and the redrawing queuing in GTK+. It is both more efficient and
9845         simpler than either one individually and far more so then the
9846         combination.
9847
9848         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9849         Emulate 32 bit coordinates for windows with 16 bit coordinates
9850         by offsetting drawing, guffaw scrolling techniques and
9851         mapping/unmapping child windows as necessary.
9852
9853         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9854         where, when invalid regions are processed, the region is stored,
9855         and if expose events come in that are detectably duplicate
9856         the processed exposes (by comparison of event serial numbers),
9857         the stored region is subtracted out of those exposes.
9858
9859         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9860         regions newly exposed when scrolling or resizing windows.
9861         This, combined with forcing processesing of queued invalidated
9862         regions, gives nice flicker-free scrolling.
9863
9864         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9865         invalidated regions after every scroll.
9866
9867         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9868         emulation in GDK. Its, for all practical purposes just a
9869         GtkViewport/GtkFixed hybrid now.
9870
9871         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9872         (16-bit) structures as necessary instead of just casting.
9873
9874         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9875         in terms of the structures from gdkregion-generic.c, using appropriate
9876         offsets from GDK to X11 coordinates. Cache clip mask and
9877         origin and ts origin locally and only flush to the server
9878         when drawing, to avoid constantly setting and resetting these
9879         values when offsetting GC's for scrolling and backing pixmaps.
9880
9881         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9882
9883         * gtk/gtkcontainer.c: Call process_all_updates at end
9884         of resizing to reduce flicker. (Avoids having redraw
9885         lag arbitrarily behind resize under some circumstances)
9886
9887         * gtk/gtkentry.c: Remove old backing store code, and simply take
9888         advantage of the new backing store capabilities of GDK.
9889
9890         * gtk/gtkmain.c: Simple implementation of widget backing
9891         store - simply push a paint while handling each expose.
9892         (Should really be configurable widget for widget.)
9893         
9894         * gtk/gtkwidget.c: Remove all the old complicated redraw
9895         code, and simply invalidate the GDK windows from
9896         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9897         debugged complexity ... gone to the winds.)
9898
9899         Remove all the code for suppressing expose events while
9900         resizes are pending; this isn't needed since the invalid
9901         areas won't be processed until after the resizes are
9902         processed, since they are in a lower priority idle.
9903
9904 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9905
9906         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9907         and height of dest rectangle for non-intersecting rectangles.
9908
9909 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9910
9911         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9912         for GdkRectangle.
9913
9914 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9915
9916         * gdk/gdk{events,image,private,types,window}.h
9917          gdk/x11/gdkinputprivate.h: Change all coordinates
9918          from int16 to int. Also, Change width and height from
9919          unsigned to signed to avoid all the stupid C 
9920          signedness bugs.
9921
9922 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9923
9924         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9925         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9926         Add some more detailed checking.
9927
9928         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9929         New function to retrieve the depth of a drawable.
9930
9931         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9932         field, reorder fields to save memory. 
9933
9934 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9935
9936         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9937         of the background image instead of scaling the background down to
9938         a line.
9939
9940         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9941         which temporarily set slider to wrong size.
9942
9943         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9944         queue_clear().
9945
9946 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9947
9948 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9949
9950         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9951
9952 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9953
9954         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9955         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9956
9957         * gdk/win32/gdkfont-win32.c
9958         * gdk/win32/gdkproperty-win32.c
9959         * gdk/win32/gdkselection-win32.c
9960         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9961         now declared such.
9962
9963 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9964
9965         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9966
9967 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9968
9969         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9970         is called without trapping X errors.
9971
9972 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9973
9974         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9975         way into the fontset lists.
9976
9977 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9978
9979         * gtk/gtkthemes.h: add extern "C" scope.
9980
9981 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9982
9983         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9984         to make appends to the list constant. (gtk-guy-990901-0.patch)
9985
9986 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9987
9988         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9989         for the typename hash table.
9990
9991 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9992
9993         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9994         to make sure we never divide by zero. 
9995         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9996
9997 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9998
9999         * gtk/gtkfontsel.c: Apply patch from
10000         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10001         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10002
10003         Also, some cleanups in atom handling.
10004
10005 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10006
10007         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10008         not GtkWidget.
10009
10010 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10011
10012         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10013         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10014         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10015         more guint wrap-around bugs before going to bed.
10016
10017 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10018
10019         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10020         guint wrap arounds in allocation.width.
10021
10022         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10023         process untill we fit the allocation given.
10024
10025 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10026
10027         * gtk/gtkwidget.c:
10028         (gtk_widget_unrealize): guard widget access with ref/unref
10029         around signal emission.
10030         (gtk_widget_hide): same here, but also check its destroyed
10031         state before queueing a resize.
10032
10033 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10034
10035         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10036         of gtk_default_insensitive_bg as insensitive base color.
10037
10038         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10039         to the widget's state.
10040         (gtk_text_realize): same here.
10041         (gtk_text_state_changed): same here.
10042         (draw_bg_rect): compare background color against base[] from
10043         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10044
10045 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10046
10047         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10048         grabs are active, unless a delete event is send to the toplevel
10049         of the currently grab holding widget.
10050
10051 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10052
10053         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10054         debugging g_print's.
10055
10056 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10057
10058         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10059         ever make the scrolled-window requisition ever depend on the 
10060         visibility state of the scrollbars for the AUTOMATIC policy. 
10061         This breaks the GTK+ requisition model, and causes loops.
10062
10063 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10064
10065         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10066         the default font to avoid problems with XFree86-4.0 where the
10067         default charset is iso10646-1, not iso8859-1.
10068
10069 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10070
10071         * acinclude.m4
10072         * config.guess
10073         * config.sub
10074         * ltconfig
10075         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10076
10077         * gtk/Makefile.am: minor cosmetic consistency tweak
10078
10079 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10080
10081         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10082         the activate_time to 0, so that we handle a quick
10083         press/release press/release properly and don't suppress
10084         the second release. (Red Hat bug #7545)
10085
10086 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10087
10088         * gtk/gtkctree.c (row_delete):
10089         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10090         bugs with destruction notifier, *always* update internal
10091         structures *before* calling user code.
10092
10093 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10094
10095         A few more fixes for bug #5487, #2051, #2677.
10096         * gtk/gtkclist.c : 
10097         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10098         not GDK_BUTTON_PRESS.
10099         (resync_selection): resync only if selection_mode is
10100         GTK_SELECTION_EXTENDED
10101         * gtk/gtkctree.c (resync_selection): same here
10102
10103 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10104
10105         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10106         gdk_drag_get_selection() and gtk_menu_detach().
10107
10108         [ From Jeroen Ruigrok/Asmodai ]
10109
10110 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10111
10112         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10113         page->tab_label can be NULL.
10114
10115 2000-01-25  Havoc Pennington  <hp@pobox.com>
10116         
10117         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10118         arg is boolean
10119
10120         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10121
10122         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10123
10124         * gdk/gdkproperty.c (gdk_property_get): return boolean
10125
10126         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10127
10128         * gdk/gdkim.c (gdk_im_ready): return boolean
10129
10130         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10131
10132         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10133         glib clash, should fix glib)
10134
10135         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10136         (gdk_get_show_events): return gboolean, and canonicalize 
10137         to TRUE/FALSE
10138
10139         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10140         colormap is private
10141         (gdk_colors_alloc): gboolean whether to be contiguous
10142         (gdk_color_equal): return gboolean since we are a predicate
10143         and not a qsort() (this looks semi-wrong due to glib breakage,
10144         IMO glib should be fixed)
10145         
10146         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10147         (gdk_get_use_xshm): return gboolean
10148         (gdk_pointer_is_grabbed): return gboolean
10149
10150         * gdk/gdk.h: Change prototypes to match all the above changes,
10151         and re-run egtk-format-protos as required.
10152
10153 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10154
10155         * gtk/gtkctree.c (resync_selection): 
10156         * gtk/gtkclist.c (resync_selection):
10157
10158         Return immediately if clist->drag_pos < 0. This is a workaround
10159         for the corrupt state that the clist gets into when a
10160         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10161
10162         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10163         
10164         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10165         variable from recent commit.
10166
10167 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10168
10169         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10170
10171 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10172
10173         * gtk/Makefile.am: prefix all autogenerated source that get build in
10174         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10175         in builddir. since we subsequently cd into srcdir for autogeneration,
10176         the paths have to be stripped from the target file names, thusly we
10177         use $(@F) as target names now.
10178         put a comment about configure.in's --disable-rebuilds option,
10179         which can be used for non-writable source directories, for development
10180         setups though, srcdir has to be *writable*.
10181
10182 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10183
10184         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10185           Finish the job of allowing event to be NULL.
10186           (Fixes bug #4283, reported by Chris Blizzard)
10187
10188         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10189           things so that the cursor appears on screen, properly
10190           take into account INNER_BORDER.
10191           (Fixes bug #4754, reported by Antonio Campos)
10192
10193 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10194
10195         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10196           show the tab_label unless it itself is visible.
10197
10198           gtk/gtknotebook.c (gtk_notebook_size_request):
10199           Do a better job of making sure that the visibility
10200           of the tab label corresponds to whether it should
10201           be mapped or not.
10202
10203 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10204
10205         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10206           Use the requisition, not the allocation, since the
10207           allocation has not necessarily been computed yet.
10208           (Pointed out by Eugene Osintsev)
10209
10210 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10211
10212         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10213           style/base[GTK_STATE_INSENSITIVE] both to
10214           gtk_default_insensitive_bg!
10215           (Bug #2187, reported by Jonathan Blandford)
10216
10217         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10218           Add Alt_L, Alt_R to list of invalid accelerators.
10219           (Bug #3736, reported by Vlad Harchev)
10220
10221 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10222
10223         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10224         bugs which occured after an attempt to open 
10225         invalid home directory left cmpl_state->reference_dir == NULL.
10226
10227          - completion on files in home directory didn't work
10228          - completion on an empty string caused  segfault
10229
10230          (Bug #3678, reported by Steve Ratcliffe)
10231
10232         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10233         cut and paste error that was causing scales to
10234         be incorrectly positioned.
10235         (Bug #2956,
10236          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10237
10238 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10239
10240         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10241         when checking for dcgettext, if we've found we needed
10242         it for dgettext.
10243 +
10244 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10245
10246         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10247         queue_clear on NO_WINDOW widgets during a reparent,
10248         since at that point the window and widget heirarchies
10249         are out of sync. This stops crashing in some cases
10250         (the scrolled window reparent test, for instance), and
10251         _probably_ won't cause drawing errors.
10252
10253         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10254         test do what it was supposed to do and be robust against
10255         window closings, etc. (Bug #2443)
10256
10257 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10258
10259         * gtk/gtkentry.c: Fix return values on mouse events.
10260         (Bug #2686, Sky <seb_sky@yahoo.com>)
10261
10262         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10263         (pointed out by George Lebl)
10264
10265         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10266         (From Ettore Perazzoli  <ettore@helixcode.com>)
10267  
10268 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10269
10270         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10271         clicks between rows or outside calender area correctly.
10272         (Patch from Damon Chaplin)
10273
10274         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10275         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10276           Call destroy function when overwriting existing data. 
10277           (Pointed out by Damon Chaplin)
10278
10279 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10280
10281         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10282           which was causing problems on various systems with Xmu.
10283           This hasn't been needed for a very long time.
10284           (Fixes #1185 3167)
10285
10286 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10287
10288         * gdk/gdki18n.h: Include <ctype.h> when defining
10289           gdk_isw* in terms of is* as a fallback.
10290           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10291
10292 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10293
10294         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10295           realize the widget when it is size allocated!
10296           (old, old bug)
10297
10298         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10299           Removed unused call to gdk_window_get_size() that
10300           showed up when the above was fixed.
10301
10302 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10303
10304         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10305           fix up widget->window when the widget is a
10306           NO_WINDOW container widget.
10307
10308 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10309
10310         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10311           to account for the fact that feof() does _not_ 
10312           return TRUE on errors, and thus avoid infinite loops
10313           when trying to use gdk_pixmap_create_from_xpm()
10314           on unreadable values.
10315
10316 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10317
10318         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10319
10320 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10321
10322         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10323           gdk_gc_set_dashes to take gint8 instead of gchar to
10324           make it clearer that it is _not_ a NULL terminated string.
10325
10326         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10327           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10328           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10329           arguments.
10330
10331 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10332
10333         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10334         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10335         background size relative to our allocation, guard against small
10336         allocations, we may have not yet been size allocated.
10337
10338 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10339
10340         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10341         not just version == 3. We implement all 3 + most of 4 - 
10342         (we don't support matching text/plain;charset=iso-8859-1
10343         to a dest that expects text/plain). We'll still advertise
10344         3 to be safe, but any client implementing version >= 3
10345         must interoperate with 3.
10346         
10347 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10348
10349         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10350         background and gc members, add a warning in gtk_tooltips_set_color()
10351         indicating that this function is deprecated.
10352
10353 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10354
10355         * docs/gtkfaq.sgml: FAQ Update:
10356           - Minor cleanups (Emmanuel, me)
10357           - New questions:
10358                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10359                 How can I retrieve the text from a GtkMenuItem? (timj)
10360                 How do I validate/limit/filter the input to a GtkEntry? (me)
10361                 Memory does not seem to be released when I free the list
10362                         nodes I've allocated (timj)
10363
10364 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10365
10366         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10367         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10368         for which it is no use to call GetLastError onWin9x.
10369         (gdk_other_api_failed) New function, for general error
10370         reporting without calling GetLastError.
10371         (gdk_win32_api_failed) OTOH, this function always calls
10372         GetLastError. (gdk_win32_last_error_string) Remove this function,
10373         GLib has the equivalent now.
10374
10375         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10376         call them with function name, file name and line number in the
10377         arguments.
10378
10379         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10380         functions.
10381         
10382         * gtk/gtk.def: Add some missing entry points.
10383
10384         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10385         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10386         
10387         Fixes by Hans Breuer:
10388
10389         * gdk/makefile.msc: Update for debugging.
10390
10391         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10392         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10393         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10394         in the dash_list.
10395
10396         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10397         the x11 backend.
10398
10399         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10400
10401         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10402
10403 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10404
10405         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10406         just pixel value of background colour.
10407
10408         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10409         containing code snippet previously duplicated in a couple of
10410         places.
10411         
10412         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10413         gdk_colormap_color.
10414
10415         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10416         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10417         events for autorepeated Shift, Control and Alt keys. Use
10418         gdk_colormap_color.
10419
10420         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10421         pointer is inside the window the cursor of which we are setting,
10422         call SetCursor immediately.
10423
10424         * gdk/win32/makefile.cygwin
10425         * gtk/makefile.cygwin: If we don't have the build number stamp
10426         file, use zero.
10427
10428         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10429         gtk_paned_set_gutter_size as empty.
10430
10431         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10432         
10433 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10434
10435         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10436           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10437           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10438           docs/gtk_tut.sgml docs/gtk.texi TODO:
10439
10440           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10441
10442 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10443
10444         * gtk/gtkcalendar.c: Implement num_marked_dates,
10445           and don't emit mutiple day_selected signals on
10446           month_prev.
10447
10448 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10449
10450         * docs/make-todo (lineno): let title and logo be configurable so
10451         that GNOME can use this script too.
10452
10453         * TODO.xml: added logourl and a title
10454
10455 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10456
10457         * TODO.xml: Added some UI items, and an explanatory
10458         comment at the top of the file.
10459
10460 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10461
10462         * TODO.xml: some updates, added abunch of new entries.
10463         a note for those fiddeling with this file, when done
10464         with it, invoke:
10465         $ ./docs/make-todo TODO.xml >/dev/null
10466         and correct output errors before comitting changes.
10467
10468 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10469
10470         * TODO.xml: Added XML-structured TODO file.
10471         * docs/make-todo: python script to turn TODO.xml into
10472           pretty XML output. 
10473
10474 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10475
10476         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10477         the function to let it draw the seven dots, instead of the old,
10478         much maligned, method.
10479         (draw_dot): New function to draw a dot.
10480
10481         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10482         to draw the handle inside the border width as opposed to outside.
10483         Use paint function instead of gdk_draw_point.
10484
10485         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10486         to draw the handle inside the border width as opposed to outside.
10487         Use paint function instead of gdk_draw_point.
10488
10489         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10490         Change indenting to be more GTK like.
10491
10492 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10493
10494         * docs/gtk_tut.sgml: New section on GtkCalendar
10495         * examples/calendar: Update example code
10496
10497 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10498
10499         * docs/gtkfaq.sgml: FAQ Update
10500
10501 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10502
10503         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10504         to prevent the scroll event to be propagated upwards.
10505
10506 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10507
10508         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10509         OwnerGrabButtonMask from button entries for
10510         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10511
10512         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10513         to the event mask (which will result in button/press release
10514         being added to the event mask on Unix) so scrolling works
10515         for layouts in scroll windows.
10516
10517         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10518
10519         Patch from Anders Carlsson  <andersca@gnu.org> to add
10520         a scroll event.
10521
10522         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10523         scrolling to the "Test Scrolling" part of testgtk.
10524  
10525         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10526  
10527         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10528         it against GDK_SCROLL.
10529  
10530         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10531         way of mouse wheel scrolling.
10532  
10533         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10534  
10535         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10536  
10537         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10538  
10539         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10540         gdk_event_mask_table.
10541  
10542         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10543         GdkEventScroll handler.
10544  
10545         * gdk/gdkevents.h: Added GdkEventScroll structure.
10546  
10547 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10548
10549         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10550         and Anders Carlsson to change the Paned widgets so that they
10551         can be dragged from anywhere along the length. Also change
10552         the way that this is drawn to make this apparent.
10553
10554         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10555         from George Lebl to check that option_menu->menu is present
10556         before getting history.
10557
10558 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10559
10560         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10561         before the assertion for non-NULL segment list.
10562
10563         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10564         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10565         machine, but it might be display driver dependent. Sigh, so make
10566         sure the stipple is that size. Does Windows suck or what?
10567
10568         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10569         places.
10570
10571 2000-02-13  Havoc Pennington  <hp@pobox.com>
10572
10573         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10574         refcount to 1
10575         (gdk_cursor_new): init refcount to 1
10576
10577         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10578
10579 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10580
10581         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10582         so that we don't have to do unnecessary settings to the HDC.
10583
10584         * gdk/win32/gdkdrawable-win32.c
10585         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10586         gdk_gc_predraw.
10587
10588         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10589         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10590         GDI paths, call WidenPath to get the outline of the stroken path,
10591         and then fill the outline (with the brush that was built from the
10592         stipple).
10593
10594         * gdk/win32/gdkgc-win32.c: Factor out common code from
10595         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10596         gdk_win32_gc_values_to_win32values. Use correct colour for
10597         SetBkColor() (Until now the code actually used a random colour in
10598         the call to SetBkColor()... but that didn't show up as not many
10599         GDI APIs use the background colour. Pattern (opaque stippled)
10600         brushes do.)
10601
10602         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10603         gdk_win32_api_failed): New functions for error logging.
10604
10605         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10606         WIN32_API_FAILED to call them, passing function or file name and
10607         line number.
10608
10609         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10610
10611         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10612         GdkColor for foreground and background in GdkGCWin32Data.
10613
10614         * gdk/makefile.cygwin: Link in the resource object separately.
10615
10616         * gdk/win32/rc/gdk.rc
10617         * gtk/gtk.rc (New file)
10618         * gdk/win32/makefile.cygwin
10619         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10620         as in GLib.
10621
10622 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10623
10624         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10625         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10626         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10627         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10628         parameters given and cursor->ref_count. coding style fixups.
10629
10630         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10631         not GtkWidget.
10632         
10633         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10634         fix up widget macros and add _GET_CLASS() variant.
10635         
10636         * gtk/*.c: some GtkType fixups.
10637
10638 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10639
10640         * gdk/win32/gdkproperty-win32.c
10641         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10642         were reversed.
10643
10644 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10645
10646         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10647         g_filename_to_utf8 to convert the font names Windows gives us from
10648         whatever is the default codepage to UTF-8.
10649         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10650         in the other direction.
10651
10652         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10653         error in debugging output.
10654
10655 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10656
10657         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10658         and height parameters to gdk_window_clear_area(). Not minus one.
10659
10660 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10661
10662         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10663         checks if the widget passed to gtk_drag_get_data() was not the
10664         dest widget.
10665
10666 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10667
10668         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10669         g_filename_from_utf8 functions (which were added a moment ago to
10670         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10671         size buffers.
10672
10673         gtk_file_selection_get_filename returns the filename in the C
10674         runtime encoding. It calls g_filename_from_utf8, but copies the
10675         returned string to a static buffer, which is returned. I think
10676         this is better than returning the result from g_filename_from_utf8
10677         directly, which would mean all apps that use it would have to free
10678         the return value. Or should this function care about this issue at
10679         all? Maybe a new function with clearly defined semantics.
10680
10681         * gtk/gtkfilesel.h: Add comment about
10682         gtk_file_selection_get_filename returning the filename in the C
10683         runtime's encoding.
10684
10685         * README.win32
10686         * gdk/gdk.def
10687         * gdk/makefile.{cygwin,msc}
10688         * gtk/gtk.def: Updates.
10689
10690         * gdk/gdkcursor-win32.c: Initialise refcount.
10691
10692 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10693
10694         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10695
10696 2000-01-30  Havoc Pennington  <hp@pobox.com>
10697
10698         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10699         destroy
10700
10701         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10702
10703         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10704         implemented in platform-specific code
10705
10706         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10707
10708         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10709         underscore in front
10710
10711         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10712         put an underscore in front
10713
10714         * gdk/gdkcursor.c: new file, implements
10715         gdk_cursor_ref/gdk_cursor_unref
10716
10717         * gdk/gdkcursor.h: Refcount GdkCursor
10718
10719         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10720
10721 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10722
10723         * gdk/gdkwindow.h
10724         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10725
10726 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10727
10728         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10729         structures to properly inherit from GtkWidget not GtkBin.
10730
10731 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10732
10733         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10734         (bug #5178 - Peter Wainright)
10735         
10736         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10737         so that it will be installed.
10738         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10739
10740 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10741
10742         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10743         for the GtkStyleClass vtable const.
10744
10745         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10746         take a const string argument like GtkTranslateFunc. This will
10747         require changes in use code.
10748
10749 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10750
10751         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10752         semantics (to mimic the X11 backend, which just calls XClearArea)
10753         is to check for zero width (and height), and in that case use the
10754         window's width minus x (height minus y). This fixes for instance
10755         some redraw problems with gtkclist, which were easily noticeable
10756         in the gtk file selection widget.
10757
10758         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10759         windows.
10760
10761 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10762
10763         * configure.in
10764         * gdk/Makefile.am
10765         * gdk/x11/Makefile.am
10766         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10767         (bug #5177).
10768         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10769         out later.
10770
10771 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10772
10773         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10774         WM_MOVE for iconified or invisible windows. This fixes various
10775         problems when minimising windows. Thanks to Bernd Herd.
10776
10777 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10778
10779         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10780         backend's draw_lines method, not draw_points.
10781
10782 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10783
10784         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10785         before Owen's reorganisation: Don't have queued_events and
10786         queued_tail statics in this file, but use gdk_queued_events and
10787         gdk_queued_tail. This makes exposure event compression work again.
10788
10789         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10790         seem to be needed?
10791
10792 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10793
10794         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10795         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10796         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10797         doesn't do anything.
10798
10799         * gdk/gdk.def: Add gdk_xid_table_insert.
10800
10801         * gdk/win32/gdkprivate-win32.h
10802         * gdk/win32/gdkevents-win32.c
10803         * gdk/win32/gdkinput-win32.c
10804         
10805         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10806         extension_events field in the GdkWindowWin32Data struct. Use only
10807         the extension_events field in GdkWindowPrivate. Previously one was
10808         set, and the other one tested, which broke tablet
10809         functionality. Thanks to Keishi Suenaga for pointing this out.
10810
10811 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10812
10813         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10814         When handling a single character (text length == 1), don't handle
10815         it as if it was UTF-8.
10816
10817 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10818
10819         * Makefile.am: Distribute README.win32.
10820         
10821         * gdk/Makefile.am
10822         * gdk/win32/Makefile.am: Distribute Win32 files.
10823
10824         * gdk/makefile.msc: New file.
10825
10826         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10827         after label).
10828
10829         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10830         gdk_error_code as GDKVAR, as they are referred outside GDK.
10831
10832         * gdk/win32/makefile.msc: Update.
10833
10834         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10835         tweaks. Check only if at least one of those Unicode subrange bits
10836         we care for is set. If no code page bits are set, guess (wildly)
10837         based on the charset.
10838
10839         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10840
10841         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10842         non-NULL.
10843
10844         * gtk/gtkdnd.c
10845         * gtk/gtklayout.c
10846         * gtk/gtkplug.c
10847         * gtk/gtkselection.c
10848         * gtk/gtksocket.c
10849         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10850         appropriate. There must be a cleaner way to handle this?
10851
10852         * gtk/gtkrc.c: Must include windows.h on Win32.
10853
10854         * gtk/testgtk.c: No need to include gdkx.h.
10855
10856         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10857
10858 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10859
10860         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10861         the rbearing is set to the same as the width, but this should be
10862         fixed.
10863
10864 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10865
10866         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10867         function. If Windows doesn't tell us what Unicode subranges a font
10868         covers, guesstimate based on the codepages it covers. This will
10869         hopefully help those Windows versions or fonts that don't give us
10870         any useful Unicode subrange information with GetTextCharsetInfo.
10871         Call this function in gdk_font_load_internal.
10872
10873         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10874         minor changes.
10875
10876 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10877
10878         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10879         New function, long needed.
10880
10881 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10882
10883         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10884         only_if_exists argument of gdk_atom_intern to
10885         bool.
10886
10887 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10888
10889         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10890         Fix two copy&paste errors.
10891
10892         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10893         win32 has changed.
10894
10895         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10896         GdkWin32SingleFont struct.
10897
10898         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10899         subranges of loaded fonts. Clear font signature first, in case
10900         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10901         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10902
10903         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10904         Unoffset clip region.
10905
10906 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10907
10908         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10909         event->any.window before calling filter functions.
10910
10911 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10912
10913         * gtk/gtkgamma.h: Adapt cast macros to standard.
10914
10915 [ Merges from 1.2 ]
10916
10917 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10918
10919         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10920         If translation does not include a '/', use entire
10921         translation instead of crashing.
10922
10923 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10924
10925         * docs/gtk_tut.sgml:
10926         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10927
10928 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10929
10930         * gtk/gtkselection.c (gtk_target_list_remove): Use
10931         g_list_remove_link, not g_list_remove.
10932
10933         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10934         
10935 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10936
10937         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10938         statement upon unselection (how the heck did that slip in?).
10939
10940 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10941
10942         * gtk/gtktext.c (gtk_text_freeze): 
10943         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10944         in frozen state (and aparently crashes). patch provided by Anders
10945         Melchiorsen <and@kampsax.dtu.dk>.
10946
10947 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10948
10949         * fix insensitive default/focus widget activation,
10950         reported by Matt Goodall <mgg@isotek.co.uk>.
10951
10952         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10953         (gtk_window_activate_default):
10954         (gtk_window_activate_focus):
10955         return handled=FALSE for actiavtion of insensitive default
10956         widgets. return handled=TRUE for activation of insensitive
10957         focus widgets. don't activate in either case.
10958
10959 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10960
10961         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10962         and $glib_cflags to match library order and in the
10963         theory that an old version of GLib is more likely to
10964         be in the include directory for X then vice-versa.
10965         (Bug #2776)
10966
10967 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10968
10969         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10970         to determine the locale for fontsets, not LC_MESSAGES;
10971         the user may want English messages with a handling
10972         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10973         will still be broken) (Bug #2891)
10974
10975 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10976
10977         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10978
10979 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10980
10981         * gtk/gtkrc.ko: Changed the Korean default fontset.
10982
10983 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10984
10985         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10986         where when scrolling to the left or top double exposes
10987         were done, causing major slowdowns.
10988
10989 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10990
10991         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10992         names to lowercase and alphanumeric, before looking
10993         them up.
10994
10995         * gtk/Makefile.am: Install codeset variant gtkrc files
10996         with normalized names.
10997
10998 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10999
11000         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11001         popup menus when the menu is already visible, but its parent
11002         is still hidden, (happens after tornoff window got hidden).
11003
11004 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11005
11006         * gtk/Makefile.am (install-data-local): Fix
11007         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11008         deleted, causing error messages on install.
11009
11010 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11011
11012         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11013         the handle as well, since we now sometimes ignore
11014         exposes on the handle while resizing.
11015
11016 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11017
11018         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11019         extra g_free introduced in one of the last one or two 
11020         commits.
11021
11022 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11023
11024         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11025         consistent, put each style that a gtkrc.* file creates
11026         in a unique namespace, remove old files before installing.
11027
11028 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11029
11030         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11031         gtk_rc_init is called multiple times. (Yes, people who
11032         do that have bugs in their code.)
11033
11034 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11035
11036         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11037         Remove it since it's generated by the Makefile anyway
11038
11039 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11040
11041         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11042         device->info.axes for core pointer.
11043
11044 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11045
11046         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11047         idle_id, to deal with obsolete, broken C libraries.
11048
11049 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11050
11051         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11052         allocation->x/y twice!
11053
11054         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11055         consistent with gtk_vscale_pos_trough().
11056
11057 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11058
11059         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11060         be queueing a resize on a toplevel container between
11061         the time we show it and when we map it. So, we need
11062         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11063         use GTK_WIDGET_DRAWABLE() for child windows.
11064
11065 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11066
11067         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11068         (fixes bug #2144)
11069
11070 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11071
11072         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11073         container DRAWABLE (instead of VISIBLE), so we don't queue
11074         resizes on non-toplevel containers.
11075
11076 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11077
11078         * gtk/gtkselection.[ch]: Make the data argument
11079         const guchar *.
11080
11081 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11082
11083         * gtk/gtkwindow.c: Try to behave sensibly if 
11084         the focus widget is the window itself. (Should
11085         we allow this at all?)
11086
11087 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11088
11089         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11090         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11091         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11092         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11093         in prototypes and implementations consistent (Tomas Ogren).
11094
11095         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11096         before the widget is unparented (reported by damon).
11097
11098         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11099         since we provide unsigned data anyways.
11100
11101 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11102
11103         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11104         the call to gtk_tooltips_layout_text() until later.
11105
11106         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11107         Call gtk_widget_ensure_style() before using the style.
11108
11109 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11110
11111         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11112         for old widgets that don't propagate draws to all
11113         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11114
11115 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11116
11117         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11118         for a redraw but just the widget that requested the resize.
11119
11120 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11121
11122         * gtk/gtkcontainer.c: added new widget level method
11123         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11124         reallocate_redraws : 1 to reflect the setting, exported this through
11125         the argument system as a boolean ::reallocate_redraws.
11126
11127         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11128         on the widget because the allocation changes, do so as well for
11129         widget->parent if the parent has reallocate_redraws set to TRUE.
11130         with that containers requesting reallocation redraws get automatically
11131         redrawn if their children changed allocation (this unfortunately
11132         affects also other children that didn't change allocation, but we
11133         cannot work around that before 1.3).
11134
11135 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11136
11137         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11138         _and_ height are >0 (not _or_).
11139
11140         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11141         instead of gtk_container_queue_resize(), which is a core gtk internal
11142         function (must have been on crack when i queued that).
11143
11144         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11145         we can check more reliably if we want to discard expose events.
11146         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11147         flag.
11148         
11149         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11150         we simply trust these events. for deciding whether to discard exposes,
11151         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11152         
11153 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11154
11155         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11156         queues of areas that are completely off screen.
11157
11158         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11159         logic for handleboxes.
11160
11161         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11162         check on width/height.
11163
11164 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11165
11166         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11167         we are fine with using $@ the way we do (if we actually encounter
11168         brokeness with $@ in VPATH builds because of additional path prefixes,
11169         we need to use $(@F) actually).
11170
11171 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11172
11173         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11174         short lived bugs, that would allow language bindings to do surgeries
11175         to our guts.
11176
11177 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11178
11179         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11180         where comparison was being done against an uninitialized
11181         value causing intermittant results depending on
11182         compiler flags. Also make it clearer that we aren't
11183         ever initializing the child as 0x0 (though this will
11184         be caught in gtk_widget_size_allocate())
11185
11186 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11187
11188         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11189         gtk_window_unset_transient_for() call after we do checks
11190         involving the old transient parent.
11191         [ From Lance Capser <lmc@cyberhighway.net> ]
11192
11193 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11194
11195         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11196         an empty file.
11197
11198 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11199
11200         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11201         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11202
11203 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11204
11205         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11206         `$@' is valid only in the build dir, not after we've done 
11207         `cd $srcdir'.  Also use `test -f' instead of less portable
11208         `test -e'.
11209
11210 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11211
11212         * gtk/gtktext.c (correct_cache_insert): Rewrite
11213          for simplicity, and hopefully correctness.
11214          (Fixes bug #1322, which was a segfault when
11215           on some insertions with the properties around
11216           the insertion set up just wrong.)
11217
11218         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11219          a "changed" signal, clamp the new value to the adjustment
11220          bounds to avoid segfaulting if someone tries to change
11221          the adjustment to a bogus value. (Bug #1795)
11222
11223 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11224
11225         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11226         for children, for toplevel windows handle them
11227         like delete_event.
11228
11229         * gtk/gtkplug.c: Add an unrealize handler so that
11230         we unref plug->socket_window when we are done
11231         with it.
11232
11233 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11234
11235         * gtk/gtktext.c (clear_area): Fix stupid signedness
11236          problem that was causing background to sometimes
11237          be misaligned.
11238
11239 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11240
11241         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11242         
11243         * gtk/gtkmenu.c (gtk_menu_position): Make
11244          sure we never position menus with negative x, y,
11245          since gtk_widget_set_uposition() can't handle that.
11246
11247         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11248          Modify the positioning code a bit so that we always
11249          put the top-left corner onscreen. (This is for
11250          UI reasons, gtk_menu_position() now takes care of
11251          gtk_widet_set_uposition() brokeness.)
11252
11253 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11254
11255         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11256
11257 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11258
11259         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11260           RC style that is passed in. The lack of the ref
11261           before was a bug. If people worked around this
11262           bug, this will introduce a slight memory leak
11263           in their code. The code should typically look like:
11264
11265             rc_style = gtk_rc_style_new ();
11266             [...]
11267             gtk_widget_modify_style (widget, rc_style);
11268             gtk_rc_style_unref (rc_style);
11269
11270         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11271           the style if it was already set.
11272
11273         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11274           style if it was set before.
11275
11276 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11277
11278         * gtk/testgtk.c (main): Add a check to see if we
11279           are being run from the correct directory and
11280           to quit nicely if we are not.
11281
11282         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11283           static.
11284
11285 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11286
11287         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11288
11289         * gtk/gtkwindow.c:
11290         queue resizes unconditionally (gtk_widget_queue_resize will figure
11291         what to do if the window is not realized).
11292         (gtk_window_move_resize): only recenter the window
11293         for GTK_WIN_POS_CENTER_ALWAYS.
11294         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11295         the same way as GTK_WIN_POS_CENTER.
11296
11297 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11298
11299         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11300         with (!(info->last_flags & GDK_HINT_POS)) instead of
11301         (!info->last_flags & GDK_HINT_POS).
11302
11303         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11304         new_height unconditionally, because we use these values even if
11305         !default_size_changed && !hints_changed.
11306         comented the (default_size_changed || hints_changed) case with
11307         respect to resize rejects from the window manager.
11308
11309         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11310         in the zvt condition hack, since this includes the window hints, set
11311         the hints after the handling_resize case.
11312
11313         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11314         window is initially shown with to the geometry.
11315
11316 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11317
11318         * gtk/gtkwindow.c (gtk_window_move_resize):
11319         s/size_changed/default_size_changed/g so i know what's
11320         really going on (frying brain on smaller flame now).
11321
11322 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11323
11324         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11325         we have size_changed upon handling_resize. this is a gross
11326         workaround for the broken zvt widget and should be removed in
11327         1.3 again (search for FIXME).
11328         Owen provided an accurate comment for this:
11329
11330         /* We could be here for two reasons
11331          *  1) We coincidentally got a resize while handling
11332          *     another resize.
11333          *  2) Our computation of size_changed was completely
11334          *     screwed up, probably because one of our children
11335          *     is broken. It's probably a zvt widget.
11336          *
11337          * For 1), we could just go ahead and ask for the
11338          * new size right now, but doing that for 2)
11339          * might well be fighting the user (and can even
11340          * trigger a loop). Since we really don't want to
11341          * do that, we requeue a resize in hopes that
11342          * by the time it gets handled, the child has seen
11343          * the light and is willing to go along with the
11344          * new size. (this happens for the zvt widget, since
11345          * the size_allocate() above will have stored the
11346          * requisition corresponding to the new size in the
11347          * zvt widget)
11348          *
11349          * This doesn't buy us anything for 1), but it shouldn't
11350          * hurt us too badly, since it is what would have
11351          * happened if we had gotten the configure event before
11352          * the new size had been set.
11353          */
11354
11355 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11356
11357         * gtk/gtkrc.c: deal properly with the fact that RC
11358           style lists may include rc styles more than once.
11359
11360         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11361           unused static function.
11362
11363         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11364           stack of directories of RC files currently being
11365           parsed and implicitely add them to pixmap path.
11366           
11367           This fixes a bug where the directory would get
11368           appended then overwritten by pixmap_path declarations.
11369
11370           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11371
11372         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11373           theme's exit function. (Patch from Peter Wainwright,
11374           bug #1454)
11375
11376         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11377           Add a destroy() handler to take care of removing
11378           group for menu item. (Fixes bug #1197)
11379
11380         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11381           in warning message.
11382
11383 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11384
11385         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11386         roundtrip to figure window's width and height, since we know that
11387         anyways from widget->allocation.
11388
11389 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11390
11391         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11392           the hints after we request the new size.
11393
11394 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11395
11396         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11397           GTK_WIDGET_REALIZED() assertion - we can compute the
11398           hints before we are realized.
11399
11400         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11401           hint changing so that we have a value of hints_changed
11402           when we decide whether to constrain the window size.
11403
11404         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11405
11406         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11407         change back to G_MAXINT.
11408
11409 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11410
11411         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11412         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11413         contain uncluttered values.
11414         (gtk_window_compute_hints): simply assert that window is realized
11415         and that geometry_info is valid, since we rely on this anyways.
11416         (gtk_window_constrain_size): major cleanups to the code.
11417         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11418         for the base size, instead of the minimums. use 32767 as max width
11419         and height (like in gtkwindow.c) instead of G_MAXINT.
11420
11421 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11422
11423         * cleaned up the GtkContainer.need_resize flag handling mess, we
11424         only need to force resize requests when we were prematurely
11425         realized, or our widget tree was modified when we were temporarily
11426         hidden. handling these cases directly upon showing the window (i.e.
11427         while the GdkWindow is still unmapped) avoids the need to wait for
11428         a configure event response and therefore makes the GUI more snappier
11429         and avoids blank windows during the roundtrip.
11430
11431         * gtk/gtkwidget.c:
11432         (gtk_widget_hide): 
11433         (gtk_widget_show): don't queue resizes on toplevels, they know how
11434         to deal with matters.
11435
11436         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11437         flag directly for not visible resize containers and spare us unecessary
11438         signal emissions.
11439
11440         * gtk/gtkwindow.c:
11441         (gtk_window_realize): if we need to enforce premature size allocation,
11442         queue a container resize so we are correctly resized later on.
11443         (gtk_window_init):
11444         (gtk_window_size_request):
11445         don't freak around with the ->need_resize flag,
11446         gtk_container_queue_resize() will care about that.
11447         (gtk_window_show):
11448         handle initial resizing issues here, we can handle matters better in
11449         this place, especially since we know that our GdkWindow is still
11450         unmapped.
11451         (gtk_window_move_resize):
11452         don't care about ->need_resize at all.
11453         handle size changes properly that occoured while we waited for a
11454         configure event.
11455
11456 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11457
11458         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11459         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11460         Move the hint setting code from gtk_widget_set_uposition
11461         to here; set the hints so that we respect any previously
11462         set geometry hints.
11463
11464         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11465         change the window hints here or move the window here,
11466         let that happen in gtk_window_move_resize().
11467
11468 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11469
11470         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11471         to already queued resizes (and therefore redraws) on a widget, check
11472         its anchestry as well.
11473
11474         * gtk/gtkcontainer.c:
11475         (gtk_container_queue_resize): clear resize widgets for resize
11476         containers before aborting prematurely. this is especially important
11477         for toplevels which may need imemdiate processing or their resize
11478         handler to be queued.
11479         (gtk_container_dequeue_resize_handler): added new internal function for
11480         gtkwindow.c.
11481
11482         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11483         configure event, take possible changes in window position into account
11484         as well.
11485         if we request a new window size, queue up a resize handler that will
11486         last until the configure event response arrives.
11487         combined the ->need_resize case (initial show) with the general size
11488         (hints) changed case and added even more comments.
11489         if !auto_shrink, only revert to the old allocation if the new size
11490         is smaller than the current allocation.
11491
11492 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11493
11494         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11495                            gtk_window_set_geometry_hints
11496                            gtk_window_set_default_size):
11497         When hints are set, queue a resize so that the hints will
11498         be eventually reset on the toplevel.
11499
11500         * gtk/gtkwindow.c (gtk_window_show): Use
11501         gtk_window_compute_default_size(). Clear the need_resize flag
11502         on the initail map so that we don't unnecessarily trigger the
11503         resize code.
11504
11505         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11506         into separate functions. Compare the hints we are setting
11507         with what we set last time so that we can accurately
11508         tell when we need to reset the hints.
11509
11510         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11511         function to figure out the size from requisition
11512         and default_size.
11513
11514         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11515         from fvwm to constrain a size to the geometry hints.
11516
11517         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11518         to compare two sets of geometry hints.
11519
11520         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11521         from gtk_window_set_hints(), just compute the hints,
11522         don't set them.
11523
11524         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11525         code from gtk_window_move_resize() to separate function,
11526         rationalize a bit.
11527
11528 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11529
11530         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11531         structure into a new private structure.
11532
11533         * gtkrc.c: Split GtkRcStyle into public/private.
11534         In the private part, add a list of pointers to the
11535         RcStyle lists this RcStyle participates in.
11536
11537         * gtkrc.c: When a RcStyle is free, remove all
11538         lists referencing it from the 
11539         realized_style_ht hash, and free those lists.
11540         
11541         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11542         gtk_rc_init(), since that adds the default styles
11543         to the list of parsed RC files again.
11544
11545         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11546         
11547 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11548
11549         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11550         checks that ensure that a widget's allocation is at least 1 in width
11551         and height. (GNOME note: this doesn't affect old panel code anymore,
11552         because GtkSocket will request width and height of at least 1 since
11553         Fri Jul 23).
11554
11555         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11556         allocated yet (happens if the user realizes the window prematurely),
11557         size request and allocate it.
11558         (gtk_window_size_allocate): guard against guint underflows.
11559
11560 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11561
11562         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11563         in gtk_built_sources, so gtk.defs gets built prior to all other
11564         sources.
11565
11566 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11567
11568         * gtk/Makefile.am:
11569         invoke indent on gtkmarshal.*. 
11570         rewrote source generation rules, use COPYING as oldest source tag for
11571         a piggyback rule to generate all sources from (don't touch it ;).
11572         major cleanups, strip spaces on build rules for GNU Make.
11573
11574         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11575         source and target files from commandline arguments. don't invoke indent.
11576
11577 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11578
11579         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11580         notebook after switch to avoid drawing problems.
11581         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11582         
11583         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11584         show them instead. 
11585         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11586
11587 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11588
11589         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11590         notebook after switch to avoid drawing problems.
11591         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11592         
11593         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11594         show them instead. 
11595         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11596
11597 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11598
11599         * gtk/gtkwindow.c:
11600         we use window->need_resize from configure_event now, to indicate that
11601         the gtkwindow should keep its allocation (e.g. because the user resized
11602         the window through window manager handles). resize_count is now reliably
11603         used to figure whether we got the allocation we requested from the
11604         window manager.
11605         configure events get queued as resizes now, the real stuff (size
11606         computation and allocation) now only goes on in gtk_window_move_resize().
11607         GtkWindow's requisition now contains its *real* requisition (like all
11608         other widgets), *not* taking usize into account.
11609         geometry_info->last_{width|height} is now updated from set_hints() only
11610         so it always contains the last hints we set for the window manager.
11611         made some event handlers return TRUE instead of FALSE.
11612         the overall code should be much more straight forward now, and the
11613         significant code portions are accompanied by comments now.
11614         (gtk_window_set_hints):
11615         removed requisition argument and made it
11616         fetch the requisition through gtk_widget_get_child_requisition.
11617         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11618         does that now.
11619         (gtk_window_show):
11620         ensure that the widget is realized before calling 
11621         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11622         ensure that we got properly size requested and allocated before
11623         realization.
11624         (gtk_window_configure_event):
11625         ignore plain window moves, or reallocate the widget tree through the
11626         resize queue otherwise.
11627         (gtk_window_move_resize):
11628         mostly rewrote this function to figure window manager hints more
11629         reliably, coalesce window moves and resizes to reduce configure events
11630         and do actuall size allocations.
11631
11632 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11633
11634         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11635         that have a resize pending, because a redraw is already queued for them.
11636
11637         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11638         hack to clear resize_widgets.
11639
11640         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11641         for resize containers prior to size allocation. (this is also a bit
11642         ugly, but avoids side effects for stopped emissions and is thus more
11643         reliable).
11644         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11645
11646         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11647         function from gtk_tooltips_expose, as we connect to ::expose_event
11648         *and* ::draw now.
11649
11650 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11651
11652         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11653         checks.
11654         (gtk_target_list_unref): Likewise.
11655
11656         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11657
11658 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11659
11660         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11661         guard against division by zero. (Fixes bug #1339)
11662
11663 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11664
11665         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11666         Prevent the trivial leak of information of allowing
11667         word motion when the entry is not visible.
11668
11669 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11670
11671         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11672         modality to error dialog as well as confirmation dialogs.
11673         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11674
11675 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11676
11677         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11678         tree->view_lines.
11679         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11680
11681         * gtk/Makefile.am (install-data-local): Solaris apparently
11682         has various troubles with ln -f; use rm first instead.
11683         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11684
11685 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11686
11687         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11688         use `cp' followed by `rm' (the `rm' was already there).
11689
11690 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11691         
11692         * configure.in: Fix autoconf warnings about cross compilation by
11693         trying to provide sane defaults for AC_TRY_RUN.
11694         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11695         put them into $(srcdir) when generated. Also add a dependency of
11696         gtksignal.h on gtkmarshal.h for -j builds. 
11697         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11698
11699 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11700
11701         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11702         GDK_THREADS_{LEAVE,ENTER} pair.
11703         (From Paul Fisher <pnfisher@redhat.com>)
11704
11705 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11706
11707         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11708         width and height are always >0 (owen).
11709
11710 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11711
11712         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11713         change that assured that a widget's allocated with and height are
11714         always >1, since this breaks *buggy* panel code. unfortunately this
11715         back-breaks the gimp's color selector.
11716
11717         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11718         allocation is always >0 in width and height, before sending the
11719         configure event; this is a *gross* hack to get the gimp back to work.
11720         
11721         * marked both cases with TODO-1.3
11722
11723 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11724
11725         * gtk/gtktext.c: Don't display wrap indicators when
11726         text is not editable and word wrap is on.
11727
11728 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11729
11730         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11731         option menus here as they are not derived from menu shell, assure that
11732         the option menu has a menu we can add items to.
11733
11734 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11735
11736         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11737         width/height to (gint) before calculations and check against < 0 to
11738         avoid guint wraparounds.
11739
11740 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11741
11742         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11743         width and height is never zero. sanity check both dimensions against
11744         32767 and issue a warning if the allocation is greater than that.
11745
11746 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11747
11748         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11749         to g_main_pending() as well.
11750
11751 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11752
11753         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11754         call to g_main_iteration() - since that will regrab
11755         GTK+ lock to process events.
11756
11757 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11758
11759         * gtk/gtkwindow.c
11760         - Regularize with the rest of GTK+ by making widget->requisition
11761           not reflect the set_usize()
11762         - Always recompute geometry hints, then check if they
11763           changed before sending them to the X server. The
11764           previous checks for changes would fail in a number
11765           of circumstances. 
11766
11767 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11768
11769         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11770
11771 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11772
11773         * gtk/gtkdnd.c:
11774         - Code cleanups
11775         - Instantaneously update on modifier key presses
11776         - Allow cancellation of the drag with Escape.
11777
11778 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11779
11780         * gtk/testgtk.c (create_handle_box): Set the policy
11781         to auto_shrink - otherwise the appearance is rather
11782         strange when flipping between horizontal and vertical.
11783
11784 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11785
11786         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11787         (gtk_window_set_default_size): don't change a value if it's < 0.
11788         queue a resize.
11789
11790 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11791
11792         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11793
11794 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11795
11796         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11797         add an extra "/" when concating "/" + filename.
11798         (From Matt Grossman <mattg@oz.net>)
11799
11800 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11801
11802         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11803         for fg_gc if we set it for drawing pixmap.
11804
11805 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11806
11807         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11808         
11809         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11810         already set, call old engine's destroy function and
11811         unref the old engine.
11812
11813 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11814
11815         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11816
11817 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11818
11819         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11820
11821 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11822
11823         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11824         expand behaviour changed.
11825
11826         * gtk/gtklabel.c (gtk_label_set_pattern):
11827         (gtk_label_set_justify):
11828         (gtk_label_set_line_wrap):
11829         don't bother invoking queue_clear, the reallocation does
11830         that for us, always free_words so the upcoming resize will
11831         relayout the label's contents.
11832
11833 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11834
11835         * applied argument implementation patches from Elena Devdariani
11836         <elena@cogent.ca>.
11837
11838         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11839         ::space_style, ::relief
11840         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11841         * gtk/gtkpreview.c: ::expand
11842         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11843         * gtk/gtknotebook.c: ::homogeneous
11844         * gtk/gtklabel.c: ::wrap
11845         * gtk/gtklist.c: ::selection_mode
11846         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11847         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11848         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11849         * gtk/gtkclist.c: ::sort_type
11850         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11851         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11852
11853 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11854
11855         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11856         comment.
11857
11858 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11859
11860         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11861         counting right when we have to attach a new style
11862         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11863
11864         * gtk/gtkstyle.c: Documented the refcounting
11865         peculularities of gtk_style_attach.
11866
11867 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11868
11869         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11870         window types.
11871
11872         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11873         of GTK_TOPLEVEL for creating the window.
11874
11875 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11876
11877         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11878         the last argument (reported by Per Winkvist).
11879         
11880 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11881
11882         Fixes for invisible XOR lines (Frank Loemker
11883         <floemker@TechFak.Uni-Bielefeld.DE>)
11884         
11885         * gtk/gtkclist.c (gtk_clist_realize): Always use
11886         a non-zero pixel for GDK_XOR.
11887
11888         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11889         Use GDK_INVERT instead of GDK_XOR.
11890
11891 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11892
11893         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11894         signals if h/voffsets differ from adjustment values.
11895         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11896
11897 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11898
11899         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11900         ::selection-done emissions up to the topmost menu shell.
11901
11902 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11903
11904         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11905         the user data on the window before destroying it.
11906
11907         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11908         unrealize handler to take care of destroying 
11909         notebook->panel properly. 
11910         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11911
11912         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11913         of g_new and g_realloc to stop memory leak. (Actually,
11914         we could just use g_realloc(), but I'm not 100% sure
11915         that is portable).
11916         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11917
11918 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11919
11920         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11921
11922         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11923         for fontsets.
11924
11925         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11926         with bin/button confusion.
11927
11928 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11929
11930         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11931         and show how preselection of radio items is done.
11932
11933 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11934
11935         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11936         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11937         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11938         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11939         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11940         * gtk/gtktable.c (gtk_table_attach): 
11941         * gtk/gtklist.c (gtk_list_insert_items): 
11942         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11943         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11944         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11945         * gtk/gtkbin.c (gtk_bin_add): 
11946         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11947         * gtk/gtkfixed.c (gtk_fixed_put): 
11948         * gtk/gtklayout.c (gtk_layout_put):
11949         general fixups to container_add logic. always realize child if
11950         child->parent is realized, only map the child and queue a resize
11951         if child and child->parent are both visible.
11952
11953 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11954
11955         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11956         instead of gtk_container_foreach to walk and unrealize children, so
11957         composite children get also unrealized.
11958         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11959         (gtk_widget_map): assert that the widget is visible (basic constrain).
11960         (gtk_widget_real_map): assert that the widget is realized (basic
11961         constrain).
11962
11963 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11964
11965         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11966
11967 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11968
11969         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11970         file for iso-8859-2 locales.
11971
11972         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11973
11974 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11975
11976         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11977          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11978          Remove some suspicious and useless lines. 
11979
11980 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11981
11982         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11983         width,height = 0, 0 to mean - here to edge of window,
11984         instead of -1, -1, since the former is all we support.
11985
11986 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11987
11988         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11989         when removing from quit_functions list.
11990
11991 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11992
11993         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11994
11995 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11996
11997         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11998          When redrawing characters on non-visible entry, use appropriate
11999          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12000
12001 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12002
12003         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12004         from drag coordinates.
12005         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12006         use drag_dest_cell.
12007
12008         * gtk/gtktree (drag_dest_cell)
12009         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12010         (Bug #1129)
12011
12012 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12013
12014         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12015         translate_* fields.
12016         (gtk_item_factory_finalize): invoke translate_notify independant from
12017         translate_data.
12018         (gtk_item_factory_set_translate_func): likewise.
12019         (gtk_item_factory_destroy): only remove ifactory pointer from those
12020         widgets that belong to us (stupid me).
12021
12022 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12023
12024         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12025         rc_style list when lookup succeeeds.
12026
12027 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12028
12029         * gtk/gtkctree.c (resync_selection): 
12030         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12031         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12032         bug.
12033
12034 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12035
12036         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12037         Add some missing GDK_THREADS_ENTER()/LEAVE around
12038         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12039
12040 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12041
12042         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12043         rather than emit_by_name.
12044
12045         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12046         on the widget across multiple signal emissions.
12047         (gtk_editable_delete_text): same here.
12048         (gtk_editable_class_init): set widget_class->activate_signal after
12049         editable_signals[ACTIVATE] has been created.
12050
12051 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12052
12053         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12054         position here prematurely -- we might not have the
12055         right ->min_position and ->max_position yet.
12056
12057 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12058
12059         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12060         Add error traps so if the other end of the connection
12061         dies, we survive.
12062
12063         * gtk/gtkselection.c (gtk_selection_notify): Clean
12064         up properly when selection property retrieval fails.
12065         
12066         * gtk/gtkselection.c (gtk_selection_request): Correctly
12067         reject SelectionRequest notifies where the handler
12068         returns no data.
12069
12070 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12071
12072         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12073         when we've previously highlighted.
12074
12075         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12076         emit two "drag_leave" signals for Motif drops.
12077
12078         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12079         back the correct status messages when dropping from
12080         Motif onto a proxy window that is rejecting the
12081         drop.
12082
12083 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12084
12085         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12086         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12087         to compare two argument values. added gtk_arg_to_valueloc() to set a
12088         variable from an arg through its location (pointer).
12089
12090         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12091         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12092         as gfloat*, uchars are collected as guchar*, ints are collected as
12093         gint*, etc...
12094
12095 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12096
12097         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12098         Include <string.h> instead of <strings.h>.
12099
12100         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12101         (actually, a lot more duplicate includes occur if
12102          you trace through the sequence of #include's)
12103         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12104         
12105 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12106
12107         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12108         gtk-a-higuti-990322-[0-3]
12109
12110         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12111         that was causing -DX_LOCALE not to work.
12112
12113         * gtk/gtkrc.c (gtk_rc_init):
12114         X_LOCALE will never have LC_MESSAGES defined
12115
12116 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12117
12118         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12119         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12120
12121         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12122         left/right as well (gtk-michael-980726-0.patch.gz).
12123
12124         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12125         for pointer values, use gchar instead of char. fixed uline allocation
12126         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12127         chunks instead of G_ALLOC_ONLY.
12128         (gtk_label_size_request): always alter requisition as passed and leave
12129         widget->requisition alone.
12130         (gtk_label_set_text): allow NULL strings.
12131         (gtk_label_new): likewise.
12132
12133 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12134
12135         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12136
12137 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12138
12139         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12140         *and* mapped (i.e. drawable).
12141         (gtk_bin_expose): only send exposes to drawable children.
12142
12143         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12144         (gtk_box_expose): only send exposes to drawable children.
12145
12146         * gtk/gtkhscale.c (gtk_hscale_draw): 
12147         * gtk/gtkvscale.c (gtk_vscale_draw):
12148         hm, this is an ugly one. we first compute the size of our trough area
12149         here (window relative) and then check intersection with the draw_area
12150         which is parent relative because we're a NO_WINDOW widget, so we need
12151         to offset the trough area by allocation.x and allocation.y before the
12152         check. (this must not be done for the background area though, since
12153         that's already computed parent relative).
12154
12155 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12156
12157         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12158         unrealize title buttons.
12159
12160 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12161
12162         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12163         (gtk_clist_column_title_active): 
12164         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12165
12166         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12167         zero initialize event, removed superfluous gdk_window_get_pointer call
12168
12169         * gtk/gtklist.c (gtk_list_vertical_timeout)
12170         (gtk_list_horizontal_timeout): removed superfluous
12171         gdk_window_get_pointer call
12172
12173 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12174
12175         * plugging problems reported by "Bruce Mitchener, Jr."
12176         <bruce@puremagic.com> due to a purify session.
12177
12178         * gtk/gtkstyle.c:
12179         (gtk_style_ref): 
12180         (gtk_style_unref): assert ref_count to be > 0.
12181
12182         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12183         the requisition.
12184         (gtk_clist_set_shift): likewise.
12185
12186         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12187         adjustments.
12188
12189         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12190         event before sending it and set send_event to TRUE (which needs to
12191         be done for *all* synthesized events).
12192         (gtk_list_vertical_timeout): likewise.
12193
12194         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12195         leaks.
12196
12197         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12198         to TRUE when synthesizing events.
12199
12200 [ *** end of merges from 1.2 *** ]      
12201         
12202 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12203
12204         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12205         (or copied from gdkconfig.h.win32 on Win32, sigh).
12206
12207         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12208
12209         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12210
12211         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12212
12213         * gdk/gdkconfig.h.win32: New file.
12214
12215         * gdk/win32/makefile.cygwin: Build just a static archive here.
12216
12217         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12218         for the DLL from the static archive built above.
12219
12220         * gdk/gdk.def: Moved here from the win32 subdirectory.
12221
12222         * gdk/win32/*: Adapt for the changed private struct organisation.
12223
12224         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12225
12226 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12227
12228         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12229         for wheel mice (buttons 4 and 5).
12230
12231 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12232
12233         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12234         drawables use just the pixel field in the foreground and
12235         background GdkColor of the GdkGC.
12236
12237         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12238         GdkColors containing uninitialized (red,green,blue) fields, and
12239         just the pixel field filled in, and furthermore in the
12240         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12241         It thus turns out that we really don't need to have the full
12242         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12243         it later to have just the pixel values.
12244
12245 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12246
12247         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12248
12249 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12250
12251         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12252         New question on GtkLabel background colors.
12253
12254         * docs/gtk_tut.sgml:
12255           - Correct the example code callback
12256             function definitions.
12257           - Update the gtkdial example code, from Frans van Schaik.
12258           - Update setselection.c to current API.
12259
12260         * examples/Makefile examples/*/*.c: Update to code
12261         listed in tutorial.
12262
12263 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12264
12265         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12266         subrange table (from the "Developing International Software for
12267         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12268         block... Get the loaded font's charset correctly.
12269
12270         (Note that this, and the other *-win32.c files, still really are
12271         the old ones, the win32 subdirectory is not ready for compilation
12272         yet after the reorg.)
12273
12274 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12275
12276         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12277         check.
12278
12279 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12280
12281         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12282         on results of XQueryDeviceState().
12283
12284 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12285
12286         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12287         we need to accesss only ->children. We need an accessor
12288         for the children.
12289
12290         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12291         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12292         to get rid of gdkx.h include.
12293         
12294         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12295         and random references to 'None'.
12296
12297         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12298         Get rid of unused #include <gdk/gdkx.h>
12299
12300         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12301         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12302         gdkconfig.h.
12303
12304 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12305
12306         * gdk/win32/gdkdraw.c
12307         * gdk/win32/gdkfont.c
12308         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12309         following yesterday's changes. (Unrelated to Owen's reorg.)
12310
12311 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12312
12313         * gdk/x11/gdkinput-gxi.c: Add missing include,
12314           fix GdkWindowPrivate => GdkDrawablePrivate.
12315
12316         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12317
12318         * gdk/x11/Makefile.am (xinput_sources): Add missing
12319         backslash to fix building with --with-xinput=none
12320
12321 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12322
12323         Move all X specific code into the x11/ directory.
12324         Aside from shuffling things around, did the following:
12325
12326        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12327          gdk_arg_context_* - a simple argument parsing system
12328          in the style of popt.
12329
12330        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12331          gdk/x11/gdkprivate-x11.h:
12332          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12333          add ->klass and ->klass_data fields. The klass_data
12334          field points to an auxilliary structure that is
12335          windowing system dependent.
12336
12337        * gdk/gdkfont.c: Make most of the measurement functions
12338          simply wrappers around gdk_text_extents().
12339
12340        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12341          _gdk_font_strlen() function that hides the weird
12342          behavior in gtk+-1.[02] where a string is interpreted
12343          differently for 8-bit and 16-bit fonts.
12344
12345        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12346          to store common code for synthesizing double/triple
12347          press events.
12348         
12349        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12350          Make all the function that modify an existing GC
12351          simply wrappers around gdk_gc_set_values().
12352          
12353        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12354          for throwing out later.
12355
12356        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12357          GdkImagePrivate and GdkColormapPrivate to have a
12358          windowing system dependent part (GdkFontPrivateX etc.)
12359          that "derives" from the system-independent part.
12360
12361        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12362          Got rid of the included-source-files for XInput in
12363          favor of automake conditionals. (Which didn't exist
12364          when XInput support was originally added.)
12365
12366        * gdk/gdkrgb.c: Remove the visual id from the debugging
12367          statements since that is X11 specific; print out
12368          type/depth info instead.
12369          
12370
12371 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12372
12373         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12374         loading duplicates of hashed fonts.
12375
12376         * gdk/gdk.c (gdk_keysym_convert_case): rename
12377         gdk_XConvertCase to gdk_keysym_convert_case, allow
12378         results to be NULL in the GTK+ style.
12379
12380         * gdk/gdkcompat.h: Started compatibility header
12381         for renames.
12382
12383 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12384
12385         * gdk/win32/gdkprivate.h: New font private structures, related to
12386         fontsets.
12387
12388         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12389         gdk_font_list_free(). On X11, will just be wrappers to
12390         XListFonts() and XFreeFontNames(). On Win32, the code previously
12391         in gtkfontsel.c is now here.
12392
12393         New function gdk_font_xlfd_create(). On X11 will get the FONT
12394         property of the font (for GDK_FONT_FONTs), or call
12395         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12396         builds a XLFD style name from the font information in the LOGFONT
12397         struct(s).
12398
12399         New function gdk_font_xlfd_free(), which correspondingly frees the
12400         string returned by gdk_font_xlfd_create().
12401
12402         Implement fontsets on Win32. Add a function that iterates over a
12403         wide char string and calls a callback function for each substring
12404         of wide chars from the same Unicode subrange (and thus probably
12405         available in the same real font).
12406
12407         Improve the XLFD emulation a bit.
12408
12409         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12410
12411         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12412         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12413         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12414         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12415         ImmGetCompositionStringW() to get the composed Unicode chars.
12416
12417         * gdk/win32/gdkgc.c
12418         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12419         struct changes.
12420
12421         * gdk/win32/gdk.def: Add the new functions.
12422
12423 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12424
12425         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12426         get the Platform SDK to get <dimm.h>.
12427
12428         * gdk/win32/gdkevents.c: More event handling fixes and
12429         simplification. Never generate motion events with is_hint true. We
12430         used to do that on bogus grounds earlier. Windows sends
12431         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12432         moved, ignore these.
12433
12434         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12435
12436         * gdk/win32/gdkglobals.c
12437         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12438         the TrackMouseEvent function, and use it.
12439
12440         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12441         char before calling WideCharToMultiByte in order to get a string
12442         for the window title.
12443
12444         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12445
12446         * gdk/win32/gdk.def: Remove obsolete functions.
12447
12448         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12449         /nodefaultlib and /defaultlib switches.
12450
12451         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12452
12453 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12454
12455         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12456         EuroSign).
12457
12458         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12459         same type as GdkWChar, especially on Win32.
12460
12461         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12462
12463         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12464         before passing to Windows GDI for drawing etc. Convert to the
12465         system default codepage before passing to Windows as window
12466         titles.
12467
12468         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12469         support changing input locale on the fly.
12470
12471         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12472         on-the-fly changes. Convert incoming characters from the current
12473         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12474         on the current input language. Use keysym<->Unicode mapping tables
12475         and functions borrowed from xterm sources.
12476
12477         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12478         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12479         Manager) if available. IMEs and the Active IMM are available under
12480         the disguise of Chinese, Korean and Japanese support for IE and
12481         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12482         support is present in all editions (as long as you install it).
12483
12484         Call DispatchMessage from gdk_events_queue() (and thus
12485         gdk_WindowProc()), instead of duplicating the code in
12486         gdk_WindowProc().
12487
12488         Reworked the grab handling and propagation code, factored out
12489         duplicated code snippets into separate functions. Other cleanups,
12490         too.
12491
12492         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12493         the <dimm.h> header describing the Active IMM.
12494
12495         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12496         just do the same as for "single" fonts.
12497
12498         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12499         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12500         the new keysyms from gdkkeysyms.h.
12501
12502         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12503         fontset, so that gtkentry uses wide characters.
12504
12505         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12506         GTk+'s system directory "gtk+", not "gtk".
12507
12508 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12509
12510         * docs/gtkfaq.sgml: FAQ update
12511
12512 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12513
12514         * gdk/win32/gdkprivate.h: Add more font private data.
12515
12516         * gdk/win32/gdkfont.c
12517         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12518         fonts and strings. Now works much better. You still have to
12519         have a correct font selected, though. No fontset emulation yet.
12520
12521 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12522
12523         * gtk/maketypes.awk: Use G_OS_WIN32.
12524
12525         * gtk/gtk.def: Add some missing entry points. Also some non-public
12526         ones, but PyGTK porter claims to need them.
12527
12528         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12529         built-in type generation.
12530
12531 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12532
12533         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12534         GDK_FONT_FONT fonts (which is all we have for now, we don't
12535         emulate fontsets). The X11 version uses plain XDrawString in that
12536         case, too. The string passed to gdk_draw_text_wc seems to be in
12537         fact (at least, when used by gtkentry and gtktext) either in a
12538         single-byte charset, or a DBCS. Not Unicode.
12539
12540         This fixes the problem in gtkfontsel, where even if you had
12541         selected a font with a non-Latin1 charset (windows-greek, for
12542         instance), the preview still used Latin-1 glyphs.
12543
12544         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12545         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12546         (gdk_font_load): Recognize the demibold etc weights, even if we
12547         don't have the corresponding constants in the headers.
12548         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12549         version. Should save font resources a bit, when we don't have
12550         multiple HFONTs for the same font.
12551
12552         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12553         version.
12554
12555 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12556
12557         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12558         X values
12559
12560 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12561
12562         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12563         layout support (as mentioned on
12564         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12565
12566 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12567
12568         * gtk/fnmatch.c
12569         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12570
12571 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12572
12573         * configure.in (ALL_LINGUAS): Added Galician (gl)
12574
12575 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12576
12577         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12578
12579         * gdk/win32/gdkcompat.c: New file, actually provide an
12580         implementation for the deprecated functions. (Just temporarily.)
12581
12582         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12583
12584         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12585
12586         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12587
12588 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12589
12590         * configure.in: Added "uk" to ALL_LINGUAS.
12591         
12592 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12593
12594         * configure.in: correct checking for BeOS check
12595
12596         * gdk/gdktypes.h
12597         * gtk/fnmatch.c
12598         * gtk/gtkfilesel.c
12599         * gtk/gtkitemfactory.c
12600         * gtk/gtkmain.[ch]
12601         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12602
12603 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12604
12605         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12606         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12607         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12608         by Bulgarian). 
12609
12610 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12611
12612         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12613         Fix a reference to window_private->destroyed.   
12614
12615         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12616         (ugly) setting of an internal GdkWindow member to use
12617         a _slightly_ cleaner macro.
12618
12619         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12620         GdkDrawablePrivate and GdkWindowPrivate.
12621         Add extra macros for accessing GDK_DRAWABLE_ components.
12622
12623         * *.[ch]: Massive adjustments for the above, use the
12624         new macros in a lot of places.
12625
12626 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12627
12628         * gdk/gdktypes.h: Make GdkDrawable the base type,
12629         not GdkWindow.
12630
12631 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12632
12633         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12634
12635 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12636
12637         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12638
12639 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12640
12641         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12642         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12643
12644         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12645
12646         * docs/gtk-config.1: Now autogenerated.
12647         * docs/Changes-1.4.txt: started
12648         
12649 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12650
12651         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12652         to #ifdef also here.
12653
12654         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12655         Owen did to the X11 backend.
12656
12657         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12658         ScrollWindowEx when blitting inside a window, it can't be correct
12659         in the general case.
12660
12661         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12662         WM_GETMINMAXINFO is easier.
12663
12664         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12665         depth equal to the bitspixel value, not the visual's depth.
12666
12667         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12668         to 24 even if the bitspixel value is 32.
12669
12670         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12671         need to check for depth==32 when bpp==32, depth will always be 24.
12672
12673 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12674
12675         * docs/Changes-1.4.txt: Started
12676         
12677         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12678
12679         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12680         
12681         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12682         into C file.
12683         
12684         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12685         header to gdkinputprivate.h.
12686
12687         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12688         unused since before 1.2.
12689
12690 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12691
12692         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12693         expand possible hex escapes in the font family (put there by
12694         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12695         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12696         On Win32, add hex escapes here, too.
12697
12698 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12699
12700         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12701         to #ifdef GDK_WINDOWING_X11.
12702
12703 [ Merges from gtk-1-2 ]
12704
12705 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12706
12707         * configure.in: fixed "GNU Make" check to pass with new make version
12708         3.77.95.
12709
12710 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12711
12712         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12713         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12714         AM_PATH_GTK() macros don't get confused by the -pre1.
12715
12716 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12717
12718         * configure.in (REBUILD): Change check for perl5
12719           to check explicitely for v >= 5.002. (5.001
12720           does not work with our scripts.)
12721
12722 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12723
12724         * configure.in: evaluate $PERL for the perl version check. added
12725         --disable-rebuilds to give the user an option to completely disable
12726         any source autogeneration rules.
12727
12728 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12729
12730         * configure.in: evaluate $ac_make when checking for GNU Make.
12731
12732 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12733
12734         * docs/Makefile.am: added generation.txt.
12735
12736         * Makefile.am: require automake 1.4, build README from README.in and
12737         INSTALL from INSTALL.in in dist-hook.
12738         
12739         * README.in:
12740         * INSTALL.in: new files to autogenerate README and INSTALL from.
12741
12742         * configure.in: figure whether we have GNU Make
12743
12744         * docs/generation.txt: minor additions/corrections.
12745
12746 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12747
12748         * docs/gtkfaq.sgml: FAQ Update
12749
12750 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12751         
12752         * configure.in: Fix autoconf warnings about cross compilation by
12753         trying to provide sane defaults for AC_TRY_RUN.
12754
12755 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12756
12757         * ltconfig
12758         * ltmain.sh: upgrade to libtool 1.3.3
12759
12760 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12761
12762         * INSTALL: Indicate that the --with-glib= configure
12763         time flag is unsupported.
12764
12765 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12766
12767         * docs/generation.txt: Added a file that gives
12768         documenation about the autogeneration process for
12769         various autogenerated files.
12770         
12771 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12772
12773         * configure.in (LIBS): Look for libgmodule in the
12774         right location.
12775
12776 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12777
12778         * docs/gtk_tut.sgml: Removed references to
12779         code examples in my directory on gtk.org as
12780         they should all be in the tutorial now.
12781
12782         * docs/gtk_tut.sgml: Added sources for dial-test
12783         and scribble-xinput programs that were previously
12784         missing.
12785
12786 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12787
12788         * TODO: Added entry about menu keyboard navigation, removed
12789         some finished items.
12790
12791 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12792
12793         * acinclude.m4: Standardize on func_dgettext
12794         not func_gettext, so that the checks for dgettext
12795         actually are paid attention to.
12796
12797 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12798
12799         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12800         directly, rather than repeating the checks for
12801         gettext.
12802
12803         * INSTALL: Added information about gettext and
12804         NLS support.
12805
12806         * acinclude.m4 (LIBM): Check for dgettext, not
12807         just gettext. This should hopefully fix things wrt
12808         systems with old versions of GNU gettext installed.
12809
12810 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12811
12812         * configure.in (LIBS): Look for libgmodule in the
12813         right location.
12814
12815 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12816
12817         * autogen.sh: add --enable-maintainer-mode
12818
12819         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12820
12821 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12822
12823         * docs/gtk-config.1.in:
12824           docs/Makefile.am:
12825           configure.in: gtk-config is now generated.
12826
12827         * docs/gtk-config.1: Removed, now generated.
12828
12829 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12830
12831         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12832         handle CreateNotify itself, still put out a debuging message for
12833         --gdk-debug=events. made the ReparentNotify debugging message more
12834         verbose.
12835         wrap xcoords translation for ConfigureEvents into an error trap,
12836         a destroy event may already be pending, and in that case, the
12837         actuall coordinate values are not at all critical.
12838
12839 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12840
12841         * gdk/gdkcc.c: Stop leaking the color_hash all over
12842         the place. Simplify and improve the logic.
12843
12844 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12845
12846         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12847         for prototypes and function implementations consistent (reported
12848         by Tomas Ogren).
12849
12850 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12851
12852         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12853         send_event set in debugging output.
12854         (gdk_compress_exposures): default initialize the event so we don't
12855         operate on bogus values (namely send_event).
12856
12857 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12858
12859         * gdk/gdkwindow.c: When we receive an unexpected
12860         destroy notify on one of our windows, don't just
12861         warn about it, also mark our windows as destroyed.
12862
12863 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12864
12865         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12866           name => font and name => fontset hashes. The 
12867           name => fontset hash is a _big_ win since we
12868           weren't previously caching fontsets at all and loading
12869           fontsets is expensive. The name => font hash
12870           is less of a win, but it does save us from doing
12871           repeated XQueryFont calls on the same font.
12872
12873         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12874           list so we can remove font/fontset from hash.
12875
12876 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12877
12878         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12879           and slightly confusing test. [ XInternAtom (,,TRUE)
12880           will never return None ].
12881
12882 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12883
12884         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12885           gdk/gdkwindow.c (gdk_window_set_hints):
12886
12887         Don't omit setting the properties if flags == 0 -
12888         there may be an existing set of properties there
12889         already. (Very old bug. Would it be better to
12890         delete the property instead?)
12891
12892         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12893           spelling error in comment.
12894
12895 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12896
12897         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12898           to avoid stomping over gdk_error_warnings.
12899
12900         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12901           as (bits_per_pixel + 7) / 8. This gives the same
12902           result as before for multiples of 8, but actually
12903           a "reasonable" value for 1bit or 4bit displays.
12904
12905 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12906
12907         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12908         GNU Make.
12909
12910 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12911
12912         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12913         discarding configure events.
12914
12915 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12916
12917         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12918         refcount is greater than zero.
12919
12920         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12921
12922         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12923
12924         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12925
12926         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12927
12928 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12929
12930         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12931         that format 32 => sizeof(item) == 4. It really is
12932         sizeof(long).
12933
12934 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12935
12936         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12937         core dump at all on X IO errors, only core dump
12938         if --enable-debug for X errors.
12939
12940 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12941
12942         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12943         unknown window:" message. disabled ConfigureNotify discarding code,
12944         because it led to events being processed out of order.
12945
12946 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12947
12948         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12949
12950         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12951         we export this function, supress error warnings and don't reset the
12952         error code in the first half of this function.
12953
12954         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12955         code (instead of just -1) so gdk_error_trap_pop() reveals something
12956         actually informative about the error that happened.
12957
12958         * gdk/*.c:
12959         don't rely on gdk_error_code being -1 if an error occoured, but just
12960         gdk_error_code != 0.
12961
12962 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12963
12964         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12965         pointer *before* invoking the filter function, so we at least don't
12966         crash if a filter is removed that is currently executed. window filters
12967         *really* need to be made truely reentrant at some point.
12968
12969 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12970
12971         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12972         PropertyNotify debug messages.
12973
12974 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12975         
12976         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12977         
12978         * gdk/gdkim.c: Fix cut-and-paste errors for 
12979         x/y and PreeditAttributes/StatusAttributes.
12980
12981 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12982
12983         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12984         G_MAXINT to 2^16 to alleviate overflow problems in
12985         various window managers.
12986
12987 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12988
12989         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12990         for fontsets.
12991
12992 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12993
12994         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12995         Initialize size_hints.x and size_hints.y because kwm
12996         brokenly pays attention to them.
12997         (Bug #1181 -  Lars Heete <hel@admin.de>)
12998
12999 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13000
13001         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13002         return value of gdk_list_visuals(). 
13003         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13004
13005 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13006
13007         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13008         XSetIMValues to (void *) when comparing to NULL, to workaround
13009         the problem of some compilers barfing since older X headers don't
13010         have the prototype for it.
13011
13012 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13013
13014         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13015         for pseudocolor where colormap->colors was double
13016         allocated.
13017
13018         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13019         color value in the hash table with the pixel filled
13020         in so when we do later hash table lookups, the color
13021         value is correct.
13022         
13023 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13024
13025         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13026         making the call
13027
13028 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13029
13030         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13031         pointed out by Morten Welinder <terra@diku.dk>.
13032
13033 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13034
13035         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13036           default filter from the list
13037
13038 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13039
13040         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13041           default filter from the list
13042
13043 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13044
13045         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13046
13047         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13048         g_strdup_printf instead of calcing the length separately
13049
13050 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13051
13052         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13053         that we don't do in many other places. (Fixing duplicate 
13054         #include of config.h)
13055
13056         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13057         Otherwise, #ifndef XINPUT_NONE check in the latter
13058         doesn't work. (Bug #546)
13059
13060 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13061
13062         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13063         "None" case insensitive.
13064
13065 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13066
13067         * gdk/gdkselection.c: 
13068         Add error traps so if the other end of the connection
13069         dies, we survive.
13070
13071 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13072
13073         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13074         dest_xid field into two fields - one for the window
13075         to send in messages, one to indicate the last looked
13076         up window for caching purposes. This is needed, so
13077         that Leave messages get the correct window.
13078
13079 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13080
13081         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13082         Fix warning created by people mucking around
13083         with the gsource API.
13084
13085         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13086         Change mapping between GIOCondition and GdkInputCondition
13087         to match the way the Linux kernel does it. This should
13088         fix problems where closed pipes were no longer signalling
13089         GDK_INPUT_READ on systems with a native poll().
13090
13091 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13092
13093         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13094         explicitly for the string "None" - it is in the XPM
13095         spec and some servers treat unknown colors in odd ways
13096         (like asking the user!)
13097
13098 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13099
13100         * gdk/gdkevents.c: made "->" into a "." of previous change so
13101         it compiles
13102
13103 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13104
13105         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13106         window field of the event structure before calling
13107         user filters.
13108
13109 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13110
13111         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13112         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13113
13114 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13115
13116         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13117         intermediate text property - prevents major memory
13118         leak when gdk_use_mb.
13119         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13120
13121 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13122
13123         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13124         gtk-a-higuti-990322-[0-3]
13125
13126         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13127         sizeof(wchar_t) != sizeof (GdkWChar)
13128
13129         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13130         that was causing -DX_LOCALE not to work.
13131
13132         * gtk/gtkrc.c (gtk_rc_init):
13133         X_LOCALE will never have LC_MESSAGES defined
13134
13135         * gdk/gdk.c (gdk_init_check):
13136         Remove --xim-preedit and --xim-status from argv properly.
13137
13138         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13139         that the client window is present on the X server
13140         before we pass it to the input method.
13141
13142 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13143
13144         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13145         if --display is specified on the command line, than
13146         the drag window will not be created on that display.
13147         
13148 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13149
13150         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13151         lookups with only_if_exists == TRUE were inserting
13152         bogus values into the atom cache.
13153
13154 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13155
13156         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13157         then reset it to NULL.
13158
13159         * gdk/gdkcolor.c:
13160         (gdk_colors_free): 
13161         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13162         key for g_hash_table_remove() in both functions, this prevents us
13163         from accessing possibly uninitialized portions of a GdkColor structure
13164         where we are only interested in its pixel value.
13165
13166 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13167
13168         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13169         font hash table, if we have a GdkFontPrivate entry for this font
13170         already, simply increment its reference count, provided by Olaf Dietsche
13171         <olaf.dietsche+list.gtk@netcologne.de>.
13172
13173 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13174
13175         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13176         just to be sure.
13177
13178         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13179         unused variables, leftovers from the X11 version.
13180
13181         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13182
13183         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13184         downcase fields on X11.
13185
13186 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13187         
13188         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13189         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13190
13191 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13192
13193         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13194
13195         * gtk/makefile.msc: Correct path to libintl.
13196
13197         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13198         use of gint vs. int, and gint vs. gboolean in headers and
13199         definitions. Use GtkType for the *_get_type functions. Note that
13200         these changes preserve binary compatibility.
13201
13202         * gdk/gdk.c
13203         * gdk/win32/gdk.c
13204         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13205
13206         * gtk/gtkmain.c
13207         * gtk/gtkclist.c
13208         * gtk/gtkmenufactory.c
13209         * gtk/gtknotebook.c
13210         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13211         vs. gboolean.
13212
13213         * gtk/gtkcolorsel.[ch]
13214         * gtk/gtkcombo.[ch]
13215         * gtk/gtkdrawingarea.[ch]
13216         * gtk/gtkgamma.[ch]
13217         * gtk/gtkhandlebox.[ch]
13218         * gtk/gtkhpaned.[ch]
13219         * gtk/gtkhruler.[ch]
13220         * gtk/gtkplug.[ch]
13221         * gtk/gtkpreview.[ch]
13222         * gtk/gtkruler.[ch]
13223         * gtk/gtksocket.[ch]
13224         * gtk/gtkstatusbar.[ch]
13225         * gtk/gtktoolbar.[ch]
13226         * gtk/gtkvbbox.[ch]
13227         * gtk/gtkvpaned.[ch]
13228         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13229         functions.
13230
13231         * gtk/gtkgamma.h: Fix bug, missing () in call of
13232         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13233
13234 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13235
13236         * gdk/gdkcolor.c (gdk_colormap_new)
13237         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13238         colormap->colors was allocated twice.
13239
13240         * gdk/win32/gdk.c: Remove some unused stuff.
13241
13242         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13243         colormap.
13244
13245         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13246         * gtk/gtklabel.h (gtk_label_get_type)
13247         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13248         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13249         in a couple of places, not guint.
13250
13251 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13252
13253         * configure.in,po/et.po: added Estonian language file
13254
13255 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13256
13257         * configure.in,po/da.po: added Danish file
13258
13259 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13260
13261         * docs/gtkfaq.sgml: Minor FAQ Update
13262
13263 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13264
13265         * docs/gtkfaq.sgml: FAQ update
13266
13267 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13268
13269         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13270         way to get window contents continually refreshed while resizing. I
13271         didn't like the effects myself, so it's not on by default.
13272
13273         * gdk/win32/gdkprivate.h: New flag variable
13274         gdk_event_func_from_window_proc, FALSE by default.
13275
13276         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13277         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13278         are passed --gdk-event-func-from-window-proc.
13279
13280         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13281         and we have am event_func, call it instead of enqueing the event.
13282
13283 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13284
13285         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13286         Kelley: Set expose_count in GdkEventExposes correctly.
13287
13288         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13289         MULTIPLE_WINDOW_CLASSES).
13290
13291         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13292         for bug in NT, apparently NT *does* draw the end pixel, too, in
13293         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13294
13295 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13296
13297         Improvements by Hans Breuer: 
13298
13299         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13300
13301         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13302         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13303         window contents while dragging" is turned on. Allocate at least
13304         one unique class for every GdkWindowType. If support for single
13305         window-specific icons is ever needed (eg. Dialog specific), every
13306         such window should get its own class.
13307
13308 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13309
13310         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13311         error that caused crashes.
13312
13313 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13314
13315         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13316         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13317         bugs when for instance part of the window was outside the
13318         display. Thanks to Philippe Colantoni for finding and fixing this.
13319
13320 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13321
13322         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13323         endpoint calculations which were totally wrong. (A little RTFMing
13324         helps a lot ;-)
13325
13326         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13327         from a separate directory, not from gettext, because of licensing
13328         issues (we want to use the LGPL version).
13329
13330         * README.win32: Mention the intl from glibc vs from gettext issue.
13331
13332 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13333
13334         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13335         in the key event handling: Now AltGr chars work again. Also,
13336         now Alt-digits are passed up as well as Control-digits.
13337         Pass keypad plus and minus as normal plus and minus.
13338
13339 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13340
13341         * docs/gtkfaq.sgml: FAQ Update
13342
13343 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13344
13345         * README.win32
13346         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13347         the Wintab SDK.
13348
13349         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13350         OK, but getting closer. Guard against bogus tilt data from Wacom
13351         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13352         enable easier building without Wintab.
13353
13354         * gdk/win32/gdkinput.h
13355         * gdk/win32/gdkevents.c 
13356         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13357         
13358         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13359         code. As we have just one visual on Win32, no sense to have it in a
13360         table, and no need for the hash table.
13361
13362         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13363         better on white background.
13364
13365 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13366
13367         * README.win32: Update gcc build instructions. Mention gettext is
13368         GPL.
13369
13370         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13371         supported cursor size with GetSystemMetrics.
13372
13373         * gdk/win32/gdkfont.c
13374         * gtk/gtkfontsel.c: Guard against some font weight and charset
13375         symbols being undefined (in mingw32 headers).
13376
13377         * gdk/win32/makefile.cygwin
13378         * gtk/makefile.cygwin
13379         * gtk/gtkthemes.c: No longer need to have differently named
13380         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13381
13382 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13383
13384         * docs/gtkfaq.sgml: Long awaited FAQ update.
13385
13386 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13387
13388         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13389         it. Obscure bit manipulation needed.
13390
13391         * gdk/win32/gdkevents.c: Logging.
13392         
13393         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13394         style (file name include compiler name) for theme engines.
13395
13396 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13397
13398         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13399
13400         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13401         events. The key.string wasn't zero-terminated, still we strdup'ed
13402         it in gdk_event_copy(). Synthesize crossing events for button
13403         events before possible propagation.
13404
13405         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13406
13407         * gdk/win32/makefile.cygwin
13408         * gtk/makefile.cygwin: Use new DLL naming style for the
13409         GCC-compiled ones.
13410
13411         * gdk/win32/makefile.msc
13412         * gtk/makefile.msc: Cosmetics mostly.
13413
13414         * gtk/gtk.def: Add missing entry points.
13415
13416         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13417
13418 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13419
13420         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13421         or height is zero. Don't print a warning if Pie or Arc fails, they
13422         always fail (?) for very narrow ellipses.
13423
13424         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13425         the part or the destination window corresponding to source area
13426         outside of the source drawable's boundary.
13427
13428         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13429         anything if less than two points.
13430
13431         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13432         return NULL. Gtk cut-and-paste inside a single program works
13433         better this way. (It always gets the clipboard contents from
13434         Windows, not from its own copy, which is cleared anyway. I can't
13435         say I fully understand what happens... Emulating the X selection
13436         and property stuff is a bit of a mess.)
13437
13438         * gdk/win32/gdkevents.c
13439         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13440
13441         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13442         that never got deleted). Revamp gdk_region_shrink.
13443
13444         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13445         after use.
13446
13447         * gtk/gtk.def: Add some missing entry points.
13448
13449         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13450         component.
13451
13452 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13453
13454         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13455         Control-digits specially.
13456
13457 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13458
13459         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13460
13461 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13462
13463         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13464         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13465         finding this.)
13466
13467 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13468
13469         * gtk+.spec.in: Corrected some typos in files section.
13470         
13471 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13472
13473         * README.win32: Mention using GNU gettext.
13474         * config.h.win32: Enable NLS stuff.
13475         * gtk/makefile.msc: Use GNU gettext.
13476         * gdk/win32/gdkdnd.c: Minor header reorg.
13477         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13478         cosmetics.
13479         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13480         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13481
13482 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13483
13484         * acinclude.m4
13485         * config.guess
13486         * config.status
13487         * ltconfig
13488         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13489
13490 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13491
13492         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13493         SafeAdjustWindowRectEx. Don't override all calls to
13494         AdjustWindowRectEx by it, but use it only in two places: When
13495         creating a new top-level window and when moving a top-level
13496         window.
13497
13498         Use screen coordinate rectangle, not client rectangle, in
13499         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13500         when we try to place a window so that the decoration (mainly,
13501         title bar) isn't visible.
13502
13503         These changes fix the bug that showed up for instance as the
13504         GIMP's saved top-level windows moving right and down (by an amount
13505         equal to the window decoration) for each session. This bug showed
13506         up also in testgtk's "Saved Position".
13507
13508         gdk_window_resize also redone a bit.
13509
13510 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13511
13512         * gtk/testgtkrc: Add (commented out) Windows-style theme
13513         include line.
13514
13515         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13516
13517 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13518
13519         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13520         gdkx.h to a gdk subdirectory, so that applications can include
13521         these with <gdk/*.h> without trouble.
13522
13523         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13524         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13525         have their bitmap destroyed.
13526
13527         * gdk/win32/gdk.def: Add gdk_root_parent.
13528
13529 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13530
13531         * configure.in
13532           gtk-config.in
13533           ltconfig
13534           ltmain.sh     
13535           gtk/Makefile.am: changes to compile nicely (with xlib) 
13536           on BeOS
13537
13538 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13539
13540         * acinclude.m4
13541         * config.guess
13542         * config.sub
13543         * ltconfig
13544         * ltmain.sh: upgrade to libtool 1.3
13545
13546 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13547
13548         * gtk/gtkclist.c:
13549         * gtk/gtkctree.c: merges from gtk-1-2
13550
13551 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13552
13553         Support added for building using a GNU toolchain on Win32,
13554         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13555
13556         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13557         * config.h.win32: Changes for gcc.
13558         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13559         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13560         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13561         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13562         Protect shl stuff unavaiilable with mingw32 headers.
13563         * gdk/win32/gdkevents.c: Fix typo.
13564         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13565         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13566         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13567         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13568         the mingw32 headers.
13569         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13570         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13571         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13572         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13573         Test for NATIVE_WIN32, not _MSC_VER.
13574         * gtk/gtkmain.c: No use warning about developer version on Win32,
13575         there aren't any non-developer versions anyhow.
13576         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13577         * gtk/makefile.msc: Use pthread from another directory. Minor other
13578         changes. 
13579
13580 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13581
13582         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13583           default filter from the list
13584
13585 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13586
13587         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13588          when gtk_widget_grab_default() is called for a widget that
13589          is not within a GtkWindow.
13590
13591 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13592
13593         * docs/gtk_tut.sgml, examples/clist.c: use a
13594           scrolled window in the clist example. Minor
13595           tutorial fixes.
13596
13597 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13598
13599         * docs/gtk_tut.sgml: Style check from David King
13600           <dking@youvegotmail.net>
13601
13602 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13603
13604         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13605         compile with unknown value of GDK_WINDOWING
13606
13607 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13608
13609         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13610         after the rule is fired.
13611         (install-exec-local): Install gdkconfig.h only if the contents are
13612         different from the currently installed gdkconfig.h.
13613
13614 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13615
13616         * gdk/Makefile.am (configexecincludedir): Rename from 
13617         configincludedir so that gdkconfig.h will be installed 
13618         as part of `make install-exec'. 
13619
13620 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13621
13622         * acinclude.m4
13623         * config.guess
13624         * config.sub
13625         * ltconfig
13626         * ltmain.sh: upgrade to libtool 1.2f
13627
13628         * autogen.sh: libtool is not required to autogen gtk+
13629
13630         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13631         needed)
13632
13633 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13634
13635         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13636         declaring gdk variables exported/imported from the DLL. New image
13637         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13638         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13639         GDK_DRAG_PROTO_OLE2.
13640
13641         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13642         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13643         declared only for the Win32 version, but could be in the X11
13644         version as well. (Needed for a Xlib-less gdk_imlib.)
13645         gdk_color_hash should have only one parameter. Declare
13646         gdk_threads_mutex with GDKVAR.
13647         
13648         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13649         just one parameter.
13650
13651         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13652         per pixel, not bits.
13653
13654         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13655         Fetch bpp (which means bits-per-pixel here) from another place on
13656         Win32. Accept also depth==32 (which we might get on Win32) with
13657         bpp==32.
13658
13659         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13660         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13661         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13662         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13663         in the backend-dependent directory, not in the common gdk
13664         directory.
13665
13666         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13667         headers.
13668
13669 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13670
13671         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13672         want to use the Gtk+ devel version (which is true, and yes - even i am
13673         currently working with the 1.2.x branch). so everyone reading this, you
13674         probably want to issue
13675         cvs checkout -r glib-1-2 glib
13676         and
13677         cvs checkout -r gtk-1-2 gtk+
13678         as your next two comands.
13679
13680 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13681
13682         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13683         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13684
13685         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13686         file. strongly deprecated the GTK_HAVE_* macros, we provide
13687         GTK_CHECK_VERSION() for people that need to check for certain
13688         Gtk+ versions.
13689
13690         * gtk/gtkcompat.h: removed this from CVS.
13691         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13692         idea right from the start, it just didn't seem like that back then.
13693
13694 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13695
13696         * merges from gtk-1-2:
13697
13698 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13699
13700         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13701         item factory class has been created.
13702         (gtk_item_factory_parse_rc): likewise.
13703
13704         * gtk/gtkmenu.c:
13705         keep proper references for old_active_menu_item.
13706         (gtk_menu_reparent): unset the usize of the new parent,
13707         so the menu can sanely be size requested and we don't get nasty screen
13708         artefacts upon next reparentation.
13709         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13710         enter notify. only synthesize enter notifies if the pointer really is
13711         inside the event window.
13712         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13713         (gtk_menu_popup): move the background setting stuff into
13714         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13715
13716         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13717         gtk_menu_shell_select_item() to select the new item.
13718         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13719         do the right thing for deselection as well.
13720
13721 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13722
13723         * gtk/gtkwidget.[hc]:
13724         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13725         are locked.
13726
13727         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13728         existing accelerators if the widget's accelerators are locked.
13729
13730 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13731
13732         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13733
13734         * gtk/gtkmenu.c: truely forward key press and key release events to
13735         the menu widget from the toplevel or tearoff window. we can't simply
13736         connect to that, we need to stop further processing of the events as
13737         well.
13738
13739 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13740
13741         * gtk/gtkmenu.c:
13742         (gtk_menu_key_press): pass event->keyval, event->state to
13743         gtk_accelerator_valid, instead of event->keyval twice.
13744         refuse to install single letter accelerators for menus that use
13745         single letter shortcuts.
13746
13747         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13748         gtk_menu_ensure_uline_accel_group().
13749
13750         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13751         which will always return an uline accel group, made
13752         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13753         yet created.
13754
13755 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13756
13757         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13758
13759         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13760         Leave button sensitive, trap  button_press, button_release,
13761         motion_notify, enter_notify and leave_notify events instead.
13762         (gtk_clist_column_title_active): disconnect event handler.
13763         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13764         Guillaume Laurent <glaurent@worldnet.fr>
13765
13766 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13767
13768         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13769         width/height mixups.
13770
13771         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13772         if needed.
13773
13774 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13775
13776         * gtk/testgtk.c (create_item_factory): unref the item factory after
13777         window's destruction.
13778
13779         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13780         count on the menu shell around the menu item's activation, since the
13781         signal emission may cause menu shell destruction.
13782
13783         * gtk/gtkitemfactory.c:
13784         the previous code leaked one accel group per menu. we use
13785         gtk_menu_get_uline_accel_group() now to fix that, and with that
13786         also create the underline accelerator group of the menus only if
13787         required (i.e. an underline accelerator has been specified).
13788         (gtk_item_factory_construct):
13789         (gtk_item_factory_create_item): removed code that would create an
13790         extra accel group for the menu (and leak references).
13791         (gtk_item_factory_create_item): adapted the underline accelerator
13792         installation code to properly feature gtk_menu_get_uline_accel_group().
13793
13794         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13795         menu->accel_group, this may return NULL if the accelerator group
13796         hasn't been set yet.
13797         added gtk_menu_get_uline_accel_group() to retrive the underline
13798         accelerator group of the menu, this will be created on demand
13799         and proper care is taken about its reference count.
13800
13801         * gtk/gtkitemfactory.h:
13802         * gtk/gtkitemfactory.c:
13803         dumped the approach of keeping a widgets by action list on the
13804         factory since the factory<->widget destroy negotiation didn't work
13805         and would be hard to get going at all. instead we keep a list of
13806         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13807         persistant throughout a program's life time).
13808         also, i removed the static const gchar *key_* variables, and made
13809         them inline strings (they weren't actually used anyways).
13810         (gtk_item_factory_add_item): update ifactory->items.
13811         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13812         the item factory pointer from the remaining ifactory widgets).
13813         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13814         list to find the widget.
13815         (gtk_item_factory_get_item): new function that works around
13816         gtk_item_factory_get_widget() limitations, this function will only
13817         return menu items, even for <Branch> entries.
13818
13819 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13820
13821         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13822         font hash table, if we have a GdkFontPrivate entry for this font
13823         already, simply increment its reference count, provided by Olaf Dietsche
13824         <olaf.dietsche+list.gtk@netcologne.de>.
13825
13826         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13827         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13828
13829 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13830
13831         * gtk/gtkcontainer.c:
13832         (gtk_container_add_with_args):
13833         (gtk_container_addv):
13834         (gtk_container_add): before adding a child to a conatiner, make sure
13835         it is (default) constructed, this is neccessary because under certain
13836         circumstances the child will get relized and mapped immediatedly, in
13837         which case it has to be constructed already.
13838
13839 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13840
13841         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13842         values > 1 as TRUE also.
13843
13844 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13845
13846         * README.win32: New file.
13847                 
13848         * configure.in: Check for lstat.
13849
13850         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13851         completeness.
13852
13853         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13854
13855         * gtk/gtk.def: Removed CRs.
13856
13857         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13858         ..\gdk\win32).
13859
13860         * gdk/win32/makefile.msc: Correct upwards relative paths.
13861         
13862 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13863
13864         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13865           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13866           it was connecting a void function to expose_event and the int
13867           returning function to the draw signal
13868
13869 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13870
13871         * configure.in:
13872         Use correct path to libgmodule.la when ref'ing uninstalled copy
13873         of glib.  (Already in stable branch, Bug #417)
13874
13875 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13876
13877         Win32 merge and general portability stuff:
13878                 
13879         * acconfig.h,configure.in: Check for <sys/time.h>.
13880
13881         * gdk/win32: New directory (actually, been there for a while).
13882         
13883         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13884         NATIVE_WIN32, and use these. Always case fold on Win32. No
13885         backslashed escapes on native Win32.
13886
13887         * gtk/{gtk.def,makefile.msc}: New files.
13888
13889         * gtk/Makefile.am: Add above new files.
13890         
13891         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13892         instead of <strings.h>.
13893
13894         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13895         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13896         <unistd.h> appropriately.
13897
13898         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13899         Use ABS() (from <glib.h>) instead of abs().
13900         
13901         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13902         of gtk (and thus glib) headers, so that WIN32 will be
13903         defined. With MS C, include <direct.h> for mkdir prototype.
13904
13905         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13906         some casts, needed by MS C.
13907
13908         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13909         implemented).
13910
13911         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13912         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13913         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13914
13915         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13916                 
13917         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13918         the event is not a hint, or its window is not the slider. Needed
13919         on Win32, at least.
13920
13921         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13922         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13923         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13924         a subdirectory of the Windows directory as gtk system
13925         configuration directory.
13926
13927         * gtk/gtkselection.c: No chunks on Win32.
13928
13929         * gtk/gtksocket.c: Not implemented on Win32.
13930
13931         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13932
13933         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13934
13935         * gtk/maketypes.awk: Declare variables with a macro that expands to
13936         necessary export/import magic in the case of Win32.
13937                 
13938         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13939
13940 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13941
13942         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13943         since those were meant only for gdki18n.h.  
13944         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13945         for widechar tests.
13946         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13947
13948 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13949
13950         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13951         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13952
13953         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13954         installed) to CFLAGS.
13955
13956         * gdk/Makefile.am: Add rules for gdkconfig.h.
13957
13958         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13959         APIs.
13960
13961         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13962         gdkx.h anyway when compiling for X11.
13963         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13964         general): Merge in Win32 version.
13965         
13966         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13967         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13968         expansion (if we don't have HAVE_PWD_H), allow for drive
13969         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13970         included code from Craig Setera's port to Win32 (the one that uses
13971         X11, and the cygwin dll), even if it probably will be abandoned.
13972
13973         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13974         the user entered one herself.  This way one can complete *.h and
13975         don't get matches on any .help files, for instance.
13976         
13977 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13978
13979         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13980         font hash table, if we have a GdkFontPrivate entry for this font
13981         already, simply increment its reference count, provided by Olaf Dietsche
13982         <olaf.dietsche+list.gtk@netcologne.de>.
13983
13984         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13985         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13986
13987 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13988
13989         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13990         the number of calls to gdk_draw_point() (and thus to X) by
13991         clipping the points by hand.
13992
13993         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13994         the clip parameter.
13995         (gtk_handle_box_paint): Only paint the handle if the expose area
13996         intersects it.
13997
13998 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13999
14000         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14001
14002 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14003
14004         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14005         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14006
14007 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14008
14009         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14010          textmode (O_TEXT) for OS/2 version.
14011
14012 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14013
14014         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14015         GtkSpinButton, "input" and "output", to make the output more flexible.
14016         The user has to provide a mapping between adjustment->value and the
14017         output string (and vice versa, if the spin button is editable). 
14018         See testgtk for examples.
14019
14020 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14021
14022         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14023         new one.
14024         
14025         * configure.in: set gtk+ version to 1.3.0.