]> Pileus Git - ~andy/gtk/blob - ChangeLog
use full set, since current set wasn't building on all configs.
[~andy/gtk] / ChangeLog
1 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
2
3         * Makefile.am: Remove gtk-config-2.0 again.
4         (Grrrr, pkg-config. And stops make loops.)
5
6 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
7
8         * gtk/gtksignal.[hc]: removed old emission hook API.
9         
10         * docs/Changes-2.0.txt: fixed sections.
11         
12         * gtk/gtktextbuffer.c: signal arg fixups.
13
14 2001-03-07  Havoc Pennington  <hp@redhat.com>
15
16         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
17
18         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
19         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
20         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
21         validation and the redraw which is higher priority than the
22         validation.
23
24 2001-03-07  Havoc Pennington  <hp@redhat.com>
25
26         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
27         (gtk_entry_set_property): remove trailer
28
29         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
30         (gtk_entry_get_width_chars): new functions, to set size request to 
31         a given number of characters
32
33         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
34
35         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
36         (gtk_dialog_get_has_separator): new function
37         (run_delete_handler): fix to not emit "response" signal
38         because we already did in the delete event handler installed
39         at dialog creation time.
40         
41         * gtk/gtkdialog.h: add a has_separator property,
42         add GTK_DIALOG_NO_SEPARATOR flag
43
44 2001-03-07  Havoc Pennington  <hp@redhat.com>
45
46         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
47         off decorations for a window.
48
49         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
50         changes
51
52         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
53         to get location of PangoLayout inside the label, closes #51198
54
55         * gtk/testgtk.c (create_bbox): fix up button box usage
56
57         * gtk/testcalendar.c (create_calendar): fix up button box usage
58
59         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
60
61         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
62
63         * gtk/gtkhbbox.h: deprecations
64
65         * gtk/gtkvbbox.h: deprecations
66
67         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
68         emulate deprecated gtk_button_box_get_spacing
69
70         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
71         the "set global default" functions
72         (struct _GtkButtonBox): remove "spacing" field, use the one from 
73         GtkBox base class
74
75         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
76
77         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
78         render the icon, return the missing image icon.
79
80         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
81         image icon if the load fails.   
82
83         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
84         when no image is found; should be the Netscape "missing image"
85         icon eventually but for now is a random image
86
87         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
88         role for the session manager
89
90         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
91
92         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
93         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
94
95         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
96
97 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
98
99         * gtk/*.c: marshaller fixes.
100         
101         * gtk/gtkmarshal.list: extreme cleanup.
102
103         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
104         param spec for now.
105
106         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
107         where appliable.
108
109         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
110         special cased autogenerated boxed types from gtktypebuiltins_ids.c
111         which are not reference counted:
112         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
113         PangoFontDescription, GtkTreeIter and GtkTreePath.
114
115 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
116
117         * gtk/gtktreeselection.h: 
118         * gtk/gtktreemodel.c:
119         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
120         file should be included directly, and gobject/gmarshal.h
121         as well as gtk/gtkmarshal.h even can't be included directly.
122
123         * Makefile.am: grr, install gtk-config-2.0.
124
125         * gtk/testgtk.c:
126         * gtk/simple.c:
127         * gtk/gtkmenu.c:
128         * gtk/gtkitemfactory.c: use g_object_connect() instead of
129         passing "*signal*::*" args to gtk_widget_set().
130         
131         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
132         
133         * gtk/*.c: removed trailer arg from property setters and getters.
134         macro fixups.
135
136 2001-03-07  Alexander Larsson  <alexl@redhat.com>
137
138         * gtk/gtklabel.c (set_markup): Removed warning
139
140 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
141
142         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
143         field to allow you to hide cell renderers.
144
145         * gtk/gtkcellrenderer.c: Add support for invisible cells.
146
147         * gtk/gtktreeview.c: Add support for invisible cells.
148
149 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
150
151         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
152         Add "clicked" signal back to columns.
153
154         * ChangeLog: remove conflict markers.
155
156 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
157
158         * gtk/gtkbutton.c: Add animation of activation by, on 
159         activate, pressing the button, and adding a timeout that 
160         releases the button after 250ms or on key release and
161         emits ::clicked. (#51501)
162
163         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
164         action area, we connect to ::clicked instead of ::activate
165         so the dialog stays up through the animation.
166
167 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
168
169         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
170         check the ignore_enter flag for the menu shell that
171         the item is actually a child of, not for attached
172         submenus. (#51536)
173
174 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
175
176         * gtk/gtkmain.c (gtk_propagate_event): Only do special
177         special key-press grab handling for widgets within
178         GtkWindows. Otherwise, fall through to normal case.
179
180         This prevents key events being sent twice to GtkInvisible
181         widgets, which can cause all sorts of mischief.
182
183 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
184
185         * gtk/gtkmain.c (gtk_propagate_event): When a grab
186         widget is in effect, give the grab widget a first
187         crack at KEY_PRESS/RELEASE events. (#424)
188
189 2001-03-06  James Henstridge  <james@daa.com.au>
190
191         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
192         offset for the window_state_event to point at window_state_event
193         rather than no_expose_event.
194
195 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
196
197         * gtk/gtkimmodule.h: fix busted /* comment */
198
199 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
200
201         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
202         object properties.
203
204 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
205
206         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
207         add object properties.
208
209         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
210         to add object properties.
211
212         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
213         object properties.
214
215         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
216         add object properties.
217
218         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
219         object properties.
220
221 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
222
223         * gtk/gtktreemodel.c: renamed "child_toggled" to
224         "has_child_toggled".
225
226         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
227         handle new signal name.
228
229         * gtk/gtktreestore.c: Updated to handle new signal name.
230         * gtk/gtklisttore.c: Updated to handle new signal name.
231         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
232
233 2001-03-05  Alexander Larsson  <alexl@redhat.com>
234
235         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
236         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
237
238 2001-03-05  Michael Natterer  <mitch@gimp.org>
239
240         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
241         pixbuf-engine coincidentially also failed to make one of it's
242         parent_class pointers static, causing overwriting of GtkLabel's
243         parent_class pointer in pixbuf_style_class_init().
244         (Will commit the fix to the pixbuf-engine too).
245
246 2001-03-05  Alexander Larsson  <alexl@redhat.com>
247
248         * gdk/gdkwindow.h:
249         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
250         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
251         gdk_window_set_icon_list for net wmspec functionality.
252
253         * gdk/x11/gdkwindow-x11.c:
254         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
255         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
256         gdk_window_set_icon_list.
257         Added gdk_wmspec_change_state helper function and used it in the code.
258         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
259
260         * gtk/gtkdialog.c (gtk_dialog_init):
261         Set GDK_WINDOW_TYPE_HINT_DIALOG.
262
263         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
264         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
265
266         * gtk/gtkwindow.c:
267         new function gtk_window_set_type_hint.
268         On realize, set type hint and modal hint.
269
270         * gtk/gtkwindow.h:
271         Added type_hint field and gtk_window_set_type_hint.
272
273 2001-03-05  Alexander Larsson  <alexl@redhat.com>
274
275         * gtk/gtklabel.[ch]:
276         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
277         New function gtk_label_get_accel_keyval () to get the underline accelerator
278         of the label. Setting the label pattern overrides other attributes.
279
280 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
281
282         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
283         Added missing initializers to gtk_rc_style_init().
284
285 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
286
287         * gtk/gtktextview.c: fixed bug #51097 about setting 
288         gtk_text_view_set_border_window_size() if the widget is 
289         already realized.
290
291 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
292
293         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
294
295         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
296         comment. Won't do to have duplicated doc comments between
297         the platform subdirs.
298
299 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
300
301         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
302           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
303
304         Detectable auto-repeat - make a repeating key generate
305         press/press/press/release instead of press/release pairs.
306
307         If we have Xkb and XkbSetDectableAutoRepeat supports
308         that, we do it that way. Otherwise, when we get
309         a release event, we check ahead with XPending to see
310         if the next key is a KeyPress with the same keycode
311         and timestamp. (Not 100% reliable, but pretty close.)
312           
313 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
314         
315         * gtk/gtkmain.c (gtk_propagate_event): Only do special
316         special key-press grab handling for widgets within
317         GtkWindows. Otherwise, fall through to normal case.
318  
319         This prevents key events being sent twice to GtkInvisible
320         widgets, which can cause all sorts of mischief.
321  
322 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
323  
324         * gtk/gtkmain.c (gtk_propagate_event): When a grab
325         widget is in effect, give the grab widget a first
326         crack at KEY_PRESS/RELEASE events. (#424)
327  
328 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
329
330         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
331         to extend the selection. (Roughly based on patch
332         from Jay Cox, #50939)
333
334         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
335         to properly handle previous GDK_BUTTON_PRESS. 
336         (Patch from Jay Cox, #50938)
337
338         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
339         '\0' back along with the deleted text. (#51148)
340
341 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
342
343         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
344         the group when extracting it from the X keyboard event.
345
346         * modules/input/Makefile.am modules/input/imipa.c: 
347         Simple module for entering IPA. (Do we need a 
348         gtk-stupid-input-tricks CVS module?)
349
350 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
351
352         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
353         const.
354
355         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
356
357         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
358         is no focus widget for the dialog currently, grab the focus as well
359         as the default.
360
361         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
362         the action area's children to iterate through, not the
363         dialog's children.
364
365 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
366
367         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
368         Add plug-socket tests. (Won't work worth a darn until I commit
369         the rest of the plug-socket changes, but no reason these
370         can't go into CVS now.)
371
372 2001-03-02  Havoc Pennington  <hp@redhat.com>
373
374         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
375         _gdk_region_get_xrectangles()
376
377         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
378
379         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
380
381         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
382         function, contributed by Ron Steinke    
383
384         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
385         gdk_net_wm_supports
386
387         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
388         New function, contributed by Ron Steinke
389
390         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
391         used to line up the text in the entry when using the entry for
392         editable sheet cell hacks
393
394         * gtk/testgtk.c (create_entry): test the activate_default setting
395         on GtkEntry
396
397         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
398         cause the entry to activate the default button for a dialog when 
399         activated
400         (gtk_entry_get_activates_default): new function
401
402 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
403
404         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
405         Hwang to move call to sync_selection() up a few lines
406         to before the row list is modified, to fix crash when
407         removing rows in the undo_selection list.
408
409         (Test case provided by Daniel Elstner:
410
411         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
412
413 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
414
415         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
416         of tree->root_tree in parent_set rather than _map(), 
417         fixing #50892 in a bit better manner.
418
419 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
420
421         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
422
423 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
424
425         * gtk/gtkstyle.c : Remove duplicate fwd decl for
426         gtk_default_draw_shadow.
427
428 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
429
430         * gdk/gdkimage.c (gdk_image_new): Remove excess 
431         warning, make warnings more verbose, treat a error
432         in shmat as permanent, and don't try again.
433         (#51163, Ed Randall.)
434
435 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
436
437         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
438         delay for the first click before starting to scroll.
439         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
440
441         * gtk/gtktext.c: GtkText should have I-beam cursor. 
442         (based on gtk-enf-990513-1.patch, Eric Fisher.)
443
444 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
445
446         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
447         cleanup to remove some references to unused
448         ->xoffset, ->yoffset.
449
450 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
451
452         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
453         mask. (#51039, fix from Martin Maierhofer)
454
455 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
456
457         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
458         for unshifted + and shifted = for non-us keyboards.
459         Make <Control>+ and <Control>- work as well as 
460         <Control>KP_Plus, <Control>KP_Minus for recursive
461         open/close.  (#2682, René Seindal)
462
463 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
464
465         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
466         the active menu item before deactivating the menu,
467         so gtk_menu_popdown doesn't change the history. (#50964)
468         
469 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
470
471         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
472         draw lines with text_gc rather than black_gc.
473         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
474
475 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
476
477         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
478         Move handling of buttons fully in gtktreeviewcolumn.  This code is
479         less interrelated then it was, but it still requires the
480         GtkTreeView to map it.
481
482         * test/testtreecolumn.c: Now I can add a column to one view,
483         remove it, add it to the another view, remove it, then re-add it
484         to the first.  Nifty.
485
486 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
487
488         * docs/tutorial/gtk-tut.sgml: Minor corrections
489
490 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
491
492         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
493         GtkRowReference.
494
495 2001-02-28  Havoc Pennington  <hp@redhat.com>
496
497         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
498         draw_default
499         (gtk_widget_draw_focus): remove this function; we could instead
500         make it just gtk_widget_draw(), but in most cases I think the
501         result would be broken user code, so think it's better to have
502         that code not compile and get fixed
503         (gtk_widget_draw_default): ditto
504
505         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
506         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
507         
508         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
509         widgets lose/get the default, instead of calling draw_default
510         
511         * docs/Changes-2.0.txt: note about all this
512
513         Then fixed every widget in GTK, I won't list all the filenames.
514
515 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
516
517         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
518         _gtk_tree_row_reference_deleted.
519         (inserted_callback): Proxy out to
520         _gtk_tree_row_reference_inserted.
521         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
522         get around signal emission ordering problem.
523
524         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
525         fix to work with SINGLE 
526         (_gtk_tree_selection_internal_select_node): Major sanitization on
527         selections.  SINGLE now seems to work.
528
529         * tests/Makefile.am: add testtreecolumn.c:
530
531         * tests/testtreecolumn.c: New test.  Mostly points out selection
532         bugs currently, but will test columns later.
533
534         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
535         selection bug.  I hate touching this code -- it's scary.
536
537 2001-02-26  Havoc Pennington  <hp@redhat.com>
538
539         * gtk/testgtk.c: test the window state stuff
540
541         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
542         window come to the user's attention as if it were just created
543         (gtk_window_iconify): new function
544         (gtk_window_deiconify): new function
545         (gtk_window_stick): new function
546         (gtk_window_unstick): new function
547         (gtk_window_maximize): new function
548         (gtk_window_unmaximize): new function
549
550         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
551
552         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
553
554         * gdk/x11/gdkevents-x11.c: create window state events when
555         appropriate
556         (gdk_wmspec_supported): new function
557
558         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
559         iconification before showing the window
560         (gdk_window_deiconify): new function
561         (gdk_window_stick): new function
562         (gdk_window_unstick): new function
563         (gdk_window_maximize): new function
564         (gdk_window_unmaximize): new function
565
566         * gdk/gdkwindow.c: store the window state in the window; 
567         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
568         window->mapped.
569         (gdk_window_get_state): return the current window state
570
571         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
572         (gdk_event_get_state): handle GDK_WINDOW_STATE
573         (gdk_synthesize_window_state): function to create the window state
574         events
575
576         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
577         event, for changes to "window state" such as maximized, sticky, 
578         etc.
579         
580         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
581         focuses a window
582
583         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
584         finds out if we support a given WM spec hint
585
586 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
587
588         * docs/faq/gtk-faq.sgml: New question re memory leaks.
589
590 2001-02-25  Hans Breuer  <hans@breuer.org>
591
592         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
593         cause we want to loose those prototypes only in the latter case
594
595         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
596         GdkPixmapImplWin32 because it itsn't derived from it. Use the
597         impl member variable instead
598
599         * gtk/gtk.def : updated
600
601         * gtk/gtklist.c : 
602         * gtk/gtkmenus.c : include <string.h> for memset ()
603
604         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
605         for everthing built here, but for gtk-x.x.dll only. This solves
606         problem of indifferent gtk type definitions
607
608 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
609
610         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
611
612 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
613
614         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
615         column that is exposed.
616
617         (_gtk_tree_view_update_size): Changed name from set_size, and
618         changed function to do more work, and not force people calling it
619         to figure out the size.  Simplifies a lot of code elsewhere.
620
621 2001-02-23  Alexander Larsson  <alexl@redhat.com>
622
623         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
624         return solid masks for xpms that have no transparent color.
625         This makes the ..._create_from_xpm... API backwards
626         compatible.
627
628 2001-02-23  Tor Lillqvist  <tml@iki.fi>
629
630         * README.win32: Update. Mention the gtk-1-3-win32-production
631         branch.
632
633         * gdk/win32/bdfcursor.c: New file. A program that generates
634         xcursors.h. Thanks to Stefan Ondrejicka.
635
636         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
637         compact format.
638
639         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
640
641         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
642         function, uses xcursors.h.
643         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
644         cursor from inline data instead of using LoadCursor() to generate
645         it from a resource.
646
647         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
648         event, must check the Windows message for mouse button state, as
649         the GDK event state might not have been built if it is
650         undelivered. Remove one goto.
651
652         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
653         SetCursor() if the current cursor as returned by GetCursor() is
654         the window's previous cursor. The ChildWindowFromPoint() test
655         apparently didn't work correctly.
656
657         * gdk/win32/rc/*.cur: Remove.
658
659         * gdk/win32/rc/gdk.rc.in: Remove cursors.
660
661         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
662
663         * gtk/makefile.{mingw,msc}.in: Updates.
664
665 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
666
667         * gtk/gtktreemodel.h: add functions for signal emission.
668
669         * gtk/gtktreestore.c: move to use above functions instead of
670         g_signal_emit.
671
672         * gtk/gtkliststore.c: ditto
673
674 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
675
676         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
677         GObject instead of GtkObject.
678
679         * gtk/gtkliststore.c: ditto.
680
681         * gtk/gtktreemodelsort.c: ditto.
682
683         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
684         GtkTreeModelIface, instead of in each model.
685
686 2001-02-21  Havoc Pennington  <hp@redhat.com>
687
688         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
689         unbreak this function
690
691         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
692         properties
693
694         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
695         properties
696
697         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
698         properties
699
700         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
701         mean unset the max length
702
703 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
704
705         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
706         Changed name to be set_cell_data_func to make it clear what
707         the functino does.  Close bug #51069.
708
709 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
710
711         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
712         have memory actually freed.  Keeps box running longer.
713
714 2001-02-21  Alexander Larsson  <alexl@redhat.com>
715         
716         * gtk/gtkseparatormenuitem.[ch]:
717         Added new menu separator item. The drawing and size handling
718         is still done in GtkMenuItem, but the API is a bit more sane.
719         
720         * gtk/Makefile.am:
721         Add gtkseparatormenuitem.[ch].
722
723         * gtk/gtk.h:
724         Add gtkseparatormenuitem.h.
725         
726         * gtk/gtkentry.c:
727         * gtk/gtkmenufactory.c:
728         * gtk/gtktextview.c:
729         Use the new API for menu separators.
730         
731         * demos/gtk-demo/menus.c (create_menu):
732         Add some GtkSeparatorMenuItem demo code.
733
734 2001-02-20  Havoc Pennington  <hp@redhat.com>
735
736         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
737         Lee Mallabone
738
739         * gtk/gtkarrow.c: Convert to new property API, patch from 
740         Lee Mallabone
741
742 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
743
744         * tests/testtreeview.c (toggled_callback): fix to reflect change
745         in GtkTreeModelStore.
746
747 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
748
749         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
750         function to create an icon set from a pixbuf.
751
752 2001-02-20  Alexander Larsson  <alexl@redhat.com>
753
754         * gtk/gtkcellrenderertext.[ch]:
755         Add a "markup" property.
756
757         * gtk/treestoretest.c:
758         Use the markup property, remove some leftover stuff from
759         GtkTreeModelMapping.
760
761 2001-02-20  Alexander Larsson  <alexl@redhat.com>
762
763         * gtk/gtklabel.c (gtk_label_set_selectable):
764         Queue a redraw if the selectable setting was changed.
765
766 2001-02-20  Alexander Larsson  <alexl@redhat.com>
767
768         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
769         Actually copy the whole gc, not just the public parts.
770         
771         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
772         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
773         labels.
774
775 2001-02-19  Havoc Pennington  <hp@pobox.com>
776
777         * gdk/gdkwindow.c: docs
778
779         * gdk/gdkrgb.c: docs
780
781         * gdk/gdkregion-generic.c: docs
782
783         * gdk/gdkgc.c (gdk_gc_set_values): docs
784
785         * gdk/gdkdraw.c: docs
786
787         * gdk/gdkdrawable.h: deprecate drawable get/set data
788
789 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
790
791         * demos/gtk-demo/dialog.c: Add simple new demo.
792
793 2001-02-19  Havoc Pennington  <hp@redhat.com>
794
795         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
796         insert_child_anchor signal, bug #50245
797
798         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
799         from create_child_anchor, so the anchor is passed in
800
801         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
802         (_gtk_widget_segment_new): have the child anchor object passed in, 
803         instead of creating it.
804
805         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
806         to gtk_text_buffer_get_modified
807
808 2001-02-19  Havoc Pennington  <hp@redhat.com>
809
810         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
811         changed GLib without fixing GTK
812
813         * gtk/gtkrange.h: Rename all the stupid implementation detail 
814         functions to have an underscore in front. Most of them should 
815         probably just go away, but for starters don't export them.
816         Bug #50482
817
818 2001-02-19  Havoc Pennington  <hp@redhat.com>
819
820         * gdk/gdkcolor.h: test was backward, so deprecated functions were
821         excluded by default
822
823         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
824         clean up the old code a bit
825
826         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
827         inconsistent state
828
829         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
830         draw inconsistent state
831
832         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
833         (create_menu): add inconsistent test
834
835         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
836         new function
837         (gtk_check_menu_item_get_inconsistent): new function
838         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
839         state (using etched in for now)
840
841         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
842         draw inconsistent state
843
844         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
845         function, used when the user has selected a range of stuff in
846         different states
847         (gtk_toggle_button_get_inconsistent): accessor for that
848         (gtk_toggle_button_paint): draw inconsistent state (etched in?
849         don't know what else to do)
850
851 2001-02-19  Hans Breuer <hans@breuer.org>
852
853         * gtk/gtk.def : updated exported symbols
854
855         * gtk/makefile.msc.in : updated
856
857         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
858         a colormap, when invoked from testgtk::entry. I'm not sure where
859         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
860         avoids immediate crashing ...
861
862         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
863         any objections ?
864
865         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
866         0 parameter. At least msvc doesn't like macros with var args. 
867         I simply removed the extra 0, was it a feature or a typo ?
868
869         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
870         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
871         because the value assignment to the internal struct wasn't working.
872         I'm not absolutely sure. The problem could have been resolved by
873         changing the "func" declartion in the struct, but was the pointer
874         to the function pointer intended ?
875
876         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
877
878         * gdk/gdk.def : updated exported symbols
879
880         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
881         only use SetDIBitsToDevice if there is a palette at the drawable
882         and the image is GDK_VISUAL_PSEUDO_COLOR
883
884         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
885
886         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
887
888         * gdk/*/makefile.msc : updated
889
890 2001-02-19  Havoc Pennington  <hp@redhat.com>
891
892         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
893         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
894
895         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
896         (gdk_key_repeat_restore): nuke
897
898         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
899         (gdk_init_check): no atexit func
900
901         * gdk/gdkrgb.h: mark some stuff deprecated
902
903         * gdk/gdkcolor.h: mark some stuff deprecated
904         
905         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
906
907         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
908
909 2001-02-16  Havoc Pennington  <hp@redhat.com>
910
911         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
912         scroll steps.
913
914         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
915         steps, and add Ctrl-arrow shortcuts for paging visually as with
916         HScale, since Page Up and Page Down move logically.
917
918         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
919         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
920         
921         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
922         steps
923         (gtk_range_scroll): handle the visual steps
924
925         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
926         scroll steps
927
928         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
929         steps, not the logical ones.
930
931         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
932         (scroll_vertical): handle up/down steps
933
934 2001-02-19 Alexander Larsson  <alexl@redhat.com>
935
936         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
937         Copy data and free data with free().
938
939         * gdk-pixbuf/gdk-pixbuf.c:
940         * gdk-pixbuf/io-jpeg.c:
941         * gdk-pixbuf/io-png.c:
942         Use g_try_malloc/g_free instead malloc/free.
943         
944         * gdk-pixbuf/test-gdk-pixbuf.c:
945         Must... initialize... gobject...
946         
947         * gdk-pixbuf/pixops/timescale.c:
948         * gtk/gtkcalendar.c:
949         Use g_malloc instead of malloc.
950         
951 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
952
953         * gtk/testgtkrc:
954         Comment out property assignments, these don't work yet.
955
956 2001-02-17  Havoc Pennington  <hp@pobox.com>
957
958         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
959         bit.
960
961 2001-02-17  Havoc Pennington  <hp@pobox.com>
962
963         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
964         shadowed variables that had broken size request in some cases,
965         leading to bogus tooltips (#50996)
966
967 2001-02-06  Jon K Hellan  <hellan@acm.org>
968
969         Implement fast browsing of tooltips, bug #50619
970         
971         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
972         and last_popdown
973         
974         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
975         use_sticky_delay and last_popdown.
976         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
977         time of popdown.
978         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
979         is NULL.
980         (gtk_tooltips_recently_shown): New static function.  Return true
981         if < sticky_delay has elapsed since last popdown.
982         (gtk_tooltips_event_handler): Display window after sticky_delay
983         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
984         since last popdown.
985         
986 2001-02-17  Havoc Pennington  <hp@pobox.com>
987
988         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
989         instead of (). #6394
990
991         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
992         G_CONST_RETURN, make it return by reference, #50473
993         
994 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
995
996         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
997         generated ENTER_NOTIFY event with 0, otherwise not explicitely
998         setup fields contain garbage (e.g. subwindow, breaking
999         gdk_drawable_ref() upon event copy).
1000         (gtk_menu_stop_navigating_submenu_cb): same here.
1001
1002         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1003         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1004         * gtk/gtkclist.c (vertical_timeout): 
1005         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1006         default-zero-intialization for unions to memset(,0,), as unions are
1007         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1008         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1009
1010         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1011         g_closure_sink() warning.
1012
1013         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1014         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1015         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1016         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1017         
1018 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1019
1020         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1021         gtk_*_store_get, and moved to GtkTreeModel.
1022
1023         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1024
1025         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1026
1027         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1028
1029         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1030         set the func.
1031
1032         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1033         freeze/thaw notify between setting all the properties for a cell.
1034
1035         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1036
1037 2001-02-15  Havoc Pennington  <hp@redhat.com>
1038
1039         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1040         the X coordinates so they're with respect to the line, rather than 
1041         with respect to the layout.
1042
1043         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1044         Mallabone
1045
1046         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1047         and inverted test
1048
1049         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1050         #50806
1051
1052         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1053
1054         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1055         gtk_text_iter_is_end
1056
1057         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1058         rename gtk_text_buffer_get_end_iter
1059
1060         * gtk/testgtk.c (create_labels): Add test for selectable
1061
1062         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1063         the selection stuff. This code is kind of broken since it doesn't 
1064         use the theme engine.
1065
1066         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1067         fix infinite loop and y offset problem
1068         (gdk_draw_layout_line_with_colors): fix foreground color handling
1069
1070         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1071         that makes the label selectable.
1072         
1073         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1074         layout when the style is set, since fonts etc. could have changed.      
1075
1076 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1077
1078         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1079
1080         * gtk/gtktreemodelsimple.[ch]: removed.
1081
1082 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1083
1084         * gtk/gtktreemodelmapping.[ch]:
1085         New files. Implement GtkTreeModelMapping.
1086         
1087         * gtk/Makefile.am:
1088         Add gtktreemodelmapping.[ch].
1089         
1090         * gtk/gtk.h:
1091         Add gtktreemodelmapping.h
1092
1093         * gtk/treestoretest.c:
1094         Test the GtkTreeModelMapping
1095
1096 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1097
1098         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1099         have a demo, we might as well pass in real values.  Thanks to
1100         clahey for pointing this out.
1101
1102 2001-02-14  Havoc Pennington  <hp@pobox.com>
1103
1104         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1105         "static" to a private function
1106         (gtk_image_menu_item_class_init): remove destroy handler,
1107         add "image" object property
1108
1109 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1110
1111         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1112         Add a shortcut if the window and the current clip_region doesn't
1113         overlap. This is needed when there are a lot of windows in a
1114         window. The layout test in testgtk is a good test.
1115
1116         * gdk/linux-fb/gdkwindow-fb.c:
1117         Whitespace fix.
1118
1119 2001-02-13  Sven Neumann  <sven@convergence.de>
1120
1121         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1122
1123 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1124
1125         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1126         Don't reference last_cursor if it is null. Fixes crash when rotating
1127         the screen before having moved the mouse.
1128
1129         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1130
1131         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1132
1133         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1134         when using 90 or 270 degrees rotation.
1135
1136 2001-02-12  Havoc Pennington  <hp@pobox.com>
1137
1138         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1139         it always set the foreground, even if we were only using
1140         a stipple.
1141         (gdk_draw_layout_line_with_colors): new function, allow
1142         override colors
1143         (gdk_draw_layout_with_colors): new function, allow override
1144         colors
1145         (gdk_pango_layout_line_get_clip_region): function to get the clip
1146         region for a logical text range
1147         (gdk_pango_layout_get_clip_region): get the clip region for a
1148         logical text range
1149
1150         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1151         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1152         the right number of arguments.
1153
1154         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1155         enhance the function to check that node data corresponds to a 
1156         view still belonging to the tree.
1157
1158         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1159         GtkTreePath
1160         (gtk_tree_view_inserted): ditto
1161         (gtk_tree_view_child_toggled): ditto
1162
1163         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1164         simplify this code.
1165
1166         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1167         a PangoAttrList
1168
1169         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1170
1171         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1172
1173         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1174         size in the size request 
1175         (gtk_menu_bar_size_allocate): consider toggle size here
1176
1177         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1178         that displays a widget in the toggle slot
1179
1180         * gtk/testgtk.c: test GtkImageMenuItem
1181
1182         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1183         
1184         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1185         request and allocation
1186
1187         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1188
1189         * gtk/gtkcheckmenuitem.c
1190         (gtk_check_menu_item_toggle_size_request): ditto
1191         
1192 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1193
1194         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1195         reference.
1196
1197         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1198         and refuse to initialize GTK+ if they fail.
1199
1200 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1201
1202         * configure.in: Add check for gtk-doc version.
1203
1204 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1205
1206         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1207         where the xpad/ypad was only being used on one side!
1208
1209 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1210
1211         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1212         function, copied from X11 version.
1213
1214         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1215         DestroyCursor failures. The reason for the problem (despite the
1216         inconsistent messages from GetLastError()) was that
1217         DestroyCursor() cannot be called while a cursor is set in a
1218         window. Set the new cursor first and then destroy the old one.
1219         Thanks to jpe@archaeopteryx.com.
1220
1221         * gdk/win32/gdkcc-win32.c: Remove.
1222
1223         * gdk/win32/Makefile.am: Remove from here, too.
1224         
1225         * gdk/gdk.def
1226         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1227
1228         * gtk/gtk.def
1229         * gtk/makefile.mingw.in: Updates.
1230
1231 2001-02-08  Havoc Pennington  <hp@redhat.com>
1232
1233         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1234         add a widget to a bin that already has a child.
1235
1236         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1237
1238         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1239         
1240         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1241
1242         * gdk/gdk.h: remove gdkcc.h
1243
1244         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1245
1246         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1247         GdkPixbuf, since the previous implementation was GdkColorContext
1248         dependent.
1249
1250         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1251         
1252 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1253
1254         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1255         a sane value!
1256
1257 2001-02-08  Havoc Pennington  <hp@redhat.com>
1258
1259         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1260         lighten them.
1261
1262 2001-02-08  Havoc Pennington  <hp@redhat.com>
1263
1264         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1265         validation idle
1266
1267         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1268         cell renderer
1269
1270         * demos/pixbuf-demo.c (timeout): remove deprecated
1271         gtk_widget_draw
1272
1273         * demos/testpixbuf-save.c (main): remove deprecated
1274         gtk_drawing_area_size
1275
1276         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1277         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1278         at the start of the allocation.
1279         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1280         unsetup or NULL model.
1281
1282         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1283         even/odd/sorted cells in the tree view.
1284
1285         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1286         bugfixes
1287
1288         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1289         backgrounds with draw_flat_box using different detail for even/odd
1290         rows.
1291
1292         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1293         row, so we can draw the alternating colors thing
1294
1295         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1296         property from a synonym property, notify for the synonym.
1297         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1298         (gtk_text_tag_get_property): Always return the font, even if
1299         all its fields aren't set
1300
1301         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1302         store the attr list; it leaves us with no way to change attributes
1303         in _render according to the render flags, and no way to implement
1304         get_property. Instead store all the specific text attributes. 
1305         Separate whether an attribute is enabled from its value. Sync all
1306         properties with GtkTextTag, make them all consistent, etc.
1307
1308         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1309         renderers can highlight the sort row/column     
1310
1311         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1312         accessor functions to get values; this has the side effect of
1313         showing up which accessor functions were missing. Added those.
1314
1315         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1316         set_alignment, to be consistent with GtkLabel, GtkMisc
1317
1318         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1319         arrow.
1320
1321         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1322
1323         * gtk/gtktreesortable.h: updates in here
1324
1325 2001-02-07  Sven Neumann  <sven@convergence.de>
1326
1327         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1328         pango dimensions after painting the background. We used to draw
1329         gigantic flat boxes here.
1330
1331 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1332
1333         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1334         error introduced with earlier commit) (pointed out by
1335         Ollie Lho)
1336
1337 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1338
1339         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1340         which are no longer necessary.
1341
1342 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1343
1344         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1345
1346 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1347
1348         * gdk/gdk.def
1349         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1350         Provide dummy implementations.
1351
1352 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1353
1354         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1355
1356         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1357         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1358         deprecated this function.
1359
1360         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1361         argument.
1362
1363 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1364
1365         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1366
1367 2001-02-03  Havoc Pennington  <hp@pobox.com>
1368
1369         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1370         Mikael Hermansson with patch from Mikael (if there was a toggle
1371         start one after the first character in the range, this function
1372         was broken). Bug #50380
1373
1374 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1375
1376         * configure.in: Remove confusing comment about X11.
1377
1378 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1379
1380         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1381         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1382         
1383 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1384
1385         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1386         it breaks things on BSD. If you want to compile GTK+ with
1387         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1388         when configuring, since GTK+ simply can't be "pure ANSI" 
1389         in the header files it uses. (#8170, Greg Hudson)
1390
1391 2001-02-02  Havoc Pennington  <hp@redhat.com>
1392
1393         * gtk/gtkwindow.c: docs
1394
1395         * gtk/gtkwidget.c: docs
1396         (gtk_widget_set_colormap): add a reference to the colormap
1397         (gtk_widget_get_default_colormap): add a reference to the colormap
1398
1399         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1400
1401         * gtk/gtktextiter.c: docs
1402
1403         * gtk/gtkmain.c (gtk_propagate_event): docs
1404
1405         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1406         (gtk_paned_set_position): docs
1407
1408         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1409         sort interface, no implementation yet.
1410
1411         * demos/testpixbuf.c (new_testrgb_window): replace
1412         gtk_drawing_area_size() with gtk_widget_set_usize()
1413
1414         * demos/testpixbuf-drawable.c (main): ditto
1415         
1416         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1417
1418         * gtk/gtktextbuffer.c: docs
1419
1420         * gtk/gtkstock.c: docs
1421
1422         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1423
1424         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1425
1426         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1427         
1428         * gtk/gtkimage.c: add some docs in here
1429         (gtk_image_size_request): change name of
1430         gtk_widget_render_stock_icon
1431         (gtk_image_get_icon_set): don't dup returned string
1432         (gtk_image_get_icon_set): don't dup returned string
1433
1434         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1435         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1436         and gtkiconfactory.h functions
1437
1438         * gtk/gtkiconfactory.c: add some docs in here
1439
1440         * gtk/gtkmain.c (gtk_get_default_language): document
1441         (gtk_get_current_event): document
1442         (gtk_get_current_event_state): document
1443         (gtk_get_event_widget): document
1444
1445         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1446
1447         * gtk/gtkcontainer.c: Add some documentation
1448         (gtk_container_add): give a more explanatory warning on adding an
1449         already-parented widget, this is kind of a FAQ and also a common
1450         typo that's easier to debug with a nice warning 
1451
1452         * gtk/gtkcellrenderertoggle.c
1453         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1454         adding this, it's useless
1455         (gtk_cell_renderer_toggle_set_active): remove
1456         (gtk_cell_renderer_toggle_get_radio): add
1457
1458         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1459         the NULL cell renderer, that doesn't make any sense to me. 
1460
1461         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1462         demo code should never use deprecated features.
1463
1464         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1465         code should never use deprecated features.
1466
1467         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1468         gtk_widget_queue_clear_area deprecated
1469
1470         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1471         deprecated
1472
1473         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1474
1475         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1476         a GdkImage deprecated, replaced by new consistently-named
1477         functions       
1478
1479         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1480
1481         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1482
1483         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1484         deprecated
1485
1486         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1487         so it won't appear in docs and confuse people.
1488
1489         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1490
1491         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1492         macros deprecated. (can't mark the type itself deprecated, since
1493         GtkProgressBar is not deprecated and we need the type decl to use
1494         GtkProgressBar)
1495
1496         * gtk/gtkpixmap.h: Mark deprecated
1497
1498         * gtk/gtkoldeditable.h: Mark deprecated
1499
1500         * gtk/gtklist.h: Mark deprecated
1501
1502         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1503         for anything anymore.
1504
1505         * gtk/gtkctree.h: Mark deprecated
1506
1507         * gtk/gtkclist.h: Mark deprecated
1508
1509         * gtk/gtkpreview.h: Mark deprecated
1510
1511         * gtk/gtkpacker.h: Mark deprecated
1512
1513         * gtk/gtktipsquery.h: Mark deprecated
1514
1515         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1516
1517         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1518
1519         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1520
1521         * gtk/gtkruler.h: Add comment that it will move out of GTK
1522
1523         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1524
1525         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1526
1527 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1528
1529         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1530         gdk_colormap_sync private since it was never exported
1531         in a header file.
1532
1533         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1534         colormap->colors[] for StaticGray, StaticColor colormaps.
1535
1536         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1537         was being used as if it was image->bits_per_pixel.
1538
1539         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1540         for the image in the GdkImage structure since it isn't
1541         reconstructable, and we need it to handle packed types
1542
1543         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1544         the assumption that on Win32 image->bits_per_pixel == image->depth,
1545         always.
1546
1547         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1548
1549         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1550         warning message if no converter can be found. 
1551
1552 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1553
1554         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1555         chars to isupper() / tolower(). (#567)
1556
1557         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1558         to clear up 64-bit warnings. (#567)
1559
1560 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1561
1562         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1563         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1564
1565         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1566         since some people set $(libdir) separately. (#1290, David Kaelbling)
1567
1568 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1569
1570         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1571         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1572         MAXPATHLEN, but the code here depends on a fixed value.)
1573         (#4524)
1574
1575 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1576
1577         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1578         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1579
1580 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1581
1582         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1583         viewable there is no way that moving the node will cause the 
1584         focus row to become not viewable, so omit check on the visibility
1585         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1586
1587 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1588
1589         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1590         selection before inserting new text.
1591
1592 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1593
1594         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1595         Make the sensitivity of the reparented child track that of
1596         the original parent menu item. (#34218, David Hodson)
1597
1598         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1599         the case where the current item is destroyed properly.
1600
1601         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1602         some edge cases with child-less menuitems.
1603         
1604 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1605
1606         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1607         key pop down window. (#12074, Jon K Hellan)
1608
1609 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1610
1611         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1612         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1613         The solution here isn't perfect - you get an extraneous
1614         emission of "toggle", which could conceivably confuse an app,
1615         but better than the current situation. LXR search seems to
1616         indicate that no apps in GNOME CVS connect to "toggle".
1617
1618 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1619
1620         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1621         gtk_public_h_sources to directly here to avoid warning when
1622         building srcdir != builddir. (#9656)
1623
1624 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1625
1626         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1627         handlers in gtkrange.c return the proper values (TRUE == handled)
1628         (#10316).
1629
1630         This is just the tip of the iceberg, but gtkrange.c is the
1631         most common place where the propagation is problematical,
1632         and also a place where it is almost certainly safe to change
1633         this in the stable branch.
1634
1635         (You don't want right click popups on a range control or anything...)
1636
1637 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1638
1639         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1640         area on focus out, even if a background pixmap isn't set.
1641         (#13941)
1642         
1643 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1644
1645         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1646         to deal with setting the shape properly when scrolling arrows are
1647         turned on, but not visible because there is sufficient space.
1648         (#13432)
1649
1650 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1651
1652         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1653         items with submenus, destroy the item along with the submenu.
1654         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1655         properly.
1656
1657         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1658         later.
1659
1660 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1661
1662         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1663         the focus widget sometimes wasn't drawn with the default if there
1664         was no default widget.
1665
1666         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1667         unreference pixmaps. 
1668
1669         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1670         for some extra safety.
1671
1672 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1673
1674         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1675         the text of a cell to the old pointer value better, by
1676         copying the new text before freeing the old text. Some code
1677         cleanup. (#8079, Karl Nelson)
1678
1679 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1680
1681         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1682         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1683
1684 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1685
1686         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1687         item from a menu, check to see if it matches 
1688         menu->old_active_menu_item, and if so, unref and clear
1689         old_active_menu_item (Patch from Pavel Cisler)
1690
1691         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1692         menu_shell->active_menu_item, if it is the child being
1693         removed. (Patch based on that of Gene Ragan, #50337)
1694
1695 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1696
1697         * gdk/linux-fb/gdkselection-fb.c: 
1698         * gdk/linux-fb/gdkcolor-fb.c: 
1699         * gdk/linux-fb/gdkdrawable-fb2.c: 
1700         * gdk/linux-fb/gdkfont-fb.c: 
1701         * gdk/linux-fb/gdkim-fb.c: 
1702         * gdk/linux-fb/gdkinput.c: 
1703         * gdk/linux-fb/gdkkeyboard-fb.c: 
1704         * gdk/linux-fb/gdkmain-fb.c: 
1705         * gdk/linux-fb/gdkrender-fb.c: 
1706         A bunch of whitespace cleanup.
1707         
1708 2001-01-30  Havoc Pennington  <hp@pobox.com>
1709
1710         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1711         #ifdef GTK_ENABLE_BROKEN.
1712
1713         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1714         GTK_ENABLE_BROKEN just before including the broken headers.
1715         
1716         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1717         deprecated types registered.
1718
1719         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1720         we have to test the broken stuff.
1721
1722         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1723         
1724 2001-01-30  Havoc Pennington  <hp@redhat.com>
1725
1726         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1727         here where prev pointer was set to the wrong thing
1728
1729         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1730         (gtk_tree_path_is_descendant): new function
1731
1732         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1733         cached length
1734         (gtk_list_store_get_iter): don't modify iter if we can't get the
1735         path.
1736
1737         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1738         
1739         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1740         GtkTreeDragDest
1741
1742         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1743         was causing segfault
1744
1745         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1746         pointer to NULL
1747
1748         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1749
1750         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1751         on returning FALSE
1752         (gtk_list_store_iter_children): ditto
1753         (gtk_list_store_iter_nth_child): ditto
1754         (gtk_list_store_iter_nth_child): ditto
1755         (gtk_list_store_iter_parent): ditto
1756
1757         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1758         on iter->user_data != NULL instead of silently accepting it.
1759         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1760         we are returning TRUE.
1761         (gtk_tree_store_iter_children): ditto
1762         (gtk_tree_store_iter_nth_child): ditto
1763         (gtk_tree_store_iter_parent): ditto
1764         (gtk_tree_store_insert): remove handling of parent->user_data ==
1765         NULL, replace with parent == NULL       
1766
1767         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1768         and a comment explaining things
1769
1770         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1771         interface support to GtkTreeStore.
1772
1773         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1774         FALSE if no prev, fix
1775
1776         * gtk/gtktreeview.c (set_source_row): use a row reference
1777         (set_dest_row): use a row reference
1778
1779 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1780
1781         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1782         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1783         (gtk_tree_selection_select_iter): The same as above.
1784
1785 2001-01-26  Havoc Pennington  <hp@redhat.com>
1786
1787         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1788         which holds a handle to a specific row (particular set of values
1789         in the model, i.e. pointer-identity row).
1790
1791         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1792         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1793         Still need to use it for the src/dest row saved on the drag context.
1794
1795 2001-01-26  Havoc Pennington  <hp@redhat.com>
1796
1797         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1798
1799         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1800         not offset by TREE_VIEW_HEADER_HEIGHT
1801         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1802         TREE_VIEW_HEADER_HEIGHT
1803
1804         * configure.in (included_loaders): for me, --with-included-loaders
1805         generates the error "the specified loader yes does not exist",
1806         i.e. the arg defaults to "yes", so change test for value ""
1807         to test for value "yes", and include all loaders in that case.
1808
1809         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1810
1811         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1812         handle TREE_VIEW_VERTICAL_SEPARATOR
1813         (gtk_tree_view_bin_expose): fix to consider the row offset as
1814         pointing halfway into vertical separator.       
1815         (gtk_tree_view_draw_node_focus_rect): ditto
1816
1817         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1818         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1819         (TRUE) to be called.
1820
1821         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1822         debug mode where the invalid region is colored in on invalidate,
1823         so you can see the flicker and know whether your redraw code is 
1824         doing a good job.
1825
1826         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1827         tree window coordinates (clip rect is in tree window coords)
1828
1829         * gtk/Makefile.am: add gtktreednd.[hc]
1830
1831         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1832
1833         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1834         drag-and-drop data operations on a model (so we can set up tree
1835         drag-and-drop automatically)
1836
1837         * gtk/testgtk.c: Add a window to change sensitivity in the
1838         GtkLabel test; add a way to change the entry frame in GtkEntry
1839         test
1840
1841         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1842         (gtk_entry_get_has_frame): new functions to remove the frame
1843         around an entry
1844         (gtk_entry_size_request): shrink requisition if no frame
1845         (gtk_entry_draw_focus): don't draw frame if no frame
1846
1847         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1848         checks inside a cell renderer
1849         (gtk_default_draw_option): ditto for options
1850
1851         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1852         children from the alignment, not the button
1853         (gtk_tree_view_column_init): ref/sink the column, to emulate
1854         GObject refcounting.
1855
1856         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1857         
1858         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1859         Use theme functions to draw the toggles 
1860
1861         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1862
1863         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1864         GdkPangoAttrEmbossed to use in rendering insensitive text
1865
1866         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1867
1868         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1869         using new GDK features
1870         
1871 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1872
1873         * gtk/gtkimage.c:
1874         Splitted gtk_image_clear into gtk_image_clear() and
1875         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1876         to avoid leaks.
1877
1878         * gtk/gtklabel.c (set_markup):
1879         Don't leak text.
1880
1881         * gtk/gtktextlayout.c:
1882         Always free display->shaped_objects.
1883
1884         * gtk/testgtk.c (create_clist):
1885         Don't leak custom style.
1886
1887 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1888
1889         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1890         Don't leak image. Simplify using gdk_colormap_query_color().
1891         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1892
1893         * linux-fb/gdkcolor-fb.c:
1894         Implemented gdk_colormap_query_color.
1895
1896 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1897
1898         * linux-fb/gdkcursor-fb.c:
1899         Don't leak built-in cursors.
1900
1901         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1902         Don't leak tmp_points.
1903
1904         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1905         Don't modify desc. Don't leak font if the PangoFont
1906         isn't found.
1907         
1908         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1909         Free dash_list.
1910
1911         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1912         Don't leak string.
1913         
1914 2001-01-20  Havoc Pennington  <hp@pobox.com>
1915
1916         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1917         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1918         me, matches Pango
1919
1920 2001-01-22  Havoc Pennington  <hp@redhat.com>
1921
1922         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1923
1924         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1925
1926         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1927         Remove, move back to gdk-pixbuf
1928
1929         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1930         to all the word functions
1931
1932         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1933         before doing anything on NULL layout or if we don't have the focus
1934
1935         * gtk/testtext.c (fill_example_buffer): "justification"
1936
1937         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1938         to be called "justification" not "justify"
1939
1940         * demos/gtk-demo/textview.c (create_tags): "justification"
1941         
1942         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1943
1944 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1945
1946         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1947         Don't leak visible_region. Use visible_region instead of region.
1948         
1949         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1950         Don't do extra gdk_drawable_ref(). This is not X.
1951         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1952         gdk_fb_focused_window is ref:ed.
1953         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1954         windows.
1955
1956 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1957
1958         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1959         Don't leak the PangoFontDescriptor.
1960
1961 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1962
1963         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1964         when not realized.
1965         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1966         (gtk_tree_view_realize): add scroll_to support
1967         (gtk_tree_view_finalize): add a finalize method.  Populate.
1968         (gtk_tree_view_insert_column): ref and sink the column.
1969         (gtk_tree_view_append_column): ref and sink the column.
1970         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1971         individual nodes.  Should make the code much more efficient, if
1972         actually used.
1973
1974 2001-01-19  Havoc Pennington  <hp@redhat.com>
1975
1976         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1977         byte_offset variable was being used to mean both "offset into
1978         layout" and "offset into buffer line" which was no longer true
1979         with addition of preedit string; fix
1980
1981 2001-01-19  Havoc Pennington  <hp@redhat.com>
1982
1983         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1984
1985         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1986         function
1987
1988         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1989         implement
1990
1991         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1992         scroll_to_cell, matches TextView scroll functions better
1993         (gtk_tree_view_tree_to_widget_coords): new function
1994         (gtk_tree_view_widget_to_tree_coords): new function
1995         (gtk_tree_view_get_visible_rect): new function
1996         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1997         (gtk_tree_view_draw_node_focus_rect): new function moved from
1998         draw_focus, also, use width of bin_window as width of the focus
1999         rect
2000         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2001         already-expanded rows
2002         (gtk_tree_view_get_cell_rect): new function
2003         (gtk_tree_view_get_path_at_pos): return the click position
2004         relative to the passed-in cell
2005         (gtk_tree_view_set_expander_column): new function
2006
2007         * configure.in: remove gtk-config-2.0 chmod
2008
2009         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2010         and properly handle drags with targets we don't understand
2011         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2012         scrolling anyway
2013         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2014         mark invisible
2015
2016         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2017         function
2018         (gtk_drag_dest_get_target_list): new function
2019         (gtk_drag_dest_set_target_list): new function
2020         
2021         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2022
2023         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2024         related to drag-and-drop
2025
2026 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2027
2028         * gdk/linux-fb/gdkprivate-fb.h:
2029         Define EMULATE_GDKFONT.
2030         Add extra pango_font stuff to GfkFontPrivate.
2031         
2032         * gdk/linux-fb/gdkdrawable-fb2.c:
2033         * gdk/linux-fb/gdkfont-fb.c:
2034         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2035         emulation using PangoFont.
2036
2037 2001-01-17  Havoc Pennington  <hp@pobox.com>
2038
2039         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2040         all the non-deprecated set_foo functions. Added missing object
2041         properties, and added g_object_notify() to setters. 
2042         Wrote docs.
2043         
2044 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2045
2046         * gtk/gtkmain.c
2047         * gtk/gtkrc.c: (Win32) Use the new
2048         g_win32_get_package_installation_(sub)directory() functions.
2049
2050         * config.h.win32.in: New file.
2051         
2052         * config.h.win32: Removed.
2053
2054         * configure.in: Output config.h.win32.
2055
2056         * Makefile.am: Add it to EXTRA_DIST.
2057
2058         * gtk/gtk.def: Update.
2059
2060 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2061
2062         * gtk/gtklabel.c (gtk_label_size_request): Set the
2063         attributes onto the PangoLayout even if they are newly
2064         created from label->pattern.
2065
2066 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2067
2068         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2069
2070         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2071         structures in functions. Fixes bug where gtk_dataset_*
2072         was accidentally still being used in one place, causing
2073         every dest side event to be treated independently.
2074
2075         * gtk/gtkdnd.c: Remove last vestages of handling
2076         ::draw (fixes warning)
2077         
2078         * gtk/gtkentry.[ch]: Add drag and drop support.
2079
2080         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2081         new function gtk_check_drag_threshhold() for checking
2082         to check if (dx,dy) has exceeded the threshhold for starting
2083         a drag and use it everywhere.
2084
2085 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2086
2087         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2088         add -I{includedir}/gtk-2.0.
2089
2090         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2091         gdk/gdk-pixbuf.h: Doc fixups.
2092         
2093         * gtk/gtkobject.h: Remove trailing , from enum
2094
2095 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2096
2097         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2098         Doh! Mixed up x and y.
2099
2100         * gdk/linux-fb/gdkglobals-fb.c:
2101         Removed gdk_fb_pointer_grab_window_events,
2102         added _gdk_fb_pointer_grab_owner_events and
2103         _gdk_fb_keyboard_grab_owner_events.
2104
2105         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2106         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2107         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2108         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2109         Send crossing events after ungrab finished.
2110         (gdk_keyboard_grab): Set ..._owner_events
2111         (type_masks): Move out of function.
2112         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2113         gdk_fb_keyboard_event_window): New functions, return the
2114         window an event should be targeted at. Handles grabs and
2115         event propagation. Can return NULL.
2116         (gdk_event_make): Remove event_mask checking. Now always
2117         returns an event.
2118                 
2119         * gdk/linux-fb/gdkkeyboard-fb.c:
2120         * gdk/linux-fb/gdkproperty-fb.c:
2121         * gdk/linux-fb/gdkselection-fb.c:
2122         Use new event_window/gdk_event_make() behaviour.
2123         
2124         * gdk/linux-fb/gdkmouse-fb.c:
2125         Use new event_window/gdk_event_make() behaviour.
2126         Only send motion events if in the same window.
2127         If grabbed, use cursor from window if sibling of grabbed
2128         window, and cursor from grabbed window otherwise.
2129
2130         * gdk/linux-fb/gdkprivate-fb.h:
2131         Update gdk_fb_window_send_crossing_events, gdk_event_make
2132         and grab varaible declarations. Add gdk_fb_*_event_window().
2133
2134         * gdk/linux-fb/gdkwindow-fb.c:
2135         Use new event_window/gdk_event_make() behaviour.
2136         Keep correct track of focus window.
2137         (gdk_window_set_events): Set all specific button motion masks
2138         if GDK_BUTTON_MOTION_MASK set.
2139
2140         * gtk/gtkdnd.c (gtk_drag_update):
2141         Free info->last_event if gdk_drag_motion returned FALSE.
2142
2143 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2144
2145         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2146         Eliminate redraws when input-only windows are shown or
2147         hidden. Thanks to jpe@archaeopteryx.com.
2148
2149 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2150
2151         * docs/faq/gtk-faq.sgml: FAQ update:
2152           - Update to bugzilla
2153           - Add GTK+ and security/SUID/SGID
2154           - Add DnD question
2155
2156 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2157
2158         * gdk/linux-fb/gdkdnd-fb.c:
2159         Some cleanups.
2160         
2161 2001-01-15  Havoc Pennington  <hp@pobox.com>
2162
2163         * tests/testtreeview.c: add test stuff for CellRendererToggle
2164
2165         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2166         accessor
2167
2168         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2169         only toggle on button press (would do release like GtkButton, but
2170         we'd need implicit grab code for treeview cells)
2171
2172 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2173
2174         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2175
2176         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2177         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2178
2179         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2180         to g_{locale,filename}_{to,from}_utf8 to match current API.
2181
2182         * gtk/makefile.msc.in (gtk_OBJECTS)
2183         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2184
2185         * gtk/gtk.def: Update.
2186
2187 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2188
2189         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2190         implementaion that more closely mimics the events that an X server
2191         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2192         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2193         with nested preview widgets, for instance, more responsive when
2194         you move the mouse quickly into them.
2195         (find_window_for_pointer_event): Make it actually compile.
2196         (gdk_event_translate): Set send_event to the value of
2197         InSendMessage (). This doesn't really mean the same as X11's
2198         send_event flag, but is close enough, says jpe@archaeopteryx.com
2199
2200 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2201
2202         * gdk/linux-fb/gdkdnd-fb.c:
2203         Implemented drag and drop.
2204         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2205         when it tries to free and then copy the same event (info->last_event).
2206         I am not sure about why this happens, but will continue looking.
2207
2208 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2209
2210         * gdk/linux-fb/gdkwindow-fb.c:
2211         Use gdk_window_invalidate_rect instead of
2212         gdk_window_invalidate_rect_clear to minimise flashing.
2213         When hiding windows you need to clear the root window though.
2214
2215 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2216
2217         * gdk/linux-fb/gdkdrawable-fb2.c:
2218         For optization, add an full_shapes argument to gdk_fb_clip_region.
2219         If this is false, only the cliprects of the shapes are used.
2220
2221         * gdk/linux-fb/gdkprivate-fb.h:
2222         Export gdk_fb_window_peek_shape.
2223         Add full_shapes to gdk_fb_clip_region.
2224
2225         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2226         When moving a window, don't clear everything under the it, just the
2227         root window. Makes stuff faster and flash less.
2228         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2229         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2230         offset of the shape.
2231         
2232
2233 2001-01-12  Havoc Pennington  <hp@redhat.com>
2234
2235         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2236         current invalid region, fixes redraw bug while scrolling the 
2237         text widget
2238
2239         * gtk/gtktextview.c, gtk/gtktextview.h:
2240         Rearrange the scrolling/validation/etc. code in a major way, 
2241         so it seems to make sense to me. Probably isn't genuinely that
2242         much better, but...
2243
2244         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2245         notifies
2246
2247         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2248
2249 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2250
2251         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2252         Hide mouse pointer while rotation. Show it afterwards.
2253
2254 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2255
2256         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2257         windows in consideration when generating clip region.
2258
2259         * gdk/linux-fb/gdkfb.h:
2260         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2261
2262         * gdk/linux-fb/gdkprivate-fb.h:
2263         Add shape to GdkWindowFBDatat.
2264         exported gdk_fb_window_get_abs_shape().
2265         removed gdk_fb_draw_lines declaration.
2266
2267         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2268         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2269         send focus changes when there is a grabbed window.
2270         (gdk_window_get_pointer): Handle shaped windows.
2271         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2272         (gdk_fb_window_peek_shape): Returns the shape for a window,
2273         handles GDK_FB_USE_CHILD_SHAPE.
2274         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2275         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2276         (gdk_window_shape_combine_mask): Implement.
2277
2278         * gtk/gtkwindow-decorate.c:
2279         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2280         setting the shape of a window makes the window transparent.
2281
2282 2001-01-11  Havoc Pennington  <hp@redhat.com>
2283
2284         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2285
2286 2001-01-10  Havoc Pennington  <hp@redhat.com>
2287
2288         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2289         add this function, bug 40251
2290
2291         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2292         of type macro   
2293
2294 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2295
2296         * acconfig.h:
2297         Added ENABLE_SHADOW_FB
2298
2299         * configure.in:
2300         Added --disable-shadowfb
2301
2302         * gdk/linux-fb/gdkcursor-fb.c:
2303         Update shadowfb when updating cursor
2304
2305         * gdk/linux-fb/gdkdrawable-fb2.c:
2306         Added wrappers for shadowfb that calls  the normal drawable
2307         methods, but calls gdk_shadow_fb_update(bounding box) when
2308         GdkWindows are drawed to.
2309         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2310         which also returns the bounding box.
2311
2312         * gdk/linux-fb/gdkfb.h:
2313         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2314
2315         * gdk/linux-fb/gdkgeometry-fb.c:
2316         Update shadowfb when scrolling window.
2317
2318         * gdk/linux-fb/gdkglobals-fb.c:
2319         Add _gdk_fb_screen_angle.
2320         
2321         * gdk/linux-fb/gdkkeyboard-fb.c:
2322         Test code for screen rotation. Shift-F2 in the xlate driver
2323         rotates the screen.
2324
2325         * gdk/linux-fb/gdkmain-fb.c:
2326         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2327
2328         * gdk/linux-fb/gdkmouse-fb.c:
2329         Use fb_width/height instead of modeinfo.xres/yres.
2330
2331         * gdk/linux-fb/gdkprivate-fb.h:
2332         Added fb_men, fb_width, fb_height & fb_stride. When using
2333         shadow fb these can differ from the framebuffer stuff.
2334         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2335         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2336         _gdk_fb_screen_angle. Removed CM, RP.
2337
2338         * gdk/linux-fb/gdkrender-fb.c:
2339         Added code for shadowfb handling and screen rotation using
2340         shadowfb.
2341
2342         * gdk/linux-fb/gdkwindow-fb.c:
2343         Use fb_mem, fb_stride, fb_width, fb_height.
2344         Added recompute_rowstride to reset the rowstride of all windows.
2345         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2346         window abs positions and window rowstrides. Usefull when the
2347         rotation has changed.
2348
2349 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2350
2351         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2352
2353 2001-01-10  Havoc Pennington  <hp@redhat.com>
2354
2355         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2356         where sibling == iter
2357         (gtk_tree_store_insert_after): handle sibling == iter
2358         (gtk_tree_store_prepend): remove stamp checks
2359         (gtk_tree_store_insert_before): ditto
2360         (gtk_tree_store_append): ditto
2361         (gtk_tree_store_get_path): ditto
2362         (gtk_tree_store_get_value): ditto
2363         (gtk_tree_store_iter_has_child): ditto
2364         (gtk_tree_store_iter_n_children): ditto
2365         (gtk_tree_store_iter_nth_child): ditto
2366         (gtk_tree_store_insert_after): ditto
2367         (gtk_tree_store_is_ancestor): ditto
2368         (gtk_tree_store_iter_depth): ditto
2369         (gtk_tree_store_insert_before): assert that sibling's parent is
2370         the same as the passed-in parent
2371         (gtk_tree_store_insert_after): assert that sibling's parent is
2372         the same as the passed-in parent
2373
2374         
2375         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2376         function to get the first iterator in a model
2377         
2378         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2379         conventionally the "root" in this sense is just NULL afaict.
2380
2381         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2382         where sibling == iter
2383         (gtk_list_store_insert_after): handle case where sibling == iter
2384
2385         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2386         automated tests for ListStore, TreeStore
2387
2388         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2389         (gtk_list_store_insert): update tail pointer, and fix it to work
2390         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2391         (gtk_list_store_append): use tail to be faster
2392         (gtk_list_store_prepend): fix it, update tail pointer
2393         (gtk_list_store_insert_after): fix it, update tail pointer
2394
2395         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2396         the list
2397
2398 2001-01-09  Havoc Pennington  <hp@redhat.com>
2399
2400         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2401         is NULL due to a pending resize
2402
2403         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2404         column width to values less than 1
2405
2406         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2407         width to be between min/max width, and still set the width 
2408         even if autosize is turned on, so the tree view can use this 
2409         function in order to autosize.
2410         (gtk_tree_view_column_init): set initial width to 1 not 0
2411
2412         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2413         setter function to modify column width, so we get notification
2414         (gtk_tree_view_insert_iter_height): ditto
2415         (gtk_tree_view_calc_size): ditto
2416         (gtk_tree_view_check_dirty): ditto
2417
2418         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2419         properties to change all the interesting attributes of the tree
2420         view column.
2421         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2422         (gtk_tree_view_column_get_clickable): add
2423         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2424         attributes; assume a cell renderer with equivalent object
2425         properties has been swapped in. Do g_object_notify().
2426         (gtk_tree_view_column_set_visible): g_object_notify
2427         (gtk_tree_view_column_get_sizing): rename from get_col_type
2428         (gtk_tree_view_column_set_sizing): g_object_notify
2429         (gtk_tree_view_column_set_width): add g_object_notify
2430         (gtk_tree_view_column_set_min_width): ditto
2431         (gtk_tree_view_column_set_max_width): ditto
2432         (gtk_tree_view_column_set_title): ditto
2433         (gtk_tree_view_column_set_clickable): ditto
2434         (gtk_tree_view_column_set_widget): ditto
2435         (gtk_tree_view_column_set_justification): ditto
2436
2437 2001-01-09  Havoc Pennington  <hp@redhat.com>
2438
2439         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2440         there are no rows in the model
2441
2442         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2443         NULL, then return the start of the list
2444
2445         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2446         if we can't get any rows from an empty model 
2447
2448         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2449         extraneous * after function pointer typedef usage
2450
2451         * Makefile.am: don't specify full path to cp and rm
2452
2453         * gtk/gtkcellrenderertextpixbuf.c
2454         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2455         NULL before dereferencing, fixes a segfault that happened from
2456         time to time
2457
2458         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2459         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2460         and reindent the function
2461         (gtk_cell_renderer_pixbuf_get_size): indentation
2462
2463         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2464         we quit it
2465         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2466         (gtk_dialog_set_default_response): New function, to set default
2467         button
2468         (gtk_dialog_set_response_sensitive): New function, to set 
2469         sensitivity of buttons
2470
2471         * gtk/gtkcellrendererpixbuf.c
2472         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2473         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2474
2475         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2476         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2477         also boxed types.
2478         (_gtk_tree_data_list_value_to_node): ditto
2479
2480         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2481         --gtk-debug=tree
2482
2483         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2484
2485         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2486
2487 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2488
2489         * gdk/win32/gdkevents-win32.c: Implement better mouse
2490         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2491         (find_window_for_pointer_event): New function.
2492         (gdk_event_translate): Use it when handling mouse events.
2493
2494 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2495
2496         * configure.in:
2497         Added --with-included-loaders option
2498
2499         * gdk-pixbuf/Makefile.am:
2500         * gdk-pixbuf/gdk-pixbuf-io.c:
2501         Add support for including selected gdk-pixbuf loaders only.
2502
2503         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2504         gtk_window_set_has_frame):
2505         Added inline documentation.
2506
2507         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2508         * docs/reference/gdk/tmpl/windows.sgml:
2509         Added inline documentation.
2510
2511 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2512
2513         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2514         realizing buttons that have already been realized.
2515
2516 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2517
2518         * tests/testtreeview.c (main): Show menu items before adding to
2519         option menu.
2520
2521         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2522         around if we kill them.
2523
2524         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2525         Return if we pass in a NULL model.
2526
2527 2001-01-08  Havoc Pennington  <hp@redhat.com>
2528
2529         * tests/testtreeview.c: hack on this some
2530
2531         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2532         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2533         list
2534         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2535
2536         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2537         functions
2538
2539 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2540
2541         * gtk/gtkwindow-decorate.[hc]:
2542         * gtk/Makefile.am:
2543         New files. Contains an implementation of a minimal WM for
2544         linux-fb.
2545
2546         * gtk/gtkwindow.h:
2547         Add the possibility for GtkWindows to specify a frame. This
2548         is used for the window decoration code, but could concievably
2549         be used for X programs too (xmms style windows).
2550         GtkWindow->frame is the toplevel window if the window is framed.
2551         The signal frame_event gets all events that are targeted to
2552         GtkWindow->frame.
2553         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2554         
2555         * gtk/gtkwindow.c:
2556         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2557         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2558
2559 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2560
2561         * docs/README.linux-fb:
2562         Correct filename ~/.pangoft2_aliases
2563
2564         * gdk/gdkwindow.h:
2565         Added new function gdk_window_get_decorations.
2566
2567         * gdk/linux-fb/gdkfb.h:
2568         Removed _gdk_window_get_decorations declaration.
2569         Renamed _gdk_window_set_child_handler to
2570         gdk_fb_window_set_child_handler.
2571
2572         * gdk/linux-fb/gdkwindow-fb.c:
2573         Renamed _gdk_window_set_child_handler to
2574         gdk_fb_window_set_child_handler.
2575
2576         * gdk/x11/gdkwindow-x11.c:
2577         New function gdk_window_get_mwm_hints().
2578         Implemented gdk_window_get_decorations.
2579
2580         * docs/reference/gdk/tmpl/windows.sgml:
2581         * docs/reference/gdk/gdk-sections.txt:
2582         Added gdk_window_get_decorations docs.
2583         
2584 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2585
2586         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2587         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2588         gdk_fb_window_send_crossing_events):
2589         Possibly send focus events when the mouse moves from one
2590         window to another.
2591
2592 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2593
2594         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2595         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2596         to match current API.
2597
2598         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2599         environment variable is set, don't call g_error when on a
2600         palettized (PseudoColor) display. Some people want to use GTK+ 
2601         in 256-colour mode even though works only partially.
2602
2603         * gdk/gdk.def
2604         * gtk/gtk.def
2605         * gtk/makefile.mingw.in: Update.
2606
2607 2001-01-05  Havoc Pennington  <hp@redhat.com>
2608
2609         * tests/testtreeview.c: hack on this a bit
2610
2611         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2612         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2613
2614         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2615         was spelled incorrectly
2616         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2617
2618         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2619         from gtk_tree_view_set_headers_active   
2620
2621         * gtk/gtktexttag.c:
2622         (gtk_text_tag_get_property): handle PROP_DIRECTION
2623         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2624         properties, bug 40235
2625
2626         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2627         forward_to_line_end
2628
2629 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2630
2631         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2632         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2633         for unicode,locale,filename conversion functions.
2634
2635 2001-01-05  Havoc Pennington  <hp@redhat.com>
2636
2637         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2638         broken if called on the first position in the buffer.
2639
2640         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2641         forward_to_delimiters to be called only if we aren't already at
2642         the delimiters.
2643
2644 2001-01-05  Havoc Pennington  <hp@redhat.com>
2645
2646         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2647
2648 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2649
2650         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2651         colormap in here. Sync from X port.
2652         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2653         Sync from X port.
2654         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2655         This happens now and then, and i don't think it is a bug.
2656         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2657         != endpoint.
2658         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2659         GDK_LINE_SOLID.
2660
2661         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2662         some of the fields filled in at least.
2663
2664         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2665         miLineArcD is no more, remove it from the function definition.
2666
2667 2001-01-04  Havoc Pennington  <hp@redhat.com>
2668
2669         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2670         this
2671
2672         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2673         user_data instead of tree_node
2674
2675         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2676         TREE_VIEW_COLUMN_SIZE
2677
2678         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2679         "size" field to "width" finishes bug 40061
2680
2681         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2682         for bitfields, bug 40268
2683
2684 2001-01-04  Havoc Pennington  <hp@redhat.com>
2685
2686         Rename some stuff:
2687         
2688         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2689
2690         s/GtkModelSimple/GtkTreeModelSimple/g;
2691         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2692         s/gtk_model_simple/gtk_tree_model_simple/g;
2693         s/gtkmodelsimple/gtktreemodelsimple/g;
2694
2695         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2696
2697         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2698         s/column_set_col_type/column_set_sizing/g;
2699
2700         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2701         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2702
2703         s/GtkCellRendererType/GtkCellRendererState/g;
2704         
2705         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2706         (gtk_cell_renderer_toggle_class_init): change "state" property to
2707         "active", to match GtkToggleButton
2708         (gtk_cell_renderer_toggle_get_active): new function, bug
2709         40269
2710         (gtk_cell_renderer_toggle_set_active): new function
2711         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2712         state through gtk_cell_renderer_set_active
2713
2714 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2715
2716         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2717         temporarily until they work again.  Brought up to date with
2718         changes in the model.
2719         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2720         model.
2721
2722 2001-01-04  Havoc Pennington  <hp@redhat.com>
2723
2724         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2725         equal to the line length, then position iterator before paragraph 
2726         separators. Fixes crash reported by Mikael Hermansson when
2727         pressing left arrow from the start of a line.   
2728
2729         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2730         about byte indexes off the end
2731         (iter_set_from_char_offset): add g_error about char offsets
2732         off the end
2733
2734 2001-01-03  Havoc Pennington  <hp@redhat.com>
2735
2736         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2737
2738         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2739         of private functions; remove inclusion of private headers.
2740
2741         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2742         function, so we don't need private functions in gtktextdisplay.c
2743
2744         * gtk/gtktextiterprivate.h: underscore-ification
2745
2746         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2747         to instead say "only useful to implement widgets"
2748
2749         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2750         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2751         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2752
2753         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2754         This function was completely broken
2755
2756         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2757
2758         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2759
2760         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2761
2762         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2763
2764         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2765
2766         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2767
2768         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2769         gtk_paint_layout
2770
2771         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2772         gtk_paint_layout
2773
2774         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2775         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2776         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2777         which were not implemented.     
2778
2779         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2780         insert_pixbuf signal. Rename delete_text to delete_range since it
2781         also deletes pixbufs and child anchors. This almost closes bug
2782         40245 (still need to deal with child anchors)
2783
2784         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2785         insert_pixbuf, change signal names as appropriate, change types of
2786         signals taking marks/tags to have the specific type, not just
2787         G_TYPE_OBJECT
2788         
2789         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2790         closes bug 40051
2791
2792         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2793         unnecessary remove_contents() call
2794         (gtk_option_menu_class_init): add a "changed" signal, closes
2795         bug 40039
2796         (gtk_option_menu_update_contents): emit "changed" if the 
2797         active menu item changes
2798
2799         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2800         cast to GtkObject, reported by Jonas Borgstrom
2801         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2802         we can't do stuff with side effects in finalize. Instead, spew a
2803         warning if the loader isn't closed.
2804
2805         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2806         colormap in here, non-X ports probably need to sync to this change
2807
2808         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2809         assertion that colormap != NULL, you can set the colormap to NULL
2810         if you like.
2811         
2812         * Makefile.am: remove gtk-config-2.0
2813
2814         * configure.in: Use pkg-config to locate GLib. Remove
2815         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2816         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2817         Use pkg-config to locate Pango. Output correct Pango libs to
2818         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2819
2820         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2821         files
2822         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2823         X11 pc files
2824
2825         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2826         unref from here
2827
2828 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2829
2830         * configure.in:
2831         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2832
2833 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2834
2835         * gtk/gtktextlayout.c
2836         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2837         variable when moving back onto a single line.
2838
2839 2001-01-01  Havoc Pennington  <hp@redhat.com>
2840
2841         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2842
2843         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2844
2845         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2846         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2847
2848 2001-01-01  Havoc Pennington  <hp@redhat.com>
2849
2850         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2851
2852         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2853         GtkTextAttributes
2854
2855         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2856         #40246
2857         (gtk_text_attributes_copy_values): rename from 
2858         gtk_text_attributes_copy
2859         (gtk_text_attributes_copy): a more standard GTK copy function, 
2860         which returns a new object
2861
2862 2001-01-01  Havoc Pennington  <hp@redhat.com>
2863
2864         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2865         
2866         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2867         don't fill in tree_view->priv->selection, kind of an unexpected
2868         side effect
2869
2870         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2871         gtkintl.h
2872         
2873         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2874         gtkintl.h
2875         (gtk_cell_renderer_get_property): remove calls to g_value_init
2876
2877         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2878         gtkintl.h
2879
2880         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2881         and include gtkintl.h
2882         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2883         property names
2884
2885         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2886         GtkTreeSelection
2887         (_gtk_tree_selection_new_from_with_view): rename, return
2888         GtkTreeSelection
2889         (_gtk_tree_selection_set_tree_view): rename with uscore
2890         (gtk_tree_selection_get_selected): fill in the "model" out param
2891         first, so it gets filled in even if we return at the top of the 
2892         function
2893         (gtk_tree_selection_real_select_all): add a comment and an else{}
2894         to clarify this a bit
2895         (gtk_tree_selection_real_unselect_all): add the same else{}
2896
2897         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2898         set_tree_view to have underscore prefixes, move them to the
2899         private header, fix return type of new_with_tree_view
2900         (struct _GtkTreeSelection): mark struct
2901         fields private  
2902
2903         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2904         GtkTreeModelFlags, not a guint
2905         (gtk_tree_path_prev): return gboolean not gint
2906         (gtk_tree_path_up): return gboolean not gint
2907
2908         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2909         return GtkTreeModelFlags, not a guint
2910
2911         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2912         that child model is non-null before unrefing it
2913         (g_value_int_compare_func): make this a qsort compare func, not 
2914         a boolean predicate
2915
2916         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2917         (add -umn to the end), and mark it unimplemented
2918         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2919         I don't see what it's for - doesn't the model always sort itself?
2920         (gtk_tree_model_sort_set_compare): this had the wrong signature
2921
2922         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2923         Fix the docs to say that it destructively replaces existing
2924         attributes (previously said that it added attributes).
2925         (gtk_tree_view_column_set_visible): canonicalize bool before
2926         equality testing. Also, check for realization before
2927         hiding/showing the tree_column->window; if this window could exist
2928         before realization, then it's busted and needs fixing, we can't 
2929         create GDK resources pre-realization. Also, remove
2930         superfluous queue_resize(), since set_size() does that for us.
2931         (gtk_tree_view_column_set_col_type): check realization before 
2932         using tree_column->window
2933
2934         * gtk/gtktreedatalist.c: fix filename in copyright notice
2935
2936 2000-12-31  Havoc Pennington  <hp@pobox.com>
2937
2938         * gtk/gtktextview.c: Rearrange all the
2939         scroll-while-dragging-or-selecting code to be different, not
2940         necessarily better. ;-)
2941         (gtk_text_view_scroll_to_mark): Change this
2942         function to take within_margin as a fraction instead of a pixel
2943         value, and to take alignment arguments (indicating where to align 
2944         the mark inside the visible area)
2945         
2946         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2947         to GtkObject
2948
2949         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2950         behavior so that offsets past the end of the line are not 
2951         allowed, and an offset equal to the line length moves the iterator
2952         to the next line
2953         (gtk_text_iter_set_line_index): make parallel change
2954         (gtk_text_iter_get_bytes_in_line): add this function
2955         
2956         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2957         of byte indexes off the end of the line; byte index at the end of
2958         the line now returns FALSE and doesn't fill in the requested
2959         values, byte index past the end of the line is an error.  Also,
2960         don't allow -1 offset anymore, since its meaning is unclear.
2961
2962         This change exposes some bug in visual cursor motion, where we
2963         end up with a huge invalid byte index; needs fixing. Symptom of 
2964         bug is a crash when you hit up arrow.
2965         
2966         (_gtk_text_line_char_locate): match the change to byte_locate
2967
2968         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2969         from start of line properly. fixes bug reported by Mikael
2970         Hermansson where backspace would delete all text before the
2971         cursor.
2972
2973 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2974
2975         * gdk/win32/gdkwindow-win32.c
2976         (gdk_window_impl_win32_get_visible_region): New function, as in
2977         the X11 backend.
2978         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2979         instead of duplicating the same code here.
2980
2981         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2982         GDK_COLORMAP macro.
2983
2984         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2985         destroy function.
2986         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2987         access that.
2988
2989         * gtk/gtk.def: Update.
2990
2991         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2992
2993 2000-12-30  Havoc Pennington  <hp@pobox.com>
2994
2995         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2996         colormap on input only windows, to avoid special cases all over
2997         the code for these windows.
2998
2999 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3000
3001         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3002         we are on a palettized display ("PseudoColor" in X11), as the code
3003         for that doesn't work anyway, and never has.
3004
3005 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3006
3007         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3008         Don't use isprint() for chars > 255.
3009
3010 2000-12-21  Havoc Pennington  <hp@redhat.com>
3011
3012         * tests/testtreeview.c: more work
3013
3014 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3015
3016         * docs/README.linux-fb:
3017         Update the docs to the new pangoft2 way.
3018
3019 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3020
3021         * configure.in:
3022         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3023         pango version.
3024         Remove modules/linux-fb/Makefile.
3025
3026         * gdk/linux-fb/gdkdrawable-fb2.c:
3027         Render glyphs using freetype.
3028
3029         * gdk/linux-fb/gdkfb.h:
3030         Add new fb-specific functions needed for managing windows.
3031
3032         * gdk/linux-fb/gdkmain-fb.c:
3033         Remove gdk_font_init/fini() calls.
3034
3035         * gdk/linux-fb/gdkpango-fb.c:
3036         Remove old implementation. Use pangoft2 instead.
3037
3038         * gdk/linux-fb/gdkprivate-fb.h:
3039         Remove PangoFBFont and related stuff.
3040
3041         * gdk/linux-fb/gdkwindow-fb.c:
3042         Implement drawable->get_visible_region.
3043         Implement support for _gdk_window_set_child_handler () and
3044         _gdk_window_get_decorations().
3045
3046         * modules/Makefile.am:
3047         Remove linux-fb subdir.
3048
3049         * modules/linux-fb/*:
3050         Removed all.
3051         
3052 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3053
3054         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3055         calls, as they are no longer needed.
3056
3057         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3058         
3059         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3060         figure out how to emit a signal on an interface.
3061
3062 2000-12-20  Havoc Pennington  <hp@redhat.com>
3063
3064         * tests: new directory to contain tests, gtk/test* should move
3065         here sometime (with appropriate on-cvs-server hackery)
3066
3067         * tests/testtreeview.c, tests/Makefile.am: a test
3068         
3069         * configure.in (AC_OUTPUT): add tests/Makefile
3070
3071         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3072         and "invisible_set" which were missing
3073
3074         * gtk/gtkrbtree.h: some cheesy indentation fix
3075         
3076 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3077
3078         * gtk/gtkinvisible.c (gtk_invisible_realize):
3079         Attach the style to the window so that the style it is not
3080         leaked when unrealizing the window.
3081
3082 2000-12-18  Havoc Pennington  <hp@redhat.com>
3083
3084         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3085         begin/end user action where appropriate
3086         (gtk_text_view_commit_handler): add begin/end user action
3087
3088         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3089         bracket interactive operations with begin/end user action pair.
3090         
3091         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3092         "interactive" arg from insert_text and delete_text signals.
3093         Add begin_user_action, end_user_action signals
3094         (gtk_text_buffer_begin_user_action): 
3095         (gtk_text_buffer_end_user_action): New functions to delimit 
3096         a user-visible action
3097
3098         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3099         signals.
3100         
3101 2000-12-18  Havoc Pennington  <hp@redhat.com>
3102
3103         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3104         was pretty non-working.
3105
3106         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3107         by passing the length to g_utf8_validate().
3108
3109 2000-12-16  Havoc Pennington  <hp@pobox.com>
3110
3111         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3112         Port to GObject, can go back in gdk-pixbuf after setting up 
3113         a gdk-pixbuf-marshal.h header over there.
3114
3115         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3116         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3117         args
3118         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3119         set
3120         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3121         here, do it when we create the buttons later
3122         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3123         (gtk_tree_view_map): paranoia checks that column->button is shown 
3124         and unmapped
3125         (gtk_tree_view_size_request): only request visible children.
3126         Move header size calculation in here, for cleanliness, and 
3127         to maintain invariants for child widgets if we eventually 
3128         let users set different children inside the buttons
3129         (gtk_tree_view_map_buttons): factor out code to map buttons,
3130         since it was being called several times
3131         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3132         windows instead of just moving them; their height may change 
3133         if we allow random widgets in there, or the theme changes.
3134         (gtk_tree_view_size_allocate): move button size allocation 
3135         above emitting the scroll signals, to ensure a sane state when we
3136         hit user code
3137         (gtk_tree_view_button_release): remove queue_resize after
3138         tree_view_set_size(), set_size() will handle any resize queuing
3139         that's needed
3140         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3141         draw_focus goo
3142         (gtk_tree_view_focus): use gtk_get_current_event() and
3143         gdk_event_get_state()
3144         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3145         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3146         semicolon
3147         (gtk_tree_view_create_button): show the button here
3148         (gtk_tree_view_button_clicked): actually emit the clicked signal
3149         on the column
3150         (_gtk_tree_view_set_size): return right away if the size is
3151         unchanged, as a cheesy optimization
3152         (gtk_tree_view_setup_model): rename set_model_realized to 
3153         setup_model to match the flag that indicates whether we've 
3154         called it
3155         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3156         exist, because set_scroll_adjustment does that and it shouldn't
3157         matter what order you call these in
3158         (gtk_tree_view_get_vadjustment): ditto
3159         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3160         for paranoia
3161         (gtk_tree_view_set_headers_visible): call
3162         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3163         (gtk_tree_view_append_column): clarify whether the return value
3164         is the count of columns before or after, and do the increment 
3165         separately from the return statement so you can tell from the code.
3166         (gtk_tree_view_remove_column): ditto
3167         (gtk_tree_view_insert_column): ditto
3168         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3169         outside the existing range, the docs say that outside-range
3170         columns are allowed, so we handle them as documented. (Presumably
3171         this allows a nice loop with column != NULL as test.)
3172         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3173         mean (left/right/center etc.).
3174         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3175         (gtk_tree_view_expand_row): add docs
3176         (gtk_tree_view_collapse_row): add docs
3177
3178         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3179         function to emit the clicked signal on a column
3180         
3181         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3182         state of an event
3183         (gdk_event_get_time): don't treat GDK_SCROLL 
3184         as a button event, remove default case from switch so gcc 
3185         will whine if we don't explicitly handle all event types
3186
3187         * gtk/gtktreeselection.h: added some FIXME 
3188         
3189         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3190         "columns" to "n_columns" and "column" to "columns" for clarity
3191
3192 2000-12-16  Havoc Pennington  <hp@pobox.com>
3193         
3194         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3195         stuff. This should make e.g. the delete key work again in the
3196         text widget...
3197         (gtk_text_iter_forward_cursor_positions): handle negative count
3198         (gtk_text_iter_backward_cursor_positions): handle negative count
3199         (gtk_text_iter_forward_word_ends): handle negative count
3200         (gtk_text_iter_backward_word_starts): handle negative count
3201
3202         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3203         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3204         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3205         GObject. No doubt will cause breakage.
3206
3207         * demos/gtk-demo/textview.c: remove hacks around
3208         non-GObject-ification of the text objects
3209
3210         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3211         the text tag
3212         
3213 2000-12-14  Havoc Pennington  <hp@pobox.com>
3214
3215         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3216         that we have Xrender
3217
3218 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3219
3220         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3221         Add two virtualized functions gdk_drawable_get_clip_region - to
3222         get the clip region when drawing.
3223         
3224         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3225         use invalidate_region.
3226
3227         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3228         region.
3229
3230         * acconfig.h configure.in: Check for Xft. For now, assume
3231         that if Xft is found, Pango was compiled with Xft support
3232         as well.
3233
3234         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3235         gdk_colormap_query_color().
3236         
3237         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3238         with Xft if appropriate.
3239
3240         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3241         a pangoxft context if we have XFT and the environment
3242         variable GD_USE_XFT is set.
3243         
3244         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3245         and also possibly an XftDraw structure.
3246
3247         * gtk/gtkfontsel.c: Handle the case where the font from the
3248         style doesn't match any of the fonts a bit better.
3249         
3250         * gtk/testgtk.c: Add tabs between directional segments for
3251         hebrew/arabic test. (Not really necessary, just a little
3252         prettier.)
3253
3254 2000-12-14  Havoc Pennington  <hp@redhat.com>
3255
3256         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3257         reading a file
3258
3259 2000-12-14  Havoc Pennington  <hp@redhat.com>
3260
3261         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3262         unused call to get_last_line()
3263
3264         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3265         here until boxed is working (and maybe after that - we should
3266         really not gratuitously break old code)
3267
3268         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3269         specific types for font_desc and tabs args, move them to
3270         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3271         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3272
3273         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3274         use GTK_TYPE_POINTER for signal signatures as a hack-around
3275
3276         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3277         PangoTabArray
3278
3279         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3280         make static
3281         (line_display_index_to_iter): make static
3282
3283         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3284         to marshal a string not a boxed
3285
3286         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3287
3288         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3289         since the UTF-8 isn't validated yet
3290
3291         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3292         lines to end in '\n'
3293         
3294         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3295         forward_to_delimiters, and grapheme boundaries
3296         (gtk_text_view_delete_from_cursor): properly handle non-newline
3297         delimiters, and grapheme boundaries
3298
3299         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3300         to gtk_text_iter_forward_to_delimiters, and make it work properly
3301         if empty lines end with a character other than '\n'
3302
3303         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3304         position
3305
3306 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3307
3308         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3309
3310         * gtk/gtk.def
3311         * gdk/gdk.def: Update.
3312
3313         * gdk/win32/gdkmain-win32.c
3314         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3315         gdkmain-win32.c here.
3316
3317         * gdk/win32/makefile.mingw.in (all): No need to make
3318         gdk-win32res.o here, the makefile one step up will call us to make
3319         it.
3320
3321         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3322         gdkkeys-win32.
3323
3324         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3325
3326         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3327         call to g_source_add().
3328
3329         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3330         leak. Thanks to Andreas Kemnade.
3331
3332 2000-12-13  Havoc Pennington  <hp@pobox.com>
3333
3334         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3335
3336         * gtk/gtktext*.[hc]: update accordingly
3337         
3338 2000-12-13  Havoc Pennington  <hp@pobox.com>
3339
3340         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3341         header file
3342
3343         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3344
3345 2000-12-13  Alex Larsson  <alexl@redhat.com>
3346
3347         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3348         Add support for ps2 intellimouse.
3349
3350         * gdkkeyboard-fb.c:
3351         Move shift-F1 repaint handling to xlate handler only.
3352         
3353         * docs/README.linux-fb:
3354         Add imps2 to docs.
3355         Document the new refresh keys.
3356         
3357 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3358
3359         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3360
3361         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3362         ::position and ::padding.
3363
3364         * gtk/gtkcontainer.c: make ::border_width an INT property.
3365
3366         * gtk/gtkpacker.c: make ::position an INT property.
3367
3368         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3369         guard against NULL h/v scrollbars, since this is used at construction
3370         time.
3371
3372         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3373         internal gtk_clist_constructor().
3374
3375         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3376         gtk_ctree_constructor().
3377
3378         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3379         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3380
3381         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3382         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3383
3384         * gtk/gtkwidget.[hc]:
3385         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3386         and gtk_widget_get().
3387         (gtk_widget_new): use g_object_new_valist().
3388         (gtk_widget_set): use g_object_set_valist().
3389
3390         * gtk/gtkobject.[hc]:
3391         removed gtk_object_arg_get_info(), gtk_object_getv(),
3392         gtk_object_query_args(), gtk_object_newv(),
3393         gtk_object_class_add_signals(),
3394         gtk_object_class_user_signal_new(),
3395         gtk_object_class_user_signal_newv(),
3396         gtk_object_arg_set(), gtk_object_arg_get(),
3397         gtk_object_args_collect(),
3398         gtk_object_default_construct(),
3399         gtk_object_constructed(),
3400         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3401         removed nsignals, signals and n_args members from GtkObjectClass.
3402         (gtk_object_new): use g_object_new_valist().
3403         (gtk_object_set): use g_object_set_valist().
3404         (gtk_object_get): use g_object_get_valist().
3405         
3406         * gtk/gtkcompat.h: define gtk_object_default_construct().
3407         
3408         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3409         g_object_new().
3410
3411         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3412         fucntions, cleaned up method assignments (make sure your structures
3413         are setup properly before calling out). removed all GTK_CONSTRUCTED
3414         hacks ;)
3415
3416 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3417
3418         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3419         off-by-one error in checks. (Dave Lambert)
3420
3421 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3422
3423         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3424         Don't free gdk_fb_keyboard twice.
3425
3426 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3427
3428         * gtk/testgtk.c:
3429         (create_tooltips): 
3430         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3431         use GObject swapped_signal:: properties instead.
3432
3433         * gtk/gtkcellrenderertoggle.c: 
3434         * gtk/gtkcellrenderertextpixbuf.c: 
3435         * gtk/gtkcellrenderertext.c: 
3436         * gtk/gtkcellrendererpixbuf.c: 
3437         * gtk/gtkcellrenderer.c:
3438         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3439         missing warnings for invalid property ids, install properties
3440         with g_object_class_install_property() now.
3441         
3442         * gtk/gtksignal.c:
3443         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3444         
3445 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3446         
3447         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3448         to determine if a window is the focus widget within
3449         its toplevel.
3450
3451         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3452         to be boolean.
3453
3454         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3455         of the case where the container CAN_FOCUS to here instead
3456         of having it in each individual move-the-focus place.
3457
3458         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3459         focusing to be geometric in a much more obvious sense. Arrowing
3460         around is still non-intuitive because it isn't perfect and
3461         because entries, etc, grab the arrow keys, but it at least
3462         usually will do what you expect now.
3463         
3464         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3465         file.
3466
3467         * gtk/gtknotebook.c: Change tabs to be a single item in
3468         the focus chain. Make movement of focus on tabs with arrow
3469         keys wrap around.
3470         
3471         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3472         CHECK_FIND_CHILD macro to give informative error messages
3473         instead of silent returns.
3474
3475         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3476         flag since we handle GdkReturn on the tabs.
3477
3478         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3479         windows rather than sending expose events directly.
3480
3481         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3482         definition for GtkNotebookPage into .c file, since it is private.
3483
3484         * gtk/testgtk.c (create_notebook): Add option for 
3485         testing borderless notebook.
3486
3487         * gtk/testgtk.c (page_switch): Removed egregious poking
3488         around in GTK+ internals.
3489
3490         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3491
3492         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3493         properly through gtk_clist_focus. Make the title headers a
3494         single item in the tab-focus chain, and make left-right wrap
3495         around.
3496
3497         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3498         focus method so that wrapping around works properly.
3499
3500         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3501         that is handled for the widget now. 
3502
3503 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3504
3505         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3506         widgets as TOPLEVEL.
3507
3508         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3509         TOPLEVEL widgets are containers.
3510
3511         * gtk/gtkinvisible.h: Remove useless include.
3512
3513 2000-12-11  Havoc Pennington  <hp@redhat.com>
3514
3515         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3516         Handle chopping off \r\n and 0x2029 in addition to \n before
3517         passing to PangoLayout
3518
3519         * gtk/gtkimcontextsimple.c
3520         (gtk_im_context_simple_get_preedit_string): 
3521         return an empty string if no match is pending
3522
3523         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3524         assertion that the returned preedit string was sane
3525
3526         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3527         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3528         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3529
3530 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3531
3532         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3533         Fix up finalizer to chain to its parent.
3534
3535 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3536
3537         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3538         Clearified the difference between the keyboard types. Wrote a note
3539         about the magic sysrq key to get out of raw mode.
3540
3541 2000-12-09  James Henstridge  <james@daa.com.au>
3542
3543         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3544         member to hold masks for detecting the start of a protocol packet.
3545         (mouse_devs): add packet start masks for ps2 and ms device types.
3546         Left the mask for fidmour blank, as I have no idea what it should
3547         be.
3548         (handle_mouse_io): skip bytes until we get to the start of a
3549         packet.  My Logitech mouse seems to be passing an extra NULL pad
3550         byte, and GPM does a similar thing here.
3551         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3552         this is the ms mouse driver.
3553         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3554         completely broken except for button1.  It was checking the wrong
3555         bit in the packet for the status of the right mouse button, and
3556         wrongly assuming right == button2 rather than 3.  I fixed that and
3557         also added support for middle button (button2).
3558
3559 2000-12-08  Havoc Pennington  <hp@redhat.com>
3560
3561         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3562         that cause a segfault on text insertion
3563
3564         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3565         warning
3566
3567         * gtk/gtktextiter.c (test_log_attrs): use
3568         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3569
3570         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3571         Get log attrs for a line, using a cache stored on the buffer
3572         
3573         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3574         reported by Jeff Franks
3575
3576 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3577
3578         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3579         /dev/ttyS0 -> /dev/mouse
3580
3581 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3582
3583         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3584         Added dummy gdk_fontset_load.
3585
3586 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3587
3588         * docs/README.linux-fb:
3589         * docs/Makefile.am:
3590         Initial GtkFB docs.
3591         
3592         * gdk/linux-fb/Makefile.am:
3593         Define GDK_DATA_PREFIX.
3594
3595         * gdk/linux-fb/gdkmain-fb.c:
3596         Fix typo.
3597         Change default display to /dev/fb0.
3598
3599         * gdk/linux-fb/gdkpango-fb.c:
3600         Add $(prefix)/share/fonts/ to font path.
3601         
3602 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3603
3604         * gdk/linux-fb/gdkkeyboard-fb.c:
3605         New file containing the abstracted keyboard driver. Most code
3606         taken from gdkinput-ps2.c
3607
3608         * gdk/linux-fb/gdkinput-ps2.c:
3609         Removed file.
3610         
3611         * gdk/linux-fb/Makefile.am:
3612         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3613
3614         * gdk/linux-fb/gdkcolor-fb.c:
3615         display->fb was renamed to display->fb_fd.
3616
3617         * gdk/linux-fb/gdkcursor-fb.c:
3618         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3619
3620         * gdk/linux-fb/gdkinput.c:
3621         Moved gdk_input_init here from gdkinput-ps2.c
3622
3623         * gdk/linux-fb/gdkmain-fb.c:
3624         display->fb was renamed to display->fb_fd.
3625         Now the tty and the console is opened here instead
3626         of in the keyboard driver. Also check GDK_VT to see what
3627         tty to open.
3628         Move gdk_beep () here from gdkinput-ps2.c
3629         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3630
3631         * gdk/linux-fb/gdkmouse-fb.c:
3632         Add header.
3633         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3634         Return correct keyboard modifiers.
3635         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3636
3637         * gdk/linux-fb/gdkprivate-fb.h:
3638         Add tty and vt info to display.
3639         Add orignal modeinfo storage to display
3640         Update global functions
3641
3642         * gdk/linux-fb/gdkwindow-fb.c:
3643         Added gdk_fb_window_find_focus().
3644         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3645
3646 2000-12-07  Havoc Pennington  <hp@pobox.com>
3647
3648         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3649         function, noticed by Alex
3650
3651 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3652
3653         * configure.in: Detect freetype properly
3654
3655         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3656         above.
3657
3658 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3659
3660         * gdk/linux-fb/Makefile.am:
3661         Add gdkmouse-fb.c
3662         
3663         * gdk/linux-fb/gdkmouse-fb.c:
3664         New file. Abstracted the mouse drivers a bit.
3665
3666         * gdk/linux-fb/gdkcursor-fb.c:
3667         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3668
3669         * gdk/linux-fb/gdkinput-ps2.c:
3670         Removed old mouse handling code. Moved cursor handling code
3671         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3672         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3673         gdk_mouse_get_info.
3674
3675         * gdk/linux-fb/gdkmain-fb.c:
3676         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3677
3678         * gdk/linux-fb/gdkprivate-fb.h:
3679         Removed public gdk_fb_find_common_ancestor, added and renamed
3680         functions for the new mouse handling code.
3681
3682         * gdk/linux-fb/gdkwindow-fb.c:
3683         Moved gdk_fb_window_send_crossing_events here. added global
3684         variable gdk_fb_window_containing_pointer. made
3685         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3686         renamed to gdk_mouse_get_info.
3687
3688 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3689
3690         * gdk/linux-fb/gdkevents-fb.c:
3691         Update to match latest gmain/gsource changes.
3692
3693         * gdk/linux-fb/gdkinput-ps2.c:
3694         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3695         it links. Will be implemented later.
3696
3697 2000-12-03  Havoc Pennington  <hp@pobox.com>
3698
3699         * gdk/Makefile.am: add gdkkeys.[hc]
3700
3701         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3702         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3703
3704         * acconfig.h, configure.in: add checks and command line options
3705         for XKB
3706
3707         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3708         
3709         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3710         and group in the key event
3711
3712         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3713         field with the low-level hardware key code, and a group
3714         field with the keyboard group
3715
3716         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3717         and declare a couple globals used for keymap handling
3718         
3719         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3720         hold down Shift-Control and type a hex number to get a Unicode 
3721         character corresponding to the hex number
3722         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3723         (return bytes not chars)
3724
3725 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3726
3727         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3728         to avoid waste on 64-bit platforms.
3729
3730 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3731
3732         * INSTALL: Fix link to PNG home, remove reference
3733         to fribidi.
3734
3735         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3736         
3737         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3738         tested.)
3739
3740         * gtk/gtkcheckmenuitem.c: Permanently turn on
3741         always_show_toggle.
3742
3743         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3744         be NULL. (Vladimir Klebanov, #26545)
3745
3746         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3747         some signed/unsigned comparison problems. (#6510,
3748         David Kaelbling)
3749
3750         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3751         return type to boolean (Oskar Liljeblad, #18648)
3752
3753 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3754
3755         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3756         Remove bogus colormap setting.
3757
3758 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3759
3760         * gdk/linux-fb/gdkcolor-fb.c:
3761         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3762
3763         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3764         Must set colormap.
3765         
3766 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3767
3768         * docs/tutorial/gtk-tut.sgml: DND updates
3769
3770 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3771
3772         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3773         Remove old debug g_warning().
3774         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3775         or an implementation, just pass the implementation to draw_drawable_2.
3776         
3777         * gdk/linux-fb/gdkprivate-fb.h:
3778         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3779
3780         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3781         clear and invalidate area when window is destroyed.
3782         (send_map_events): Remove old commented out code.
3783
3784 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3785
3786         * gdk/linux-fb/gdkpango-fb.c:
3787         Use italic instead of oblique in font aliases.
3788         
3789         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3790         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3791         other unsupported functions.
3792
3793 2000-12-04  Havoc Pennington  <hp@redhat.com>
3794
3795         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3796
3797         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3798
3799         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3800
3801         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3802         hack to avoid infinite loops (synthetic expose event) - 
3803         Owen has more appropriate fixes in a branch he'll check in later.
3804
3805         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3806         separator, CR, and CRLF as line ends
3807
3808         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3809         into lines using pango_find_paragraph_boundary(); other bits of
3810         the widget are still going to be broken if the boundary isn't '\n'
3811         though
3812
3813 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3814
3815         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3816         multiply.
3817
3818         * gdk/linux-fb/gdkpango-fb.c:
3819         Copied some 26.6 scaling macros from pango to clean up the rounding.
3820         (pango_fb_font_get_glyph_info): Correct sign on x value.
3821
3822         * gdk/linux-fb/gdkprivate-fb.h:
3823         Removed unreferenced external functions.
3824
3825         * modules/linux-fb/Makefile.am: Use ` instead of '.
3826
3827         * modules/linux-fb/basic.c:
3828         Remove dead code. In particular the dummy lang engine which broke all
3829         pango layouts in GtkFB. Don't include tables-big.i anymore.
3830
3831         * modules/linux-fb/tables-big.i:
3832         Upgrade to latest version from pango. Left for reference, basic_ranges
3833         moved to basic.c.
3834         
3835 2000-12-04  Havoc Pennington  <hp@redhat.com>
3836
3837         Fix bugs Alex found:
3838         
3839         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3840         to "draw"
3841
3842         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3843
3844         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3845
3846         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3847         implementation in here, apparently the expose() implementation was
3848         dead code.
3849
3850 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3851
3852         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3853         Return positive descent.
3854
3855 2000-12-02  Havoc Pennington  <hp@pobox.com>
3856
3857         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3858         method and signal
3859         
3860         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3861         calls gdk_window_process_updates() to push the exposes through
3862         (gtk_widget_class_init): No more draw signal, no
3863         gtk_widget_real_draw()  
3864         
3865         * gtk/gtkbin.c (gtk_bin_draw): remove
3866
3867         * gtk/gtkbox.c (gtk_box_draw): remove
3868
3869         * gtk/gtkbutton.c (gtk_button_draw): remove
3870
3871         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3872
3873         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3874
3875         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3876
3877         * gtk/gtkclist.c (gtk_clist_draw): remove
3878
3879         * gtk/gtkentry.c (gtk_entry_draw): remove
3880
3881         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3882
3883         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3884
3885         * gtk/gtkframe.c (gtk_frame_draw): remove
3886
3887         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3888
3889         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3890
3891         * gtk/gtklayout.c (gtk_layout_draw): remove
3892
3893         * gtk/gtklist.c (gtk_list_draw): remove
3894
3895         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3896
3897         * gtk/gtkmenu.c (gtk_menu_draw): remove
3898
3899         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3900
3901         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3902
3903         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3904
3905         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3906
3907         * gtk/gtkpacker.c (gtk_packer_draw): remove
3908
3909         * gtk/gtkrange.c (gtk_range_draw): remove
3910
3911         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3912
3913         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3914
3915         * gtk/gtktable.c (gtk_table_draw): remove
3916
3917         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3918
3919         * gtk/gtktext.c (gtk_text_draw): remove
3920
3921         * gtk/gtktextview.c (gtk_text_view_draw): remove
3922
3923         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3924
3925         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3926
3927         * gtk/gtktree.c (gtk_tree_draw): remove
3928
3929         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3930
3931         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3932
3933         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3934
3935         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3936
3937         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3938
3939         * gtk/gtkwindow.c (gtk_window_draw): remove
3940
3941 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3942
3943         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3944         a GtkToggleButton is both insensitive and active, it was being
3945         drawn by the GtkButton draw handler which doesn't check the
3946         state. Now it's calling gtk_toggle_button_paint instead.
3947         
3948 2000-12-01  Havoc Pennington  <hp@redhat.com>
3949
3950         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3951         dangling pointers to the appearance attributes from the 
3952         line display
3953
3954         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3955         width/height to mean "full width/height of drawable"
3956
3957         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3958         click to select word/line
3959         
3960         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3961         when getting log attrs. Get a slice, so that pixmaps and stuff
3962         are properly handled.
3963
3964         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3965         paste into the selection (replaces selection now, previously
3966         crashed or added to selection). Reveals longstanding btree bug -
3967         select multiple lines, middle-click on the selection, boom. This
3968         isn't related to my changes though.
3969
3970         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3971         PangoLogAttrs changes
3972         (gtk_entry_move_backward_word): ditto
3973
3974         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3975         functions return bool whether the iter moved onto a
3976         dereferenceable position.
3977  
3978         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3979         functions for motion in terms of display lines.
3980
3981         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3982         get the buffer a mark is inside
3983         
3984 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3985
3986         * gdk/linux-fb/Makefile.am:
3987         * modules/linux-fb/Makefile.am:
3988         Freetype 2 final uses freetype-config
3989
3990         * gdk/linux-fb/gdkpango-fb.c:
3991         Upgrade to use Freetype 2 final.
3992         More flexible support for font aliases, this also fixes a bug with
3993         GtkFontSelector, as the aliases must be visible in the font/family list,
3994         or GtkFontSelector reads uninitialized memory.
3995
3996 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3997
3998         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3999         XGetIMValues to properly terminate variable argument list, and do
4000         NULL return check for ic_values and xim_styles.
4001
4002         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4003         Restore preedit state after XmbResetIC().
4004         
4005         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4006         XvaCreateNestedList() should take XvaNestedList, but not
4007         XvaNestedList*.
4008
4009         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4010         preedit_draw_callback, preedit_caret_callback): Match
4011         "preedit-changed" signal name to "preedit_changed" to be
4012         consistent to the spec.
4013
4014         * gtk/gtkimcontextsimple.c (check_table):
4015         Match "preedit-changed" to "preedit_changed" to be consistent
4016         to the spec.
4017
4018 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4019
4020         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4021         gc->clip_region == NULL>
4022
4023 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4024
4025         Changes by Hans Breuer:
4026         
4027         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4028         Dont't use negative width and height as max_hints. This fixes
4029         Owen's recent testgtk changes for win32.
4030
4031         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4032         gdk_win32_hdc_release): These are exported and may be called with
4033         other drawable types than our GdkDrawableImplWin32 (?).
4034
4035         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4036         so always #define USE_BACKING_STORE.
4037
4038         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4039         of printf for debugging output.
4040
4041         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4042         
4043         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4044
4045         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4046         declaration.
4047
4048         * gtk/gtktexttypes.h: Ditto.
4049
4050         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4051         (GDK_VoidSymbol) also if in case of arg check failure.
4052
4053         * gtk/gtkimcontextsimple.c
4054         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4055         position to the pointer, but to the variable it points to.
4056
4057         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4058
4059         * gtk/gtk.def: Updates.
4060
4061 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4062
4063         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4064         GTK_TYPE_TREE_MODEL.
4065
4066 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4067
4068         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4069         Set the size of the font from the description.
4070         (gdk_text_width): Gross hack that calculates the width
4071         of text by text_length * size/2. This is necessary because
4072         GtkLabel does some ugly gtk_string_width call to calculate
4073         an good size.
4074         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4075
4076 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4077
4078         * docs/tutorial/gtk-tut.sgml: DND updates
4079
4080 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4081
4082         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4083         If you pass width or height == 0 to gdk_window_clear_area they
4084         should be calculated from the window size.
4085
4086 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4087
4088         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4089         a grab, but no grab-cursor, use the cursor from the grabbed
4090         window. (gdk_fb_window_send_crossing_events): Send normal
4091         enter/leave notifications if grab and owner_events == TRUE.
4092
4093 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4094
4095         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4096         Do implicit button grabs, even if the window doesn't
4097         want the event.
4098         (gdk_fb_window_send_crossing_events): If there is a
4099         grab, only the grabbed window gets normal enter/leave
4100         notifications. On ungrab go from grabbed window to current.
4101         Don't send any notification to b when propagating from c -> b.
4102         If setting a grab on window, don't set prev_window.
4103         (handle_mouse_input): Send enter/leave events to the window the
4104         mouse is over, not the grabbed one.
4105         
4106 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4107
4108         * gdk/gdkregion-generic.c: Zap warning.
4109         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4110         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4111
4112 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4113
4114         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4115         The cursor should be hidden if it is part of either the
4116         source or destination region. Not only if it is in both.
4117         (gdk_window_set_transient_for): Silence warnings.
4118
4119 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4120
4121         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4122         The default mode in X is Pie Arcs, therefore that is
4123         what Gtk+ uses.
4124
4125 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4126
4127         * gdk/linux-fb/gdkinput-ps2.c:
4128         Implement correct EnterNotify/LeaveNotify:
4129         (gdk_fb_window_send_crossing_events): New function that sends
4130         all GdkCrossingEvents from the last mouse-window to the specified
4131         destination.
4132         (gdk_fb_window_visibility_crossing): Removed function.
4133         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4134         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4135         instead of gdk_window_get_pointer() for better readability.
4136
4137         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4138         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4139
4140         * gdk/linux-fb/gdkprivate-fb.h:
4141         removed gdk_fb_window_visibility_crossing, added
4142         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4143
4144         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4145         New function that finds the least common ancestor of two windows.
4146         (gdk_window_show, gdk_window_hide):
4147         Use gdk_fb_window_send_crossing_events.
4148         (gdk_fb_window_move_resize): Send configure events to toplevel
4149         windows. Use gdk_fb_window_send_crossing_events.
4150
4151 2000-11-27  Havoc Pennington  <hp@redhat.com>
4152
4153         * gtk/gtkprivate.h (enum): Remove a trailing comma
4154
4155 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4156
4157         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4158         the "changed" callback of the adjustment.  We need to redraw the
4159         spin button's arrows when the adjustment's range changes.
4160         (adjustment_changed_cb): Draw the arrows.
4161         (gtk_spin_button_value_changed): Draw the arrows.
4162
4163 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4164
4165         * gdk/linux-fb/gdkselection-fb.c:
4166         Initial selection implementation.
4167
4168         * gtk/gtkselection.c:
4169         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4170         requestor in gtk_selection_request.
4171         
4172         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4173         Added gdk_selection_property atom.
4174
4175         * gdk/linux-fb/gdkprivate-fb.h:
4176         Export _gdk_selection_window_destroyed.
4177         Removed mask_off_x/y from GdkCursorPrivateFB.
4178         Removed hbearing, added top, left to PangoFBGlyphInfo.
4179
4180         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4181         Call _gdk_selection_window_destroyed
4182         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4183         the root window has been created.
4184         (static_dx_hack, static_dy_hack, compare_draw_rects,
4185         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4186         in region. They are already sorted. Instead just traverse them in
4187         reverse if draw_direction < 0.
4188         
4189         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4190         Double-clicks must be sent after the normal button_press.
4191         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4192         
4193         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4194         Pass _gdk_fb_screen_gc instead of NULL.
4195
4196         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4197         Initialize gdk_selection_property.
4198         (gdk_event_make): Remove unused code.
4199
4200         * gdk/linux-fb/gdkcursor-fb.c:
4201         Make the pixmap for the cursor the same size as the mask. Also remove
4202         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4203         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4204         Now the whole cursor is visible.
4205
4206         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4207         Fix bug where xdest+height instead of ydest+height was used
4208         to calculate if the source and dest overlapped. This fixes the
4209         redraw bug when the main window in testgtk was scrolled when
4210         partially covered by a tall window.
4211         Copy rectangles in region in order depending on draw_direction.
4212         Also moved the draw_direction flipping of start_y and end_y into
4213         the gc functions, as this might not be what all of them want.
4214         (gdk_fb_draw_lines): Support dashed lines.
4215         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4216         so that the text is positioned correctly (was 1 pixel high).
4217
4218         gdk/linux-fb/gdkgc-fb.c:
4219         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4220         all lines were drawn a pixel to short. Also checked the default of
4221         the rest of the values, and they're the same as X now.
4222
4223         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4224         Clean up pixel positioning of the glyphs. Just use bgy->top and
4225         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4226         to all divisions to get correct rounding behaviour.
4227
4228         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4229         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4230         Moved start_y/end_y flip into draw_drawable implementations.
4231         Flip also x rendering when draw_direction < 0.
4232         Remove unneccesary multiply with draw_direction.
4233
4234 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4235
4236         * docs/tutorial/gtk-tut.sgml:
4237           - get rid of gtk_toggle_button_toggled FUD
4238           - start DND section - needs work - based on:
4239                 http://wolfpack.twu.net/docs/gtkdnd/
4240
4241 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4242
4243         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4244         Correct calculation of font metrics. Now GtkEntrys have sane
4245         size.
4246
4247 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4248
4249         * gdk/gdktypes.h:
4250         Add new type GdkSpan
4251         
4252         * docs/reference/gdk/gdk-sections.txt,
4253         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4254         gdk/gdkregion.h:
4255         Implement and document gdk_region_spans_intersect_foreach.
4256
4257         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4258         Add new file gdkrender-fb.c which contains all core
4259         rendering code.
4260         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4261         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4262         (optimized rectangle fillers).
4263
4264         * gdk/linux-fb/gdkdrawable-fb2.c:
4265         Move all rendering code to gdkrender-fb.c.
4266         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4267         Use the new span intersection functions in gdk_fb_fill_spans.
4268         gdk_fb_draw_rectangle() clips filled rectangles and calls
4269         gc->fill_rectangle with the result.
4270         gdk_fb_fill_spans() gets extra argument "sorted".
4271
4272         * gdk/linux-fb/gdkevents-fb.c:
4273         Remove unused includes and defines.
4274         New function gdk_fb_get_time() to get correct time for events.
4275
4276         * gdk/linux-fb/gdkinput-ps2.c:
4277         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4278         Make sure to set the time of all events.
4279
4280         * gdk/linux-fb/gdkmain-fb.c:
4281         Use gdk_fb_get_time ().
4282
4283         * gdk/linux-fb/gdkprivate-fb.h:
4284         New virtual GC calls: fill_span & fill_rectangle.
4285         Export gdk_fb_get_time().
4286         gdk_fb_fill_spans() gets extra argument "sorted".
4287
4288         * gdk/linux-fb/mi*.c:
4289         Use GdkSpan instead of GdkRectangle.
4290         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4291         from XFree 4 source)
4292         
4293 2000-11-22    <jrb@redhat.com>
4294
4295         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4296         reversing the order in an if statement will do.  Doing so managed
4297         to make the treemodelsort half work.  Other half will follow after
4298         I get the insert function fully fixed.
4299
4300 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4301         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4302         more than 2 bits. Besides, I need to implement an evil hack. :)
4303
4304 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4305
4306         * docs/tutorial/gtk-tut.sgml: minor corrections
4307
4308 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4309         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4310           convert to and from relative path's and iters.
4311
4312         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4313           testing sorting functions a bit better.  Currently broken -- will
4314           fix in morning.
4315
4316 2000-11-20  Havoc Pennington  <hp@redhat.com>
4317
4318         * gtk/gtkwidget.c: Documented a bunch of functions in here
4319         (gtk_widget_realize): Warn if you try to realize
4320         a widget with no parent that isn't a toplevel
4321         (gtk_widget_intersect): return a gboolean
4322
4323 2000-11-20  Havoc Pennington  <hp@redhat.com>
4324
4325         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4326         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4327         scrolling to be implemented in GDK to finish. Also, right now
4328         we just size_allocate all children on every layout change,
4329         which is pretty lame. Test commented out of testtext.c, 
4330         until it works better.
4331
4332 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4333
4334         * gdk/linux-fb/gdkdrawable-fb2.c:
4335         Removed unused arguments from gdk_fb_drawable_get_pixel().
4336
4337         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4338         Renamed fidur specific mouse packet data in MouseDevice to
4339         generic. Used it in ps2 mouse handling code to avoid blocking
4340         reads.
4341
4342 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4343
4344         * demos/gtk-demo/main.c: Changed to have the list become
4345         non-italic when the demo window is destroyed through an external
4346         event (like a close button).  Doing so found three bugs in the
4347         widget.
4348
4349         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4350
4351         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4352         we actually set the cell.
4353
4354         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4355
4356         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4357         free a leaked path.  Thanks memprof.
4358
4359 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4360
4361         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4362         off-by-one error when destroying allocated segments
4363         on failure. (Elliot)
4364
4365 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4366
4367         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4368         memleaks found by Evan Martin.
4369
4370 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4371
4372         * Released 1.3.2
4373         
4374         * NEWS: Updates for 1.3.2
4375
4376 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4377
4378         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4379         but in general for window system specific events.
4380
4381         * gtk/gtk.def
4382         * gtk/makefile.mingw.in
4383         * gtk/makefile.msc.in: Update.
4384         
4385         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4386
4387 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4388
4389         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4390         distribute gtk.immodules.
4391
4392         * gtk/Makefile.am (install-data-local): Don't install the
4393         gtk.immodules file created for the uninstalled modules;
4394         instead run gtk-query-immodules after install
4395
4396 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4397
4398         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4399         -rpath to the right install location.
4400
4401         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4402         -export-dynamic.
4403
4404         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4405         properly.
4406
4407 2000-11-15  Havoc Pennington  <hp@pobox.com>
4408
4409         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4410         patch from Mikael Hermansson to temporarily stop blinking while
4411         the user is using the keyboard to type or navigate. 
4412
4413         Also, when blinking, stay on for longer than we stay off. Also,
4414         return from start_cursor_blink if !cursor_visible, to save
4415         checking that flag all over the place before we call
4416         start_cursor_blink.
4417
4418 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4419
4420         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4421         only contain a "fontset" line, which is now ignored.
4422
4423         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4424         double-click-to-select-word work.
4425         
4426 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4427
4428         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4429         Don't move back one char when we are actually at the end of the 
4430         paragraph.
4431
4432 2000-11-15  Robert Brady  <robert@suse.co.uk>
4433
4434         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4435         'o' < 'p'.
4436         
4437         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4438         bind_textdomain_codeset.
4439
4440         (gtk_init_check): Make the warning about translating default:LTR
4441         sterner.
4442         
4443 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4444
4445         * **/Makefile.am : remove unecessary rules for win32-specific
4446         config-substituted targets. If you want these rules, use
4447         --enable-maintainer-mode (called automatically by autogen.sh).
4448         Stops a lot of unneccessary make-time warnings.
4449
4450         * gtk/gtktext{layout,display}.c: Factor in total width as
4451         well as screen when figuring alignment for word-wrap as well as
4452         no wrap; this is necessary to handle lines that cannot be wrapped
4453         at all.
4454
4455 2000-11-15  Havoc Pennington  <hp@redhat.com>
4456
4457         * gtk/testtext.c: Implement essential color cycling feature
4458
4459 2000-11-15  Havoc Pennington  <hp@redhat.com>
4460
4461         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4462         when we invalidate the main window.
4463
4464         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4465         GtkTextView will now invalidate the side windows for us when text
4466         changes.
4467
4468 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4469
4470         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4471         unconditionally, since we may need to update the horizontal
4472         scrollbars even if the height didn't change.
4473
4474         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4475         the extra attrs, since some of them affect size.
4476
4477         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4478         x_offset correctly.
4479
4480 2000-11-15  Havoc Pennington  <hp@redhat.com>
4481
4482         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4483         don't move the first line out into the margin, instead move the
4484         whole paragraph in order to make space for the first line within 
4485         the margin
4486
4487 2000-11-15  Havoc Pennington  <hp@redhat.com>
4488
4489         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4490         xoffset in addition to yoffset, so horizontal scrolling doesn't
4491         break redraws
4492
4493 2000-11-15  Havoc Pennington  <hp@redhat.com>
4494
4495         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4496         from the cursor
4497         (render_layout_line): fix reversed test that caused weird
4498         underlines to get drawn
4499
4500 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4501
4502         * gdk/linux-fb/gdkprivate-fb.h:
4503         Fix debug macros.
4504         
4505 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4506
4507         * gdk/linux-fb/gdkprivate-fb.h:
4508         Added virtual functions set_pixel, get_color,
4509         fill_span and draw_drawable to the GC.
4510         Added global _gdk_fb_screen_gc to use instead of
4511         NULL when drawing to the screen.
4512         Added _gdk_fb_gc_calc_state() prototype.
4513
4514         * gdk/linux-fb/gdkgc-fb.c:
4515         Call _gdk_fb_gc_calc_state() on any gc state change.
4516
4517         * gdk/linux-fb/gdkglobals-fb.c:
4518         Add _gdk_fb_screen_gc
4519                 
4520         * gdk/linux-fb/gdkdrawable-fb2.c:
4521         _gdk_fb_gc_calc_state() calculates best functions
4522         for the GC state and depth.
4523         Moved bpp specialized code to separate functions.
4524         Added optimized 24 bpp AA draw_drawable.
4525
4526         * gdk/linux-fb/gdkevents-fb.c:
4527         Silence gcc warning.
4528
4529         * gdk/linux-fb/gdkimage-fb.c:
4530         Use _gdk_fb_screen_gc
4531
4532         * gdk/linux-fb/gdkwindow-fb.c:
4533         Init and use _gdk_fb_screen_gc
4534
4535         * gdk/linux-fb/mitypes.h:
4536         Remove unused types.
4537
4538 2000-11-14  Havoc Pennington  <hp@pobox.com>
4539
4540         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4541         to pixels
4542
4543 2000-11-14  Havoc Pennington  <hp@pobox.com>
4544
4545         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4546
4547         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4548         unknown char, no real reason we were using a variable. 
4549         Remove gtk_text_unknown_char variable. Fix all the text widget
4550         files accordingly.
4551
4552         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4553         since the Unicode spec seems to prefer that character for our
4554         purposes.
4555
4556 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4557
4558         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4559         value of g_getenv() isn't freeable, so g_strdup it.
4560
4561         * modules/input/inuktitut.c: Inuktitut input method.
4562
4563         * modules/input/Makefile.am: Build this.
4564         
4565 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4566
4567         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4568         of gtk programs.
4569
4570 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4571
4572         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4573         reversed > that was causing Home to go to end of previous line.
4574
4575         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4576         modified-keypresses (leave for bindings.)
4577
4578         * modules/input/Makefile.am: Remove useless -export-dynamic
4579         from module LDFLAGS.
4580
4581 2000-11-14  Havoc Pennington  <hp@redhat.com>
4582
4583         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4584         higher.
4585
4586         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4587         account. Also, render rise, underline, background, etc. for
4588         pixbufs as well as text. Also, draw underlines one pixel higher.
4589
4590         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4591         PangoAttribute for the rise, so it gets drawn properly. Also,
4592         add the GtkTextAppearance attribute for pixbuf/widget segments
4593         as well; we should go ahead and have rise, underline, background,
4594         stipple work for those
4595
4596         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4597         Pango
4598
4599 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4600
4601         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4602
4603         * gtk/gtk.def: Update.
4604
4605         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4606         included.
4607         (gtk_rc_get_im_module_file): Use run-time installation directory
4608         on Win32.
4609
4610         * gdk/win32/rc/gdk.rc: Remove.
4611         * gdk/win32/rc/gdk.rc.in: New file.
4612         * gdk/win32/rc/Makefile.am: New file
4613         * gdk/win32/Makefile.am: Corresponding changes.
4614
4615         * gtk/gtk.rc: Remove.
4616         * gtk/gtk-win32.rc.in: New file.
4617         * gtk/Makefile.am: Corresponding changes.
4618
4619         * configure.in: Corresponding changes.
4620
4621         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4622         has a built gtkcompat.h. Developers using CVS code on Win32 can
4623         hand-edit it from gtkcompat.h.in.
4624
4625         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4626         gtkcompat.h from gtkcompat.h.win32.
4627
4628 2000-11-14  Havoc Pennington  <hp@redhat.com>
4629
4630         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4631         to default to GDK_ACTION_MOVE if the drag is within a single
4632         widget. Defaults to GDK_ACTION_COPY between widgets.
4633
4634 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4635
4636         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4637
4638         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4639
4640         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4641         srcdir != builddir
4642
4643         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4644
4645         * configure.in (GTK_VERSION): Up to 1.3.2
4646
4647         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4648         gtkimcontextxim.h
4649
4650         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4651         missing doc comment.
4652
4653 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4654
4655         * modules/linux-fb/basic.c:
4656         Use the glib iconv wrappers.
4657
4658 2000-11-13  Havoc Pennington  <hp@pobox.com>
4659
4660         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4661         still more bugs.
4662
4663         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4664         scroll the GdkWindows before realization.
4665
4666 2000-11-13  Havoc Pennington  <hp@redhat.com>
4667
4668         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4669         where GC didn't always get updated properly
4670
4671         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4672         of fonts instead of setting the entire font
4673
4674         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4675         setting entire font
4676
4677         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4678
4679         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4680         a bunch of individually-settable font attributes. You can still 
4681         use the "font" and "font_desc" args, they just set all the font
4682         attributes at once.
4683
4684 2000-11-13 Elliot Lee <sopwith@redhat.com>
4685
4686         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4687
4688 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4689
4690         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4691         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4692
4693         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4694         work better.
4695
4696 2000-11-13  Havoc Pennington  <hp@redhat.com>
4697
4698         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4699         the module file.
4700
4701         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4702         dest->language
4703
4704         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4705         settings
4706
4707         * gtk/gtktextview.c: Implement object args and setters/getters for
4708         all the aspects of the GtkTextAttributes that are not set from
4709         GtkWidget attributes. This is spacing, justification, margins,
4710         etc.
4711
4712         (gtk_text_view_set_arg)
4713         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4714         args
4715         (gtk_text_view_class_init): Add args for justify, left_margin,
4716         right_margin, indent, and tabs
4717         
4718
4719         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4720         attribute properly
4721
4722         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4723         replace with indent attribute
4724
4725         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4726         PANGO_SCALE
4727
4728         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4729         rearranging code to do that
4730         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4731         i.e. don't subtract the top_margin first, just to keep
4732         all margin-futzing in one place.
4733
4734         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4735
4736         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4737         special case of last line, Pango now handles this itself.
4738         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4739         Y coordinate
4740         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4741         (find_display_line_above): wasn't moving the byte index as it
4742         iterated over lines, so always returned byte 0. Also, port to use
4743         PangoLayoutIter.
4744         (find_display_line_below): same problem as
4745         find_display_line_above. Also, port to use PangoLayoutIter.
4746
4747 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4748
4749         * gdk/linux-fb/*.[ch]:
4750         Massive reindent to gtk+ standard. My hands hurt.
4751
4752         * gdk/linux-fb/gdkcolor-fb.c:
4753         Move GdkColorPrivateFB from inherited to windowing_data
4754
4755         * gdk/linux-fb/gdkcursor-fb.c:
4756         _gdk_cursor_new_from_pixmap made static
4757
4758         * gdk/linux-fb/gdkdnd-fb.c:
4759         GdkDragContextPrivate moved to windowing_data
4760
4761         * gdk/linux-fb/gdkdrawable-fb2.c:
4762         Removed endian.h, use glib endianness macros instead
4763         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4764         and GDK_DRAWABLE_IMPL_FBDATA
4765
4766         * gdk/linux-fb/gdkfont-fb.c:
4767         Add empty gdk_font_load(). Needed for linking of Gtk+.
4768
4769         * gdk/linux-fb/gdkimage-fb.c:
4770         Removed endian.h, use glib endianness macros instead
4771         Moved GdkImagePrivateFB to windowing_data
4772         gdk_image_new_bitmap didn't always allocate enough
4773         memory.
4774
4775         * gdk/linux-fb/gdkinput-ps2.c:
4776         Added semi-working support for MS serial mice.
4777
4778         * gdk/linux-fb/gdkprivate-fb.h:
4779         s/GdkWindowPrivate/GdkWindowObject/
4780         Removed GdkWindowPrivate typedef
4781         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4782         Removed GDK_DRAWABLE_P
4783         Move GdkColorPrivateFB from inherited to windowing_data
4784         Moved GdkImagePrivateFB to windowing_data
4785
4786         * gdk/linux-fb/gdkvisual-fb.c:
4787         Removed some unused debug code.
4788
4789         * gdk/linux-fb/gdkwindow-fb.c:
4790         Use stock cursors instead of including X headers.
4791         s/GdkWindowPrivate/GdkWindowObject/
4792
4793         * gdk/linux-fb/mitypes.h:
4794         Removed unused types.
4795
4796         * modules/linux-fb/basic.c:
4797         Use the pango fribidi wrappers.
4798
4799 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4800
4801         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4802         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4803         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4804         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4805         GEqualFunc where applicable.
4806         
4807         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4808         pango_font_description_equal as changed in pango.
4809         
4810         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4811
4812         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4813
4814         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4815
4816         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4817
4818         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4819
4820         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4821
4822         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4823         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4824
4825         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4826         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4827
4828 2000-11-12  Havoc Pennington  <hp@pobox.com>
4829
4830         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4831         dir to datadir/gtk+-2.0/demo
4832
4833         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4834         sorts of text widget and Pango font bugs. Urgh.
4835
4836         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4837
4838         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4839         tree that you should double click to see the demo. Fix 
4840         types of variables to reflect changed return values from 
4841         GtkTreeStore and GtkTreeViewColumn constructors.
4842
4843         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4844         newly-created buffer to prepare for GObject semantics
4845
4846         * gtk/testtext.c: don't leak the buffer with GObject semantics
4847
4848         * gtk/testtextbuffer.c: ditto
4849         
4850 2000-11-12  Havoc Pennington  <hp@pobox.com>
4851
4852         Rename this testgtk to gtk-demo to avoid confusion, and 
4853         install it so people can use it as a supplement to 
4854         the documentation.
4855         
4856         * demos/gtk-demo: Moved from demos/testgtk
4857
4858         * demos/testgtk: Removed
4859
4860         * configure.in: make Makefile in gtk-demo
4861         
4862         * demos/gtk-demo/Makefile.am: Install sample source to 
4863         datadir/gtk-demo (maybe there's a better place?), and 
4864         rename the binary to gtk-demo
4865         
4866         * demos/gtk-demo/main.c (load_file): Load installed sample
4867         source if source isn't found in pwd.
4868
4869 2000-11-09  Havoc Pennington  <hp@pobox.com>
4870
4871         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4872         argument to set the char displayed when visibility == FALSE
4873         (gtk_entry_create_layout): If !entry->visible, replace 
4874         all chars with the "invisible char"
4875
4876         * gtk/testgtk.c: Test the invisible_char deal
4877         
4878 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4879
4880         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4881         can't get a native font in the right encoding.
4882
4883 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4884
4885         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4886         respectively.
4887
4888 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4889
4890         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4891         Fix warning when moving between paragraphs.
4892
4893         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4894         delete => delete_from_cursor, insert => insert_at_cursor
4895
4896 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4897
4898         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4899
4900         * modules/input/imthai-broken.c: A Thai input method for use if
4901         Thai keys are really generating Latin1 keysyms.
4902
4903         * modules/input/Makefile.am: Build these.
4904
4905 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4906
4907         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4908         g_filename_{to,from}_utf8 now takes an extra parameter.
4909
4910         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4911         strftime into UTF-8.
4912
4913         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4914         calendars.
4915
4916         (gtk_calendar_paint_day_names): Draw day names in the right 
4917         place.
4918         
4919 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4920
4921         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4922         problem with using result of g_get_charset() backwards -
4923         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4924
4925         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4926         negative min_width/height and max_width/height to
4927         mean "requisition"; this allows setting a window
4928         to be user-resizable in only one direction easily.
4929
4930         * gtk/testgtk.c (create_main_window): Remove hard-coded
4931         usize - set a default size in the vertical direction.
4932
4933 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4934
4935         * gtk/gtkrange.c: Add some missing casts. Support 
4936         2 and 3 button clicks on the arrows to mean 
4937         "move by pages" and "jump to end". (Like gtkspinbutton)
4938
4939 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4940
4941         * gdk/win32/makefile.msc : reflect build module changes
4942
4943         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4944         from GdkPixmap*, cast implementation member instead.
4945
4946         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4947         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4948         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4949         more Gdi functions return value checking. 
4950         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4951         GdkImagePrivateWin32 *.
4952
4953         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4954         menus useable again. Add #pragma message to keep reminded on this issue.
4955         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4956         windows. This allows to enable backing store on Win32!
4957
4958         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4959         in drawable is of impl type. Correct specific type checks appropriate.
4960  
4961         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4962         GDK_WINDOW_DESTROYED before allocating new resources.
4963
4964         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4965
4966         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4967         (gdk_window_foreign_new) initialize parent handle.
4968         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4969
4970         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4971         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4972         problems (e.g. main buttons in testgtk). 
4973
4974 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4975
4976         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4977         gtk_widget_activate for GDK_Return.
4978
4979         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4980         of preedit cursor position.
4981
4982 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4983
4984         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4985         static.
4986
4987 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4988
4989         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4990         out support for multiple locales; that simple doesn't
4991         work reliably with current Xlib
4992
4993         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4994         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4995         Add support for positioning the cursor within the preedit string.
4996
4997 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4998
4999         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5000         at XIM input method module.
5001
5002         * gtk/gtktextview.c: Check for bindings after passing
5003         events to im context filter.
5004
5005 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5006
5007         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5008         empty attribute lists properly.
5009
5010 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5011
5012         * gtk/queryimmodules.c (main): Return non-zero exit
5013         status if errors were encountered querying any
5014         modules.
5015
5016         * modules/input/Makefile.am (moduledir): remove
5017         leftover bin program target.
5018
5019         * docs/make-todo: Fix typo in error message.
5020
5021 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5022
5023         * configure.in: Add modules/input/Makefile
5024
5025 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5026
5027         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5028         don't include gtkthemes.h.
5029
5030         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5031         to point
5032
5033         * gtk/Makefile.am: Add new .c and .h files, build 
5034         gtk-query-immodules and use it to create a gtk.immodules
5035         file for use of test programs.
5036
5037         * gtk/gtkpreview.c: remove extra blank line.
5038
5039 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5040
5041         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5042         Add the ability to add extra tables beyond the default
5043         one, and also the ability to have compose sequences 
5044         that are prefixes of other compose sequences. 
5045
5046         * gtk/gtkimcontextsimple.c: Export a preedit string which
5047         consists of possible candidates for keystrokes that have
5048         been entered but not yet committed.
5049
5050         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5051         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5052
5053         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5054         Add a function to add input-method switching menu items
5055         to a menu.
5056
5057         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5058         when switching input methods.
5059
5060         * gtk/gtkimcontextsimple.[ch]: Change the format of
5061         the compose table to allow compose tables of different
5062         lengths / sequence.
5063
5064 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5065
5066         * gtk/gtkimmodule.[ch]: Support routines for loading
5067         GtkIMContext implementations dynamically at runtime.
5068
5069         * modules/input/imcyrillic-translit.c: A sample input
5070         method (based on GtkIMContextSimple with an extra table),
5071         which demonstrates preedit strings and the module
5072         system for input modules
5073
5074         * gtk/queryimmodules.c: Program to query the available
5075         input modules and write the results into a file.
5076          
5077         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5078         extra config options "im_module_file" (cache file for
5079         input method modules), and "im_module_path" - path
5080         to look for modules when generating cache file.
5081
5082         This doesn't scale.
5083
5084 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5085
5086         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5087         generic code from gtkthemes into a new abstraction
5088         GtkModule which has the logic for implementing
5089         a loadable module which implements a number of 
5090         GObject types.
5091
5092 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5093
5094         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5095         a class into an interface  
5096         
5097         * gtk/gtkoldeditable.[ch]: Move the old editable
5098         implementation into here, so legacy widgets can
5099         still rely on the implemenation. GtkOldEditable
5100         exports GtkEditable. Make selection handling
5101         code use new text conversion functions (and
5102         handle UTF-8 as a side-effect). Use GtkClipboard
5103         for CLIPBOARD.
5104
5105         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5106         Adopt to match above changes.
5107
5108         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5109         avoid GtkOldEditable implementation. Restructure
5110         to reduce number of places that modify state directly.
5111         Move to GtkBindingSet. Display the preedit string.
5112         Queue recomputation of PangoLayout and scroll position
5113         to improve effiency of doing complex changes naively.
5114         Add a menu with cut/copy/paste and input method selection.
5115
5116 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5117
5118         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5119         to set preedit string and attributes; display preedit string by
5120         inserting string and attributes at cursor when creating the
5121         GtkTextLineDisplay.
5122
5123         * gtk/gtktextlayout.c: Move all conversions between byte
5124         positions in PangoLayout and GtkTextIter into new functions
5125         line_display_iter_to_index/index_to_iter that properly
5126         handle the preedit string.
5127
5128         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5129         it to return const char * (eventually will end up
5130         as GCONST char *, most likely.)
5131
5132         * gtk/gtktextview.[ch]: Handle the preedit string, call
5133         gtk_im_context_reset() as necessary, add a menu to switch
5134         input methods.
5135         
5136         * gtk/gtktextlayout.[ch]: Remove useless
5137         gtk_text_layout_get_log_attrs() function.
5138
5139 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5140
5141         * gdk/gdk.def
5142         * gtk/gtk.def: Update.
5143
5144         * gdk/win32/*.c: Add last argument to g_type_register_static()
5145         calls.
5146
5147         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5148
5149         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5150         generated by older wheel mouse drivers. Get the correct y
5151         coordinate from WM_MOUSEWHEEL messages.
5152
5153         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5154         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5155         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5156         Debugging functions.
5157
5158         * gdk/win32/gdkprivate-win32.h: Declare them.
5159
5160         * gdk/win32/gdkinput-win32.h: Add declaration for
5161         gdk_input_window_destroy().
5162
5163         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5164
5165 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5166
5167         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5168         function to help handle keeping things in sync.
5169
5170 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5171
5172         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5173         BOXED marshallers.
5174
5175         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5176         (gtk_list_store_class_init): use the new BOXED marshallers.
5177
5178         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5179         new_with_values to new_with_types.
5180         (gtk_tree_store_get_column_type): add this.
5181         (gtk_tree_store_class_init): use the new BOXED marshallers.
5182
5183         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5184         mirror some POINTER marshallers.
5185
5186 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5187
5188         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5189         allow more interesting iterators.  Also, made the lifecycle of
5190         iterators more explicit.
5191
5192         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5193
5194         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5195         types.
5196
5197 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5198
5199         * demos/testgtk/menus.c:
5200         Changes to make the new testgtk compile after
5201         gtk_menu_append was removed.
5202
5203         * gdk/linux-fb/gdkdrawable-fb2.c
5204         (gdk_fb_get_depth, gdk_fb_get_visual,
5205         gdk_drawable_impl_fb_class_init): Implement
5206         these drawable functions. Now GtkImages work again.
5207
5208         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5209
5210         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5211         
5212         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5213         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5214         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5215         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5216
5217 2000-11-08  Havoc Pennington  <hp@pobox.com>
5218
5219         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5220         visible_set args, don't know where these had gone, I thought they
5221         used to be there
5222
5223         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5224         now we can test the feature and see that it's totally broken.
5225
5226 2000-11-08  Havoc Pennington  <hp@pobox.com>
5227
5228         Make DND copy pixbufs and tags when source and target share a 
5229         tag table.
5230         
5231         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5232         in-process GTK_TEXT_BUFFER_CONTENTS target
5233         (gtk_text_view_drag_data_received): Paste from
5234         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5235
5236 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5237
5238         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5239         API changes.
5240
5241         * gtk/gtkmenu.c: Add support for scrolling menus.
5242         Remove gtk_menu_append/prepend/insert, these have been moved to
5243         gtkcompat.h as #defines.
5244
5245         * gtk/gtkcompat.h.in:
5246         Add compatibility #defines for gtk_menu_append/prepend/insert
5247
5248         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5249         GtkMenuPositionFunc gets an extra argument push_in.
5250         gtk_menu_append/prepend/insert removed.
5251         
5252         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5253         positioning behaviour to fit to scrolling menus.
5254
5255         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5256         into menuitem->submeny. That is wrong, and broke torn
5257         off submenus of torn off menus, since they were unrealized
5258         when the first menu was unrealized.
5259
5260         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5261         gtk_menu_shell_select_item() since these need to be overridden in
5262         GtkMenu.
5263
5264         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5265         positioning behaviour to fit to scrolling menus.
5266         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5267         the current item so that it is prelighted when the menu pops up.
5268         This is a workaround to the fact that the menu doesn't get the
5269         initial enter event (due to grabs).
5270
5271         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5272         s/gtk_menu_append/gtk_menu_shell_append/
5273
5274         * gtk/gtknotebook.c:
5275         s/gtk_menu_insert/gtk_menu_shell_insert/
5276
5277         * gtk/testgtk.c (create_menu, create_menus):
5278         Create the first menu with 50 items so that menu scrolling
5279         can be tested.
5280         
5281         
5282         Patch from Jonathan Blandford  <jrb@redhat.com>
5283
5284         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5285         system to handle size requests.  First, we ask what the size of
5286         the toggle is.  Then, when allocating the size, we allocate the
5287         toggle_size first.  This way we can have multiple menu-item
5288         classes w/o needing a seperate class for each.
5289
5290         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5291         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5292
5293         * gtk/gtkcheckmenuitem.c
5294         (gtk_check_menu_item_toggle_size_request): New function to handle
5295         the toggle size-request.
5296
5297 2000-11-07  Havoc Pennington  <hp@redhat.com>
5298
5299         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5300         Half-ass somewhat fix this function, so that scrolling to the
5301         insertion point works. Pango hacking is in the future to really
5302         fix it.
5303
5304         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5305         length of data, no longer used.
5306
5307         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5308         method contents in here, get rid of destroy method
5309         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5310         that were backward. Remove debug spew.
5311         (cut_or_copy): Make the clipboard work with insert_range to
5312         preserve tags and pixbufs, not just the primary selection.
5313
5314 2000-11-07  Havoc Pennington  <hp@redhat.com>
5315
5316         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5317         to gtk_text_mark_get_visible
5318
5319         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5320         bug that was generating an invalid iterator
5321
5322         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5323         ensure_char_offsets() in front of code placing the iter in an
5324         invalid state.
5325
5326         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5327         make override_location arg const
5328         (paste): Replace the selection if we paste into the 
5329         current selection
5330
5331         * gtk/gtkselection.h: Remove "GtkSelectioData"
5332         (struct _GtkSelectionData): move the definition here.
5333
5334         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5335         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5336
5337         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5338
5339         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5340         (gtk_text_buffer_insert_range_interactive): implement
5341         (gtk_text_buffer_get_tags): Remove, replaced by
5342         gtk_text_iter_get_tags()
5343
5344         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5345         limit parameter, to avoid infinite linear scan.
5346         (gtk_text_iter_backward_search): Add search limit
5347         (gtk_text_iter_forward_find_char): Add search limit
5348         (gtk_text_iter_backward_find_char): Add search limit
5349
5350 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5351
5352         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5353         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5354         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5355         gdk/linux-fb/gdkwindow-fb.c:
5356         use g_object_new() instead of g_type_create_instance() which
5357         is a private function for fundamental type implementations.
5358
5359         * gdk/linux-fb/gdkinput-ps2.c:
5360         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5361         instead just store the current modifier state. Add a (somewhat broken)
5362         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5363         Rename exported function gdk_input_ps2_get_mouseinfo to
5364         gdk_input_get_mouseinfo.
5365
5366         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5367         gdk/linux-fb/gdkwindow-fb.c:
5368         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5369         
5370
5371 2000-11-02  Havoc Pennington  <hp@redhat.com>
5372
5373         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5374         use stock buttons. Should be 100% source compatible, appropriate
5375         filesel fields now point to dialog->vbox and dialog->action_area.
5376         On the bizarre side, dialog->action_area and filesel->action_area
5377         are not the same widget.
5378         (gtk_file_selection_init): Put some padding around the selection
5379         entry, so it isn't touching the GtkDialog separator.    
5380
5381         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5382         use stock buttons, etc. Should also be source compatible.
5383         Set the dialog default title in _init not _new().
5384         
5385         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5386         Use stock buttons; don't put a button box inside the existing
5387         dialog button box. Don't bother with push/pop colormap anymore.
5388
5389         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5390         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5391         for message dialog, and necessary for the font selection and color
5392         selection with help and apply buttons.
5393         
5394         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5395         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5396         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5397         between buttons, put less padding around the action area.
5398         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5399         This will also exit the loop if the widget is hidden.
5400         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5401         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5402         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5403         special-case delete event.
5404
5405         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5406         formatting
5407         
5408 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5409
5410         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5411         button to temporarily disable position recording in the
5412         "saved position" test.
5413
5414 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5415
5416         * gtk/gtkthemes.c: added compat code that temporarily implements
5417         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5418         going to be revamped by owen's upcoming GtkModule patches, but
5419         untill then people want gtk to build, right? ;)
5420
5421 2000-11-04  Havoc Pennington  <hp@pobox.com>
5422
5423         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5424         list
5425
5426         * docs/Changes-2.0.txt: Add note about
5427         gtk_container_get_toplevels()
5428
5429         * gtk/gtktextview.h: formatting
5430         
5431         * gtk/gtktextview.c: don't start descriptions with "Returns",
5432         confuses gtk-doc
5433
5434 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5435
5436         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5437         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5438
5439 2000-11-03  Havoc Pennington  <hp@redhat.com>
5440
5441         * gtk/gtktexttagtable.c: Docs
5442         (gtk_text_tag_table_size): return a signed int
5443
5444         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5445         (gtk_text_tag_event): make the event_object a GObject
5446
5447         * gtk/gtktextview.c: Write API docs for all functions.
5448
5449         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5450         for gtk_text_view_get_window_type() called on one of the private
5451         windows.
5452
5453         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5454         directly, call get_buffer() which demand-creates a default
5455         buffer. So gtk_text_view_new() can be used to create a view with a
5456         default buffer in it, if you just want an empty text box users can
5457         put data in. Useful for GUI builders also.
5458
5459 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5460
5461         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5462         the charset encodign portion MUST be in lowercase.
5463         * gtk/gtkrc.az: added file for Azeri language
5464
5465 2000-11-03  Havoc Pennington  <hp@redhat.com>
5466
5467         Get widgets working on the btree/buffer side. Display of them 
5468         still doesn't work.
5469         
5470         * gtk/gtktextview.c: start implementing child widget stuff
5471
5472         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5473
5474         * gtk/gtktextlayout.c: handle embedded widgets
5475
5476         * gtk/gtktextdisplay.c: handle embedded widgets
5477
5478         * gtk/gtktextchild.c: Implement all the child anchor goo
5479
5480         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5481         function
5482
5483         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5484         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5485         creating a child anchor or a pixbuf segment.
5486         (gtk_text_btree_create_child_anchor): new function
5487         (gtk_text_btree_unregister_child_anchor): new function
5488
5489         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5490         allocate_child signal on GtkTextLayout
5491
5492         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5493         values
5494         (gtk_text_iter_get_child_anchor): new function
5495
5496         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5497         default handler for the changed signal, which calls
5498         gtk_text_buffer_set_modified(), instead of just always emitting
5499         changed then calling set_modified() manually. I guess this is
5500         maybe more flexible. It seems logical.
5501
5502 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5503
5504         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5505         now.
5506
5507         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5508
5509 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5510
5511         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5512         been marked static.
5513
5514 2000-11-02  Havoc Pennington  <hp@redhat.com>
5515
5516         * gtk/testgtk.c (create_labels): had a test backward
5517
5518         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5519         fields, so the dest GC ends up with the correct clip origin, 
5520         etc. Fixes a bug where colored labels didn't redraw 
5521         properly.
5522
5523 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5524
5525         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5526         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5527         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5528         Add last argument to t_type_register_static call.
5529         
5530         * gdk/linux-fb/gdkdrawable-fb2.c:
5531         Add last argument to t_type_register_static call.
5532         export the get_image drawable virtual function.
5533
5534         * gdk/linux-fb/gdkimage-fb.c:
5535         Add last argument to t_type_register_static call.
5536         rename gtk_image_get to _gdk_fb_get_image and
5537         export it for use by gdkdrawable-fb2.
5538
5539         * gdk/linux-fb/gdkprivate-fb.h:
5540         export _gdk_fb_get_image.
5541
5542         * gdk/linux-fb/gdkselection-fb.c:
5543         Add new api call stubs.
5544
5545         * gtk/Makefile.am:
5546         Missing ( in linux-fb part.
5547
5548         * modules/linux-fb/Makefile.am:
5549         Must link with gdk_pixbuf or get unresolved symbol.
5550
5551 2000-11-01  Havoc Pennington  <hp@pobox.com>
5552
5553         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5554         GTK_TYPE_TEXT_ITER and BOXED marshallers
5555
5556         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5557
5558         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5559         
5560         * gtk/gtk-boxed.defs: add GtkTextIter
5561
5562         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5563         properly use OBJECT and BOXED
5564
5565 2000-11-01  Havoc Pennington  <hp@redhat.com>
5566
5567         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5568
5569         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5570         before returning it. 
5571         
5572 2000-11-01  Havoc Pennington  <hp@redhat.com>
5573
5574         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5575         Clip the rectangle to be rendered to the drawable, since
5576         get_from_drawable() requires a region within the drawable
5577
5578 2000-11-01  Havoc Pennington  <hp@redhat.com>
5579
5580         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5581         from coordinates.
5582
5583 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5584
5585         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5586         it isn't NULL.
5587
5588 2000-11-01  Havoc Pennington  <hp@pobox.com>
5589
5590         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5591         on a label
5592         (gtk_label_finalize): unref the attr list if any.
5593
5594         * gtk/testgtk.c (create_get_image): close test on second click
5595         (make_message_dialog): close dialog if it exists
5596
5597         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5598
5599         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5600         gdk-pixbuf
5601
5602         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5603         from Pango markup format
5604         (gtk_label_set_markup_with_accel): ditto but with accelerator
5605         parsing
5606
5607         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5608
5609         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5610         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5611         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5612         call gdk_window_get_origin().
5613
5614         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5615         implement GDK_PIXBUF_ALPHA_FULL
5616         
5617 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5618
5619         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5620         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5621         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5622         multiple handlers respectively, instead of only treating the
5623         first handler found (bug reported by owen).
5624
5625 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5626
5627         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5628
5629         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5630
5631         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5632         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5633         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5634
5635         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5636         widget.  Needs writing someday.
5637
5638         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5639         the docs.
5640
5641 2000-10-30  Havoc Pennington  <hp@redhat.com>
5642
5643         * gtk/gtktextview.h, gtk/gtktextview.c:
5644         Rename delete_at_cursor delete_from_cursor, and 
5645         move to move_cursor.
5646
5647 2000-10-30  Havoc Pennington  <hp@redhat.com>
5648
5649         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5650         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5651         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5652         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5653         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5654         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5655         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5656         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5657         gtktexttypes.h, gtktextview.c, gtktextview.h:
5658
5659         Massive reindentation and reformatting. Arg alignment and comments
5660         still need fixing in various places.
5661
5662 2000-10-30  Havoc Pennington  <hp@redhat.com>
5663
5664         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5665         to be named insert_at_cursor and delete_at_cursor so C++ can
5666         handle them.
5667
5668 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5669
5670         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5671         to get a double directory separator in case the home directory
5672         ends with one. This would cause trouble especially on Windows,
5673         where the path will be confused with the syntax for an an UNC
5674         (network share) path \\server\share\path.
5675         (gtk_rc_add_initial_default_files): Ditto.
5676
5677 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5678
5679         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5680
5681         * gtk/gtktextview.c: Use correct marshallers.
5682
5683 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5684
5685         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5686         use new iter stuff, and added all the appropriate signals et al.
5687
5688         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5689         code is internal to gtk only.
5690
5691 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5692
5693         * gtk/gtk.def
5694         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5695         glib-genmarshal etc.
5696
5697 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5698
5699         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5700         parallel builds.
5701
5702 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5703
5704         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5705
5706 2000-10-27  Robert Brady  <robert@suse.co.uk>
5707
5708         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5709         en_GB (British), ia (Interlingua).
5710
5711 2000-10-26  Havoc Pennington  <hp@redhat.com>
5712
5713         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5714
5715         Fixed output of:
5716         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5717         
5718         * gtk/gtktextsegment.c (char_segment_new): rename
5719         (_char_segment_new_from_two_strings): rename
5720         (_toggle_segment_new): rename
5721         
5722         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5723         (make_clipboard_widget): make it static
5724         (text_get_func): static
5725         (text_clear_func): static
5726
5727         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5728         static
5729         (hex_changed): make it static
5730         (hsv_changed): make it static
5731         (opacity_entry_changed): make it static
5732
5733         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5734         (toggle_segment_check_func): rename with _gtk
5735
5736         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5737         (_widget_segment_new): rename
5738         (_widget_segment_add): rename
5739         (_widget_segment_remove): rename
5740         (_widget_segment_ref): rename
5741         (_widget_segment_unref): rename
5742
5743         * gtk/gtktextmark.c (_mark_segment_new): Rename
5744         _gtk_mark_segment_new   
5745
5746 2000-10-26  Havoc Pennington  <hp@redhat.com>
5747
5748         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5749         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5750         types
5751
5752         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5753         marshaller types
5754
5755         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5756         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5757         license on these files.
5758
5759         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5760         work.
5761
5762         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5763         runtime random number different for each tree, instead of 
5764         a constant I made up.
5765
5766 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5767
5768         * gtk/Makefile.am: buncha cleanups, kludged build sources
5769         dependencies with a Makefile: oldest-source-stamp dependancy
5770         for the moment. automake is really fighting us here, with
5771         intentionally not allowing user-defined rules or dependancies
5772         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5773
5774         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5775         to public headers. tehy have a comment stating that they are
5776         "semi-public" aren't included by gtk.h and if enums popup there,
5777         they can be /*< skip >*/-ed.
5778
5779         * gtk/gtktextlayout.h: 
5780         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5781         added LGPL... <SIGH>
5782
5783 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5784
5785         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5786         GtkTreeIter.  Added iterators everywhere.
5787
5788         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5789
5790         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5791
5792         * gtk/gtktreestore.c: Changed to use the iterators.
5793
5794         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5795         iterators tomorrow.
5796
5797         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5798         iterators tomorrow.
5799
5800         * gtk/treestoretest.c: Changed to use iterators.
5801
5802         * demos/testgtk/main.c: Moved to use the new iterator system.
5803
5804 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5805
5806         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5807         localization misbehaviour.
5808
5809         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5810         a useless type without copy/free.
5811
5812         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5813         of GTK_TYPE_CTREE_NODE.
5814
5815 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5816
5817         * gtk/gtksignal.c:
5818         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5819         applicable.
5820
5821         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5822         gtk_selection_data_copy and gtk_selection_data_free
5823         do GtkSelectionData work as params in signals.
5824
5825 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5826
5827         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5828         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5829         couldn't they at least give it a non-standard name?
5830         
5831         * gtk/gtktextlayout.c: arg! yet another implementation of
5832         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5833
5834         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5835         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5836         home. now i know this _is_ a conspiracy.
5837
5838         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5839         ::state-changed.
5840
5841         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5842         (gtk_accel_group_create_add): marshaller signature fixups.
5843
5844         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5845         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5846
5847         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5848         anymore.
5849
5850 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5851
5852         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5853         due to the signal system changes, it wouldn't build currently. to
5854         be fixed soon.
5855
5856         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5857
5858         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5859         so it needs gtk_marshal_VOID__ENUM() instead of
5860         gtk_marshal_NONE__UINT().
5861
5862         * gdk/gdk*.c: adapted type registration functions.
5863
5864         * gtk/gtkbindings.c:
5865         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5866         gone.
5867
5868         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5869
5870         * gtk/gtkobject.c:
5871         (gtk_object_destroy):
5872         (gtk_object_shutdown): fixed recursion guards. basically we have to
5873         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5874         is called during ::destroy, and avoid recursion there.
5875
5876         * gtk/gtktypeutils.c:
5877         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5878         boxed_copy/boxed_free. this needs a more general solution based on a
5879         publically installed code-generator utility.
5880
5881         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5882         glib's gobject has support for that now.
5883         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5884
5885 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5886
5887         * gtk/gtksignal.[hc]:
5888         * gtk/gtkmarshal.[hc]:
5889         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5890         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5891         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5892         care of that.
5893
5894         * *.c: marshaller name fixups.
5895
5896         * gtk/gtkmarshal.list: added a comment briefing the format.
5897
5898 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5899
5900         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5901         compatibility macros here now. more specifically, most of
5902         the API is preserved (yes, _most_, nonwithstanding the
5903         following exceptions listed, the API is stil lHUGE ;)
5904         things that got removed completely:
5905         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5906         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5907         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5908         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5909         gtk_signal_remove_emission_hook().
5910         non-functional functions variants:
5911         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5912         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5913         not supported anymore.
5914         (gtk_signal_compat_matched): new internal function to aid
5915         implementation of the compatibility macros, it  provides
5916         functionality to block/unblock/disconnect handlers based
5917         on func/data.
5918
5919         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5920
5921         * *.c: adaptions to new type registration API signatures.
5922
5923 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5924
5925         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5926
5927 2000-10-25  Robert Brady  <robert@suse.co.uk>
5928
5929         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5930         gdk_property_delete): If window == NULL, assume the root window.
5931         (restoring the behaviour that was in 1.2).
5932         
5933         * gtk/testtext.c (save_buffer): Allow creation of new files when
5934         saving.
5935
5936         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5937         calls to read().
5938
5939 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5940
5941         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5942
5943         * gdk/win32/gdkdrawable-win32.c
5944         * gdk/win32/gdkimage-win32.c
5945         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5946         X11 backend.
5947
5948         * gdk/win32/gdkcc-win32.c
5949         * gdk/win32/gdkcolor-win32.c
5950         * gdk/win32/gdkfont-win32.c
5951         * gdk/win32/gdkinput-win32.c
5952         * gdk/win32/gdkmain-win32.c
5953         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5954
5955 2000-10-24  Havoc Pennington  <hp@redhat.com>
5956
5957         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5958         it a static function
5959
5960         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5961         redraw text when a tag is applied to it.
5962
5963         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5964         (gtk_text_tag_affects_nonsize_appearance): private functions to
5965         see if a tag requires various kinds of redraw/layout to be queued
5966         up.
5967
5968         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5969
5970         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5971         at the start of the buffer, so search works by default
5972
5973         * gtk/gtktextiter.c (lines_match): init match_start always
5974
5975         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5976         function, get iter at a line + a byte index
5977
5978         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5979         to set byte position within a line
5980         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5981
5982 2000-10-23  Havoc Pennington  <hp@redhat.com>
5983
5984         * gtk/testtext.c: Re-enable the "find" dialog
5985
5986         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5987         
5988         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5989         the arguments to gdk_draw_drawable were in the wrong order
5990         (gdk_window_paint_init_bg): This function was ignoring the
5991         init_region, instead of clipping to it, so the entire backing
5992         pixmap was cleared on every begin_paint()
5993         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5994         was in here again, the loop kept using the same GtkWindowPaint
5995         over and over.
5996         (gdk_window_begin_paint_region): Fix a bug where we had two
5997         x_offset instead of x_offset and y_offset
5998
5999         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6000         before we get the image.
6001         (gdk_draw_drawable): get the composite before we draw the drawable.
6002         (gdk_drawable_real_get_composite_drawable): default
6003         get_composite_drawable implementation that returns the drawable 
6004         itself
6005
6006         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6007         get_composite_drawable virtual function
6008
6009         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6010         list-walking bug
6011
6012         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6013         make this work if the source drawable is a GdkDrawableImplX11
6014         instead of a public drawable type. This is really broken; the
6015         problem is that GdkDrawable needs a virtual method get_xid(), but
6016         of course that doesn't work in practice. Enter RTTI.
6017
6018         Also, improve mismatched depth message.
6019
6020         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6021         GdkPixmap
6022
6023         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6024         install _gdk_x11_get_image as our implementation of get_image
6025         
6026         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6027         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6028
6029         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6030         gdk_drawable_get_image
6031
6032         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6033
6034         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6035         get_image
6036
6037         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6038         trailing semicolon after for loop
6039
6040 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6041
6042         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6043         where font_desc for widget's context lagged widget's font_desc by
6044         one step.
6045
6046 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6047
6048         * gdk/win32/gdkgc-win32.c
6049         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6050
6051         * gtk/makefile.mingw.in
6052         * gtk/gtk.def: Updates.
6053
6054         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6055         library.
6056
6057         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6058
6059         * gtk/makefile.msc: Remove
6060
6061         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6062
6063         * gtk/Makefile.am: Add it.
6064
6065         * configure.in: Generate it.
6066
6067         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6068         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6069         something even if not implemented, to satisfy picky MSVC.
6070
6071         Patches by Hans Breuer:
6072         
6073         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6074         SetBkMode() and SetTextAlign() before calling
6075         pango_win32_render().
6076
6077         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6078         Set hcliprgn to NULL after destroying it.
6079         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6080
6081         * gdk/win32/gdkgeometry-win32.c
6082         (_gdk_windowing_window_queue_antiexpose): More effective
6083         implementation.
6084
6085         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6086         depth as default, not the visual's.
6087
6088         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6089         against empty title.
6090
6091         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6092         IMAGE_PRIVATE_DATA.
6093
6094         * gdk/win32/gdkimage-win32.c: Use it.
6095
6096 2000-10-22  Robert Brady  <robert@suse.co.uk>
6097
6098         * configure.in: Check for bind_textdomain_codeset
6099
6100         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6101         present, make use of it.
6102
6103         Add a translatable string "default:LTR" which, if translated
6104         to "default:RTL", will cause the default direction to be
6105         Right-to-Left.
6106
6107         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6108         direction if marked as flippable.
6109
6110         * gtk/gtkhscale.c: Mark widget as flippable.
6111         
6112 2000-10-04  Havoc Pennington  <hp@redhat.com>
6113
6114         * gtk/testgtk.c (create_buttons): create some stock buttons
6115         with the default accel group
6116         (create_image): test some new GtkImage features
6117         (make_message_dialog): test GtkMessageDialog
6118         (create_modal_window): fix someone's bizzarro indentation
6119
6120         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6121         GTK_WIN_POS_CENTER_ON_PARENT. 
6122         Add "destroy with parent" setting, which means the window goes
6123         away with its transient parent.
6124         (gtk_window_get_default_accel_group): get the default accel group
6125         for the window.
6126         (gtk_window_set_destroy_with_parent): set/unset destroy with
6127         parent flag
6128         (gtk_window_read_rcfiles): invalidate icon set caches
6129         after reloading rcfiles 
6130
6131         * gtk/gtkenums.h (GtkWindowPosition): add
6132         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6133         on its parent window when the dialog is mapped for the first time.
6134
6135         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6136         a simple message dialog class
6137         
6138         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6139         handler to emit response signal, and maybe later it would
6140         honor a hide_on_delete flag - though that isn't there yet.
6141         Set border width on the vbox to 2, so we get some padding.      
6142         Use a button box for the action area.
6143         (gtk_dialog_key_press): synthesize a delete event if Esc
6144         is pressed and the GtkWidget key press handler didn't 
6145         handle the escape key.
6146         (gtk_dialog_new_with_buttons): new function creates a dialog
6147         with some default buttons in it.
6148         (gtk_dialog_add_action_widget): add an activatable widget
6149         as a button in the dialog - you can also add a non-activatable
6150         widget by accessing the action area directly.
6151         (gtk_dialog_add_button): add a simple button - stock ID or 
6152         label - to the action area
6153         (gtk_dialog_response): emit response signal
6154         (gtk_dialog_run): block waiting for the dialog, return 
6155         the response. Override normal delete_event behavior, so that 
6156         delete_event does nothing inside gtk_dialog_run().
6157
6158         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6159         emitted when an action widget is clicked or the dialog gets
6160         delete_event
6161
6162         * gtk/gtk.h: add gtkmessagedialog.h
6163
6164         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6165
6166 2000-10-18  Havoc Pennington  <hp@redhat.com>
6167
6168         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6169         where any number of empty lines would get skipped
6170
6171         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6172         edge.
6173
6174         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6175         warning about invalid iterators (explain more thoroughly)
6176         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6177
6178         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6179         big
6180
6181         * demos/*.c: Add error handling
6182
6183         * gtk/gtktextbuffer.c: don't modify const iterators
6184
6185         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6186
6187         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6188         on file load
6189
6190         * gtk/gtkiconfactory.c: Update to reflect addition of error
6191         handling to gdk-pixbuf loaders
6192
6193 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6194
6195         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6196         move to new modularized testgtk.
6197
6198 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6199
6200         * gtk/gtktreeview.c: Draw the arrows correctly.
6201
6202         * gtk/gtktreemodel.c: Added user docs.
6203
6204         * gtk/gtk.h: remove gtktreedatalist.h.
6205
6206         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6207         parent when generating my type.
6208
6209         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6210         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6211
6212 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6213
6214         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6215         GtkTreeModel from object to interface.
6216
6217 2000-10-16  Havoc Pennington  <hp@redhat.com>
6218
6219         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6220         compilation
6221
6222 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6223
6224         * gtk/gtktreeselection.c: Add API documentation to all public
6225         functions.
6226
6227         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6228         functions.
6229
6230 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6231
6232         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6233         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6234         docs to all public functions.
6235
6236         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6237         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6238         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6239         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6240         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6241         issue.
6242
6243 2000-10-14  Robert Brady  <robert@suse.co.uk>
6244
6245         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6246
6247 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6248
6249         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6250         values other then G_TYPE_STRING.
6251         * gtk/gtktreeselection.c: Minor commenting updates.
6252         * gtk/gtktreeview.c: Format updates.
6253
6254 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6255
6256         * README.win32: Update.
6257
6258         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6259         lines that had been deleted by mistake (?).
6260
6261         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6262         also the case fg==white and bg==black (but still not randomly
6263         coloured cursors). Thanks to Wolfgang Sourdeau.
6264
6265         * gdk/win32/*.c: Silence gcc -Wall.
6266
6267         * gtk/gtk.def: Add missing entry points.
6268
6269         Fixes by Hans Breuer:
6270
6271         * gdk/makefile.msc
6272         * gdk/win32/makefile.msc: Update.
6273
6274         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6275         some MSVC thing, presumably), cause breakpoint on failures. Add
6276         GDK_NOR case. Call g_log_set_always_fatal.
6277
6278         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6279         should be pased by reference.
6280         
6281         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6282         
6283         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6284
6285         * gdk/win32/gdkevents-win32.c
6286         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6287
6288         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6289         implementation object.
6290
6291         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6292         not just windows.
6293         
6294         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6295         Use the wrapper object.
6296         
6297 2000-10-06  Havoc Pennington  <hp@redhat.com>
6298
6299         * Makefile.am (SRC_SUBDIRS): contrib subdir
6300
6301         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6302         so it can be used in Xlib version
6303
6304         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6305         tree
6306
6307         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6308         change from 1.0 tree that returns first frame of animation
6309         if the loaded file is an animation.
6310
6311         * contrib: add new directory to hold stuff that comes with GTK+
6312         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6313         
6314         * configure.in: add contrib/*
6315
6316 2000-10-05  Havoc Pennington  <hp@redhat.com>
6317
6318         * demos/testpixbuf-save.c: add pixbuf save test
6319
6320         * demos/Makefile.am: add testpixbuf-save.c
6321
6322 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6323
6324         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6325         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6326         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6327         * gtk/gtktreeselection.[ch]: Replaced
6328         "node_selected"/"node_unselected" signal with "selection_changed"
6329         signal.
6330
6331 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6332
6333         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6334         tree widget.
6335
6336 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6337
6338         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6339         drawing.
6340
6341 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6342
6343         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6344         Move list pointer forwards before removing item from
6345         list. (Crash reported by Salmaso Raffaele)
6346
6347         * gdk/gdkwindow.h: Remove spurious trailing ,
6348
6349         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6350         dependencies on uninstalled libraries, sorry folks.
6351
6352 2000-10-04  Havoc Pennington  <hp@redhat.com>
6353
6354         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6355         gtk/gtkiconfactory.c: Fix copyrights    
6356
6357         * demos/testpixbuf.c: add inline pixbuf test
6358         
6359 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6360
6361         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6362         Add gdk_window_iconify.
6363
6364         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6365         (gdk_window_set_geometry_hints): Add win_gravity
6366         to geometry structure.
6367
6368         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6369         Implement _NET_WM_PING.
6370
6371         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6372         Set _NET_WM_PID on the client leader.
6373
6374         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6375         Handle UTF-8 better.
6376
6377         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6378         UTF-8 better, set _NET_WM_NAME as well. Only set
6379         icon name if it hasn't previously been explicitely 
6380         set.
6381
6382 2000-10-03  Havoc Pennington  <hp@redhat.com>
6383
6384         * gtk/testtextbuffer.c: clean up trailing whitespace,
6385         add extensive tests for tag toggle iteration.
6386         
6387         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6388         distance
6389
6390         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6391         optimize case where the tag root is on level 1
6392         (gtk_text_line_previous_could_contain_tag): attempt to implement
6393         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6394         functionality
6395
6396         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6397         Implement this, though not very efficiently.
6398
6399         * gtk/gtktextiterprivate.h: reformat
6400
6401         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6402         iterator
6403
6404         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6405         this to properly revalidate the iterators.
6406
6407         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6408         properly at the end of the line (and therefore on empty lines)
6409
6410         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6411         maybe we should return a value...
6412
6413 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6414
6415         * config.h.win32: Guard definition of alloca(). glib.h now handles
6416         that.
6417
6418         * gdk/gdk.def
6419         * gtk/gtk.def: Add new entry points.
6420
6421         Changes just to make GTK+ build without errors on Win32. No hope
6422         of it working in its current state, though...:
6423         
6424         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6425         some functions from the X11 backend, just to make GTK+ build.
6426
6427         * gdk/makefile.mingw.in
6428         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6429         number. Add new object files.
6430
6431         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6432         GetMessageTime to get timestamp (where on X11 uses
6433         gdk_x11_get_server_time()).
6434
6435 2000-10-02  Havoc Pennington  <hp@pobox.com>
6436
6437         * gtk/gtktextview.c: text_window_* weren't static and should have
6438         been.
6439         Start work on child widgets; not yet complete, syncing to 
6440         office computer.
6441
6442         * gtk/gtktextchild.h: change this to contain a public interface,
6443         starting work on child interfaces.
6444         * gtk/gtktextchildprivate.h: move private interfaces here
6445
6446         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6447
6448         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6449         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6450         gtk/gtktextmark.c: copyright notices
6451
6452         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6453         internal functions      
6454
6455         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6456         internal function
6457
6458         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6459         Reformatting    
6460
6461 2000-09-30  Havoc Pennington  <hp@pobox.com>
6462
6463         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6464         NULL start/end pointers
6465
6466         * gtk/gtktextbuffer.c: Write some docs
6467         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6468         NULL, so you can just check whether there's a selection.        
6469
6470         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6471         cleanup_line or segments_changed ourselves, it gets done 
6472         in unlink_segment
6473
6474         * gtk/gtktextmark.h:
6475         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6476         
6477         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6478
6479         * gtk/gtktextmark.c: delete some more old Tk cruft
6480
6481         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6482         mark before removing it, so we can emit MARK_DELETED with a valid
6483         pointer.
6484         (gtk_text_buffer_mark_set): hold ref across signal emission
6485
6486         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6487         whining about attempts to delete special marks
6488
6489         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6490         underscore, since it's internal.
6491
6492         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6493         now implemented in terms of iterators in gtktextiter.h
6494
6495         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6496         New function, destructively sets contents of buffer. Also 
6497         a convenient way to clear the buffer by setting text to ""
6498
6499         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6500         multiline string literal
6501
6502         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6503         text changes.
6504
6505         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6506         is not dereferenceable
6507         (gtk_text_iter_forward_lines): fix return value
6508
6509 2000-09-29  Havoc Pennington  <hp@redhat.com>
6510
6511         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6512
6513         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6514         that set border window size to have nicer name
6515         (gtk_text_view_mark_set_handler):  Fix this to have the 
6516         right signature.
6517
6518         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6519
6520         * gtk/testtext.c: Update with API changes, put line numbers on 
6521         both sides.
6522         
6523         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6524         with this
6525
6526         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6527         pixbuf; delete a big block of #if 0 Tk code
6528
6529         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6530         insert_pixmap with insert_pixbuf
6531
6532 2000-09-29  Martin Baulig  <baulig@suse.de>
6533
6534         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6535         confusion with the GdkPixbuf of the GNOME 1.x platform.
6536
6537 2000-09-29  Havoc Pennington  <hp@pobox.com>
6538
6539         * gtk/gtktextview.c: Implement the side windows.
6540
6541         * gtk/testtext.c: Implement simple line numbering in the 
6542         left side window; seems to make scrolling sloooow. Oops.
6543         Also, cursor blink is for some reason causing redraws
6544         of the line numbers. Should investigate...
6545
6546 2000-09-28  Havoc Pennington  <hp@redhat.com>
6547
6548         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6549         scrolling child windows, and draw focus rectangle properly.
6550         
6551         (gtk_text_view_buffer_to_window_coords):
6552         Coordinate transformation to deal with all these freaking windows
6553         and offsets
6554         (gtk_text_view_window_to_buffer_coords): transform the other way
6555
6556         * gtk/testtext.c (create_buffer): Update to match Pango API change
6557
6558         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6559         anonymous tags
6560         (foreach_unref): don't emit remove signal from finalize, just
6561         set tag's parent to NULL
6562
6563 2000-09-26  Havoc Pennington  <hp@redhat.com>
6564
6565         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6566         Fix some warnings       
6567
6568 2000-09-26  Havoc Pennington  <hp@redhat.com>
6569
6570         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6571         headers into the private header list
6572
6573         * Makefile.am (pkgconfig_DATA): install pkg-config files
6574
6575         * configure.in: add pkg-config files
6576
6577         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6578
6579         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6580         outstanding icon caches on theme change.
6581
6582         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6583         important types:
6584
6585         (GtkIconSource): Specification for creating a pixbuf 
6586         appropriate for a direction/state/size triplet from 
6587         a source pixbuf or filename
6588
6589         (GtkIconSet): List of GtkIconSource objects that are used to
6590         create the "same" icon (e.g. an OK button icon), and cache for
6591         rendered icons
6592
6593         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6594         up the icon set for a given stock ID.  GTK maintains a stack of
6595         GtkIconFactory to search, and applications or libraries can add
6596         additional icon factories on top of the stack
6597         
6598         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6599         the set of GtkIconSource specified for a given stock ID into 
6600         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6601         RcStyle, under the specified stock ID.
6602
6603         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6604         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6605         This allows people to theme how prelight, insensitive, etc. are
6606         done.
6607
6608         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6609         icon factories for a style, and return the resulting 
6610         icon set if any.
6611
6612         (gtk_style_render_icon): Render an icon using the render_icon 
6613         method in the GtkStyleClass.
6614
6615         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6616         Use the style for a given widget to look up a stock ID, get the
6617         icon set, and render an icon using the render_icon method 
6618         of the style
6619
6620         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6621         (contains information about a stock item), the built-in stock item
6622         IDs, and functions to add/lookup stock items.
6623
6624         * gtk/stock-icons/*: Stock icons that come with GTK
6625
6626         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6627         a button based on a GtkStockItem
6628         (gtk_button_new_accel): Takes a uline string and accel group, and
6629         installs the accelerator.
6630
6631         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6632         image-display widget.
6633
6634 2000-09-25  Havoc Pennington  <hp@redhat.com>
6635
6636         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6637
6638         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6639         Fix a bug when removing node data, we didn't properly 
6640         re-splice the linked list after removing the data.
6641
6642         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6643         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6644
6645         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6646
6647         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6648         for the layout from the GtkTextTag.
6649
6650         * gtk/gtktexttypes.h: delete tab and search cruft, 
6651         remove g_convert() in favor of GLib version
6652
6653         * gtk/gtktexttypes.c: remove tab implementation from here,
6654         move to Pango
6655
6656         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6657         tab stuff using new PangoTabArray from Pango
6658
6659         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6660         unused border_width stuff
6661
6662 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6663
6664         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6665         glib) and now useless utf_to_latin1() latin1_to_utf()
6666
6667         * gtk/gtktextview.[ch]: Change ::move_insert and
6668         ::delete_text action signals to ::move and ::delete;
6669         create the signals with the right enumeration type,
6670         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6671         C-v bindings, change Home, End to move to beginning/end
6672         of line, Add C-Home C-End to move to beginning/end
6673         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6674         combine ::scroll_text into ::move; use new GtkSelectionData
6675         functions to simplify DND text handling.
6676         
6677         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6678         deletion enumerations here, rename enumeration values to 
6679         be consistently plural.
6680
6681         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6682         for cut/copy/paste and primary selection.
6683
6684         * gtk/gtktextbuffer.[ch]: Remove excess time and
6685         'interactive' arguments from cut/copy/paste;
6686         rename cut to cut_clipboard, etc; remove
6687         gtk_text_buffer_get_clipboard_contents().
6688
6689         * gtk/gtktextlayout.[ch]: Add 
6690         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6691         line ends.
6692
6693         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6694         Functions to set or get a UTF-8 string on the selection
6695         data.
6696
6697         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6698         interfaces.
6699
6700         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6701         created widgets - one of these is useless if we don't.
6702
6703         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6704         a public function clear all targets registered for the
6705         widget.
6706
6707         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6708         Never call gtk_widget_realize() - that was just asking
6709         for bizarre side-effects.
6710
6711         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6712         gdk_selection_owner_set even if the widget is the
6713         same so that we reliably update the timestamp on
6714         the server.
6715
6716         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6717         gdk_x11_get_server_time() function.
6718         
6719         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6720         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6721         Add some tricky filtering on serial numbers for
6722         selection clear events to fix up long-standard
6723         race condition FIXME's in gtkselection.c.
6724
6725         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6726         routines to convert from utf8 to compound text or
6727         STRING and from a text property to UTF-8.
6728
6729         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6730         a convenience function gdk_get_current_event_time().
6731
6732         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6733         and free selection_data->data properly
6734
6735 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6736
6737         * gtk/gtkthemes.c: Remove some unecessary includes.
6738
6739 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6740
6741         * gtk/gtktextdisplay.c
6742         * gtk/gtktextlayout.c
6743         * gtk/gtktexttag.c
6744         * gtk/gtktexttag.h
6745         * gtk/testtext.c: Change the overstrike property to strikethrough,
6746         to closer match pango.
6747
6748 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6749
6750         * gtk/gtktextview.c: Fix up visibility so that focus,
6751         cursor_visible and blink interact properly.  Reenable cursor blink
6752         which had been roughly disabled. Make blink and focus
6753         properly per-view.
6754
6755         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6756         Add a flag for whether to display insertion cursor and
6757         a function to set the flag.
6758
6759         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6760         get_line_y() to get_line_yrange(), to be a bit more generally
6761         useful.
6762
6763 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6764
6765         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6766           do stop_navigating_submenu, to clear last timeout properly.
6767           Also in gtk_menu_motion_notify move ignore_enter above
6768           the conditional to make it always happen as suggested by Owen
6769
6770 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6771
6772         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6773
6774         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6775         w32api headers.
6776
6777         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6778         declarations.
6779
6780         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6781         (gdk_win32_get_colormap): A line had been deleted by mistake.
6782
6783         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6784         (gdk_event_translate): Handle more virtual keycodes to be able to
6785         generate GDK events for Control-comma, Control-period, etc.
6786
6787         * gtk/gtk.def: Add some missing entry points.
6788
6789 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6790
6791         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6792         Doc comment fixing. (Mostly non-matching parameter names.)
6793
6794         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6795         comments a little to avoid looking like a doc comment.
6796
6797         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6798         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6799         conversions be changed to GError?)
6800
6801         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6802         Move private #defines into .c file.
6803
6804         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6805         order of argument addition, remove duplicates.
6806
6807         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6808         parent class is FrameClass, not BinClass.
6809
6810         * gtk/gtk.h: Add gtkinvisible, which was missing.
6811         (It's occasionalyl useful for client apps, if seldom.)
6812
6813         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6814         #define.
6815
6816 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6817
6818         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6819         coordinates when creating window, instead of GDK-space
6820         coordinates. (Avoid BadValue on too large windows.)
6821
6822 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6823
6824         * configure.in (use_mmx_asm): Remove conftest* after use along the
6825         lines of AC_TRY_COMPILE.        
6826         
6827         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6828         of g_dirname, which is deprecated.
6829         (gtk_rc_parse_any): Removed calls to
6830         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6831
6832         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6833         Removed calls to g_hash_table_{freeze,thaw}, as they are
6834         deprecated now.
6835
6836         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6837         instead of g_basename.
6838         
6839 2000-09-04 Elliot Lee <sopwith@redhat.com>
6840         
6841         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6842         ANSI warning.
6843
6844 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6845
6846         * gtk/gtkwidget.h:  Add some documenting comments about 
6847           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6848           just as owen said on irc.
6849
6850         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6851           set HAS_DEFAULT.  Only set it if there isn't another window
6852           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6853           it if the widget is not the focused window with RECEIVES_DEFAULT.
6854           This fixes weird double default bugs in dialogs which has things
6855           call gtk_window_set_default at times.
6856
6857 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6858
6859         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6860         Nils Barth and David Santiago to improve submenu
6861         navigation. The patch does this by creating a triangular
6862         region from the point where the pointer leaves the
6863         menu to the submenu.  While the pointer is in
6864         that region and a timeout has not expired, events 
6865         that would cause the active submenu to change are
6866         ignored.
6867
6868 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6869
6870         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6871         moving a toplevel window immediately after sizing it would
6872         result in it being sized back to the old size since 
6873         impl->width, impl->height aren't updated until we hear
6874         back from the server. There is still a (longstanding) bug
6875         here that gdk_window_get_size() will give the wrong size
6876         until we do hear back.
6877
6878 2000-08-31  Havoc Pennington  <hp@redhat.com>
6879
6880         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6881         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6882         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6883         Rename GtkTextStyleValues to GtkTextAttributes
6884
6885 2000-08-31  Havoc Pennington  <hp@pobox.com>
6886
6887         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6888         for rapid testing whether an iterator is the end iterator
6889         (gtk_text_btree_new): init end line cache
6890         (gtk_text_line_is_last): use fast cached line to 
6891         see if we're the last line.
6892         (get_last_line): use cached line here too, should 
6893         speed up some random unrelated code.
6894         
6895 2000-08-30  Havoc Pennington  <hp@pobox.com>
6896
6897         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6898         signals.
6899
6900         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6901         delete_text signals. This allows the signals to be used for
6902         implementing undo.
6903
6904         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6905         provide "interactive" argument when emitting insert_text or
6906         delete_text signal.
6907         
6908 2000-08-30  Havoc Pennington  <hp@pobox.com>
6909
6910         * gtk/gtktextbuffer.c: Docs
6911
6912 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6913
6914         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6915         from switch statements, since Tor removed the enumeration
6916         value.
6917         
6918         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6919         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6920
6921 2000-08-29 Elliot Lee <sopwith@redhat.com>
6922         * */*.h: Use G_GNUC_CONST.
6923
6924 2000-08-27  Havoc Pennington  <hp@pobox.com>
6925
6926         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6927         minor indentation fixes, inserted some FIXME about stuff I
6928         realized was broken while documenting it.
6929         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6930         GTK convention  
6931
6932 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6933
6934         * gtk/testgtk.c (create_styles): Fix double free of
6935         font desc.
6936
6937 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6938
6939         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6940         
6941         * gtk/testgtk.c (create_styles): Add a test for modifying
6942         the style through gtk_widget_modify_*.
6943
6944         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6945         a function to get the current modifier style.
6946
6947         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6948         of the passed in GtkRcStyle instead of ref'ing it.
6949
6950         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6951
6952 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6953
6954         * gdk/gdkimage.h
6955         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6956         shared memory image+pixmap GdkImage type, or
6957         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6958         I am dropping that.
6959
6960         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6961         actually call gtk_init_abi_check(), passing also
6962         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6963
6964         * gtk/gtk.def
6965         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6966         New functions, used to check that the GTK+-using code has been
6967         compiled using the correct compiler and switches. In particular,
6968         with gcc one has to use the -fnative-struct switch as GTK+ is
6969         compiled with that.
6970
6971 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6972
6973         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6974         ->prev fields when merging lists. (Found simultaneously
6975         by Pawel Salek and Jakub Jelinek)
6976
6977 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6978
6979         * gdk/gdk.def
6980         * gtk/gtk.def: Add missing entries.
6981
6982         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6983         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6984
6985         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6986         function. Dummy implementation at this point.
6987
6988         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6989         rules. Undefine GTK_COMPILATION when compiling the test programs.
6990         
6991         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6992
6993 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6994
6995         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6996         to convert back and forth from UTF-8 and the "system" (or "current
6997         locale") charset when necessary. Indentation/spacing cleanup.
6998
6999 2000-08-10  Havoc Pennington  <hp@redhat.com>
7000
7001         * Makefile.am (snapshot): Change the format of the snapshot
7002         version to match glib
7003
7004         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7005         from EXTRA_DIST since it doesn't seem to exist
7006
7007 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7008
7009         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7010         version of the directory name (not the UTF-8 one) when building
7011         the path name to stat().
7012
7013 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7014
7015         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7016         PANGO_ATTR_SHAPE set.
7017
7018 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7019
7020         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7021         Peter Osterlund to simplify the code while keeping the
7022         functionality the same.
7023
7024 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7025
7026         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7027         is_viewable() test further inside the function, since removing the 
7028         window from the redraw list without clearing ->update_area
7029         was also very broken.
7030
7031 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7032
7033         * configure.in: Check for <unistd.h>.
7034
7035 2000-08-01  Martin Baulig  <baulig@suse.de>
7036
7037         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7038         to display the message that this is a development version of GTK+.
7039
7040 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7041
7042         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7043         was depending on widget->allocation instead of the width of text_area,
7044         which was incorrect for subclasses like GtkSpinButton.
7045
7046         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7047         with width == 1 tests that should be width == -1.
7048
7049 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7050
7051         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7052         (broken, Elliot, every single window blank on X) custom code with call
7053         to gdk_window_is_viewable() which a) prevents code duplicate and
7054         b) works. 
7055
7056 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7057
7058         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7059         to get the GDK_PARENT_ROOT() macro to work.
7060         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7061         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7062         of, windows that aren't shown.
7063         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7064         pointer grab stuff.
7065
7066 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7067
7068         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7069           s/gtk_main_iteration/g_main_iteration/
7070
7071           Did this already in change:
7072                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7073           don't know how it got reverted.
7074
7075 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7076
7077         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7078         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7079
7080         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7081         not gdk_pixbuf.
7082
7083 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7084
7085         * configure.in,po/{sp,sr}.po: Added Serbian files
7086
7087 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7088
7089         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7090
7091         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7092         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7093         GIOChannel implementation.
7094
7095         * gdk/win32/gdkinput.c
7096         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7097
7098         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7099         definition to match prototype.
7100
7101         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7102
7103 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7104
7105         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7106         function, to allow handling image formats that cannot be detected
7107         by looking at content alone.
7108
7109 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7110
7111         * docs/tutorial/*.gif *.jpg *.eps
7112           Update these to the same look-n-feel.
7113           Why does including images in DocBook suck so badly?
7114
7115 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7116
7117         * gtk/gtktable.c: applied patch from Phil Thompson
7118         <phil@river-bank.demon.co.uk> that enables space settings for
7119         the last row/columns as well.
7120
7121 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7122
7123         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7124         updates the license headers to the GNU Lesser General Public License,
7125         as well as updating the copyright year to 2000.
7126
7127 2000-07-26  Robert Brady  <rwb197@zepler.org>
7128
7129         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7130           and po/Makefile, was installing and looking for them under gtk20
7131           and gtk2 respectively.
7132
7133 2000-07-25  Havoc Pennington  <hp@redhat.com>
7134
7135         * gtk/testtext.c: Comment out some stuff that depends on the rest
7136         of my patches.
7137
7138 2000-07-25  Havoc Pennington  <hp@redhat.com>
7139
7140         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7141         buffer
7142
7143 2000-07-25  Havoc Pennington  <hp@redhat.com>
7144
7145         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7146         widget changes.
7147
7148         * gtk/gtktextview.h: To be consistent with usage of "line"
7149         throughout the API to mean "newline-terminated thingy", change
7150         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7151         to MOVEMENT_LINE.
7152
7153         (GtkTextView): Add flags for default editability, and whether to
7154         show the cursor. Add functions to get/set that. Add 
7155
7156         (gtk_text_view_get_iter_location): new function
7157
7158         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7159         gtktextlayout.h
7160         (g_convert): Add g_convert temporarily, will go in glib in a bit
7161         
7162         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7163         GtkTextTagTableForeach instead of brokenly using GHFunc.
7164         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7165
7166         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7167         moved to public header.
7168
7169         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7170         "invisible", since "elide" was a bad name.
7171         (gtk_text_tag_get_priority): Added
7172
7173         (GtkTextStyleValues): put this in public header, along with
7174         functions to use it.
7175
7176         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7177         longer include gtktextbtree.h.
7178
7179         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7180         gtk_text_mark_deleted
7181
7182         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7183         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7184         to make this possible. Now we only need to install
7185         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7186         (However the Makefile.am isn't changed yet because of the
7187         logistics of merging gtk-hp-patches piecemeal)
7188
7189         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7190         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7191         gtk_text_iter_get_line is now used in the public API for a
7192         different purpose.
7193
7194         * gtk/gtktextiter.h: Clean up function names to be more
7195         consistent. Always call char offset "offset" and byte index
7196         "index". A "line" is always a line number. 
7197
7198         (gtk_text_iter_is_last): new function, more efficient than 
7199         the existing way to check
7200         (gtk_text_iter_is_first): new function, also more efficient
7201
7202         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7203
7204         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7205         gtk_text_iter_forward_char, etc.
7206
7207         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7208         forward_find_tag_toggle, since this isn't a linear search
7209
7210         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7211
7212         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7213         New functions, search for a buffer substring.
7214
7215         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7216         interactive and default editable (since we need to store that info
7217         until we receive the selection data).
7218
7219         Remove all the _at_char and at_line etc. versions of functions;
7220         only have iterator versions.
7221
7222         Add _interactive() versions of functions, that consider the
7223         editability of text. (FIXME add interactive flag to the 
7224         insert/delete signals per Darin's suggestion)
7225
7226         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7227         tag table if necessary
7228
7229         Remove declaration of gtk_text_buffer_get_iter_from_string
7230
7231         (_gtk_text_buffer_get_btree): private/internal function, added.
7232         
7233
7234         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7235         (gtk_text_line_is_last): new function
7236
7237 2000-07-25  Havoc Pennington  <hp@redhat.com>
7238
7239         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7240         using GtkProgressBar. See Changes-2.0.txt for details.
7241
7242         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7243         "pulse_step" which are the equivalent of
7244         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7245         Implement new API.
7246         
7247         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7248         (use_text_format) to mark whether text set on the progress bar is
7249         a format string. Deprecate entire GtkProgress interface.
7250
7251         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7252         (gtk_progress_build_string): make this a no-op if use_text_format
7253         is FALSE
7254
7255         * docs/Changes-2.0.txt: Describe progress bar changes.
7256
7257 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7258
7259         * Makefile.am: Include the build directory.
7260
7261         * configure.in: Generate build/Makefile, build/win32/Makefile,
7262         gdk/, gdk/win32/, and gtk/makefile.mingw.
7263
7264         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7265         Add GETTEXT_PACKAGE.
7266         
7267         * gdk/gdk.def
7268         * gtk/gtk.def: Updates.
7269
7270         * gdk/gdkfont.h
7271         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7272         need them any longer.
7273
7274         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7275
7276         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7277         PANGOWIN32_LIBS and gdk_pixbuf.
7278
7279         * gdk/win32: Compiles, but no doubt doesn't work at all.
7280
7281         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7282
7283         * gdk/win32/gdkinput.c: New file, temporarily.
7284         
7285         * gdk/win32/gdkinput-win32.h: New file
7286
7287         * gdk/win32/gdkinputprivate.h: Remove.
7288
7289         * gdk/win32/gdkpango-win32.c: New file.
7290
7291         * gtk/makefile.mingw.in: New file
7292
7293         * gtk/makefile.cygwin: Removed
7294         
7295         * gtk/Makefile.am: Update accordingly.
7296
7297         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7298         made externally visible.
7299
7300         * gtk/gtkmain.c: Use it.
7301         
7302         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7303         is enough.
7304
7305         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7306
7307 2000-07-24 Elliot Lee <sopwith@redhat.com>
7308         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7309         individual backends already.
7310         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7311         again. Yes, there really is a good reason for this, if you are using the gdkregion
7312         internals, and if you're not, why do you care?
7313         * gdk/gdkwindow.c: Fix inverted condition
7314         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7315         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7316         * gtk/gtkrange.c: Redraw trough when moving.
7317         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7318         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7319
7320 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7321
7322         * configure.in: Check for mkstemp and sigsetjmp. Output
7323         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7324
7325         More work on GDK for Win32. Still in an intermediate state.
7326
7327         * gdk/makefile.cygwin
7328         * gdk/win32/makefile.cygwin: Removed.
7329         
7330         * gdk/makefile.mingw.in
7331         * gdk/win32/makefile.mingw.in: New files.
7332
7333         * gdk/Makefile.am
7334         * gdk/win32/Makefile.am: Generate and distribute them.
7335
7336         * gdk/win32/gdkwindow-win32.h
7337         * gdk/win32/gdkdrawable-win32.h
7338         * gdk/win32/gdkpixmap-win32.h: New files.
7339
7340         * gdk/win32/gdkcolor-win32.c
7341         * gdk/win32/gdkcursor-win32.c
7342         * gdk/win32/gdkdrawable-win32.c
7343         * gdk/win32/gdkgc-win32.c
7344         * gdk/win32/gdkimage-win32.c
7345         * gdk/win32/gdkprivate-win32.h
7346         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7347         Rename fields and variables called xcursor, xid, etc (these names
7348         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7349
7350 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7351
7352         * gtk/gtkentry.[ch]: Fix some problems with vertical
7353         alignment.
7354
7355         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7356         char/byte confusion.
7357
7358 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7359
7360         * gtk/gtktextview.c (changed_handler): Fix bug where
7361         redraw wasn't being done properly when height of
7362         dirty region changed.
7363
7364         * demos/Makefile.am: Remove various references to
7365         -lgmodule
7366
7367 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7368
7369         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7370         PangoAttrShape to reserve space for pixmaps, add 
7371         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7372         in the display functions.
7373         
7374         * gtk/testgtk.c (create_layout): Set some more exotic
7375         scrolled window options
7376
7377         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7378         Add function to set the shadow type of a window, to allow
7379         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7380         which don't draw their own frame.
7381
7382 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7383
7384         * docs/tutorial/package-db-tutorial.sh: New file for
7385           packaging DocBook format tutorial
7386
7387 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7388
7389         * docs/tutorial/gtk-tut.sgml: Minor updates
7390
7391         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7392
7393 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7394
7395         * gtk/gtksignal.c: Fix C++ comment.
7396
7397         * gtk/gtkimmulticontext.c
7398         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7399         don't return value from void functions.
7400
7401         * gtk/gtk.def: Add gtk_rc_style_unref.
7402
7403 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7404
7405         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7406         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7407         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7408         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7409         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7410         gtk/gtktypeutils.h: Include files outside of the extern "C"
7411         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7412         <vakatov@peony.nlm.nih.gov>.
7413
7414 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7415
7416         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7417           Completes first pass. Hurrah!
7418
7419 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7420
7421         * docs/tutorial/gtk-tut.sgml: More clean ups.
7422
7423 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7424
7425         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7426         paint the background of the text area which was accidentally
7427         removed at some point.
7428
7429         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7430           
7431          - Move most of the functionality from the theme vtable
7432            into GtkRcStyleClass and GtkStyleClass. The moved
7433            vtable functions were changed a bit in the move to
7434            work better in their new home.
7435
7436          - Get rid of the engine and engine_data fields from
7437            GtkRcStyle and GtkStyle; instead the theme
7438            engine derives theme-specific subclasses of GtkRcStyle
7439            and GtkStyle
7440
7441          - Add extra dlsym() found entry point to themes,
7442            theme_create_rc_style().
7443
7444         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7445         in gtk_style_real_copy.
7446
7447         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7448         to register a type associated with an engine. (The engine
7449         won't be unloaded as there is an instance of the type.)
7450
7451
7452 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7453
7454         * docs/tutorial/gtk-tut.sgml: Clean ups.
7455
7456 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7457
7458         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7459           of cleaning up to do.
7460
7461 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7462
7463         * gdk/testgdk.c: New file, quick hack to test backends for
7464         pixel-by-pixel correctness of the most simple graphic operations.
7465
7466 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7467
7468         * Really release 1.3.1
7469         
7470         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7471         include structure.
7472
7473 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7474
7475         * Released 1.3.1
7476
7477 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7478
7479         * gtk/gtktextlayout.c: use FALSE for size_only most
7480         of the time when calling gtk_text_layout_get_line_display()
7481         to avoid causing double reshapes when a redraw follows
7482         immediately after.
7483
7484 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7485
7486         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7487         appropriate region and gdk_window_process_updates() so trough
7488         updating doesn't lag behind the window being scrolled.
7489
7490         * gdk/gdkgc.c: Make parent_class pointer static.
7491          
7492 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7493
7494         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7495         include <string.h>.
7496          
7497         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7498         cut-and-paste error in computing memory offset for 4 channels.
7499
7500 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7501
7502         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7503         gtk_rc_append_default_pixmap_path(), since it wasn't
7504         adding an interesting path and we don't have a meaningful
7505         default for this value.
7506
7507 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7508
7509         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7510         gtk-config to gtk-config-2.0 move gtk_.m4 to
7511         gtk-2.0.m4
7512
7513         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7514         gdk/Makefile.am demos/Makefile.am: Change 
7515         library names to libgtk-1.3.la, etc, so that we
7516         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7517
7518         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7519         gdk/Makefile.am gdk/x11/Makfile.am
7520         Move include files into /usr/include/gtk-2.0, 
7521         /usr/lib/gtk-2.0/include/
7522          
7523         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7524         gtk/gtkintl.h: Change package for gettext from 
7525         gtk+ to gtk20. Put hack in autogen.sh to modify
7526         po/Makefile.in.in after gettextize to make this
7527         possible.
7528
7529         * gtk+.spec: Some updates, not tested.
7530
7531         * gdk-pixbuf/Makefile.am: Move loaders into
7532         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7533
7534         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7535         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7536         to THEMENAME/gtk-2.0/. Move engine directory  to
7537         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7538         
7539 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7540
7541         Win32 changes, still doesn't build though.
7542
7543         * gdk/makefile.cygwin
7544         * gdk/win32/makefile.cygwin
7545         * gtk/makefile.cygwin: Updates.
7546
7547         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7548         default values for fg and bg pixel as X11 does (0 and 1), not
7549         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7550         Use 0 for pen width by default (treated as 1 anyway later, but for
7551         apps that might check the value in the GdkGC).
7552         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7553         interface to gdk_gc_predraw and _postdraw.
7554
7555         * gdk/win32/gdkwin32.h
7556         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7557
7558         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7559         extraneous semicolon.
7560
7561         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7562
7563         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7564         not the Win32 bitspixel value.
7565
7566         * gdk/win32/gdkcc-win32.c:
7567         * gdk/win32/gdkcolor-win32.c 
7568         * gdk/win32/gdkprivate-win32.h
7569         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7570         GDK object structure.
7571
7572 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7573
7574         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7575         * docs/tutorial/gtk_tut_it.sgml (name): 
7576         * docs/tutorial/gtk_tut_fr.sgml (name): 
7577         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7578         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7579
7580 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7581
7582         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7583           small changes.
7584
7585 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7586
7587         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7588         a bug here, never been here and never fixed anything ;(
7589         (don't segfault if tree->root_tree is NULL, which happens prior
7590         to widget realization, but puke instead).
7591
7592 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7593
7594         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7595         add the necessary tokens.
7596
7597         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7598         (gtk_rc_style_to_style): copy thicknesses.
7599         (gtk_rc_init_style): apply thicknesses.
7600         (gtk_rc_parse_style): parse xthickness and ythickness.
7601
7602         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7603
7604         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7605         (gdk_window_new): 
7606         (_gdk_windowing_window_init): 
7607         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7608         (gdk_pixmap_create_from_data): 
7609         (gdk_bitmap_create_from_data): 
7610         (gdk_pixmap_new): 
7611         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7612         (gdk_image_new): 
7613         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7614         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7615         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7616         (gdk_colormap_get_system): 
7617         (gdk_colormap_new): 
7618         * gdk/gdkwindow.c (gdk_window_init): 
7619         * gtk/gtkstyle.c (gtk_style_new):
7620         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7621         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7622         * gtk/gtkrc.c (gtk_rc_style_new):
7623         use g_object_new() instead of g_type_create_instance() which
7624         is a private function for fundamental type implementations.
7625
7626 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7627
7628         * configure.in: Add check for db2html
7629
7630 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7631
7632         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7633         hack to set glib_debug_objects based on gtk_debug_flags.
7634
7635 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7636
7637         * INSTALL.in: Update the Prerequisites section.
7638
7639         * Makefile.am demos/Makefile.am docs/Makefile.am
7640         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7641         gdk/linux-fb/Makefile.am: Dist fixes
7642
7643 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7644
7645         * NEWS: 10,000 foot view of 1.3.1 changes.
7646
7647 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7648
7649         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7650         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7651         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7652         gdk/x11/gdkmain-x11.c: 
7653
7654         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7655         as a return value of gdk_*_grab(). Previously, we just
7656         returned the X11 values directly.
7657
7658 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7659
7660         * gdk/x11/Makefile.am: Patch from George Lebl to 
7661         install all the headers in the right place.
7662
7663 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7664
7665         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7666           initial conversion to DocBook.
7667
7668 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7669
7670         * README.win32: Improve a bit.
7671
7672         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7673         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7674         Alt+0nnn on the numpad (used to enter characters by numeric code
7675         from current DOS or ANSI codepage) working correctly, as in other
7676         Windows apps.
7677
7678         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7679         same argument validity tests as in X11 version.
7680         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7681
7682         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7683         definitions in case missing from headers.
7684
7685         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7686         destroy the window-specific cursor.
7687         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7688         calling GetModuleHandle(NULL).
7689         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7690         with CopyCursor before setting it as the window-specific
7691         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7692         also its Windows cursor) after calling this function. Destroy any
7693         previous window-specific cursor.
7694
7695 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7696
7697         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7698         font charset is iso8859-1, not iso-8859-1.
7699
7700 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7701
7702         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7703         Use g_get_charset() instead of g_get_codeset().
7704
7705         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7706         Comment out some strdup'ing functions to keep timj
7707         happy until we finish fighting this out.
7708
7709 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7710
7711         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7712         <= width or height.
7713
7714         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7715         from 1.2 for parent/child states.
7716
7717         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7718         of typos.
7719
7720         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7721         event structures, replace with a generic axes field. Replace 
7722         deviceid/sourec with GdkDevice *device.
7723
7724         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7725         to extract particular axis use value from event. (Also
7726         can be used for normal X/Y.)
7727
7728         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7729         allow for arbitrary number of axes, namespace everything
7730         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7731         everywhere.
7732
7733         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7734         Get rid of the gdk_input_vtable setup if favor of simply
7735         defining the functions in gdkinput-none/gxi/xfree.c in
7736         a similar fashion to the way that the port structure is 
7737         done.
7738
7739         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7740         for new event structures. 
7741
7742         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7743         new device interfaces.
7744
7745 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7746
7747         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7748         set the initial text.
7749
7750         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7751         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7752         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7753         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
7754
7755         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7756         pango_layout_set_font_description to simplify.
7757
7758 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
7759
7760         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7761         pango_layout_set_font_description to simplify.
7762
7763 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7764
7765         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7766         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7767         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7768
7769         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7770         PANGO_PIXELS() macro.
7771
7772 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7773
7774         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7775         that returns a PangoContext owned by the widget and updated to
7776         match future changes in the widget. Also, make 
7777         gtk_widget_create_pango_layout() use this context. If we ever
7778         add a ::changed signal to PangoContext, this will make things
7779         much more convenient. 
7780
7781         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7782         in the appropriate places instead of destroying the layouts and
7783         creating new ones.
7784
7785         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7786         in a few strategic places.
7787
7788 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7789
7790         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7791         gtk_widget_size_request() on reparented child, if one. Otherwise,
7792         queue_resize() on the child never results in it getting size-requested
7793         at all.
7794
7795         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7796         in option menus, so that (with luck) people won't copy it into
7797         their apps in the future.
7798
7799         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7800         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7801         a lot of problems with changing the size of the menu's menu
7802         items after adding it to the option menu.
7803
7804         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7805
7806         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7807         the text direction for a widget changes.
7808
7809         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7810         ::direction_changed to get rid of various hacks.
7811
7812 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7813
7814         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7815         name.
7816
7817 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7818
7819         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7820         flag to the structure. Do not call XFreePixmap on pixmaps created
7821         by gdk_pixmap_foreign_new().
7822
7823 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7824
7825         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7826         value using GdkRGB functionality given GdkColormap and GdkColor.
7827         (name not final, waiting for inspiration.)
7828         
7829         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7830         set the foreground/background of a GC using the GC's colormap
7831         and GdkRGB. (name not final, waiting for inspiration.)
7832
7833         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7834         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7835
7836         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7837         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7838         purely a function of the corresponding colormap. Make
7839         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7840
7841         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7842         gdk_pixbuf_*create_from_xpm_* in terms of
7843         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7844         code.
7845
7846         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7847         advantage of the new draw_rgb_32_image_dithalign.
7848
7849         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7850
7851         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7852         on each created GC.
7853
7854         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7855
7856         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7857         which we initialize from the drawable when the GC is created,
7858         if the drawable has a colormap.
7859
7860         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7861
7862         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7863
7864         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7865
7866 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7867
7868         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7869         actually returning expose events, make sure to set
7870         the count field properly.
7871
7872         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7873         accidentally reintroced bug which always cleared
7874         the graphics_exposures value. 
7875
7876 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7877
7878         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7879
7880 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7881
7882         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7883
7884 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7885
7886         * docs/faq/gtk-faq.sgml: Start of Section 6.
7887
7888 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7889
7890         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7891         
7892         (Fixes problem with drawing childless frames. Pointed out
7893         by and a first patch from Anders)
7894         
7895         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7896         compute a child_allocation, even if we don't have a child.
7897
7898         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7899         Always chain to the parent's impl, even if we don't have a child.
7900
7901 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7902
7903         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7904         use multiple parts of it instead of creating a bunch of separate
7905         segments, since the maximum number of segments per system is not
7906         large. (This might be worth backporting to GTK+-1.2.x if we make a
7907         new release )
7908
7909         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7910         structure in preparation for per-colormap GdkRGB.
7911
7912         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7913         to False when we get EINVAL from shmget so that the caller of
7914         gdk_image_new can retry with a smaller segment size.
7915
7916 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7917
7918         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7919
7920 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7921
7922         * configure.in: make the current version number 1.3.1 (binary age 0,
7923         interface age 0).
7924         
7925         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7926         gtkcompat.h is all we want.
7927
7928         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7929         GLib primitive types. fixed g_type_register_fundamental() argument
7930         ordering.
7931
7932         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7933         compiles.
7934
7935         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7936         object code cleanup, comment trigraph fixes, etc...
7937
7938 2000-06-23  Havoc Pennington  <hp@redhat.com>
7939
7940         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7941         instead of making up a bogus name for first_para_mark
7942
7943         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7944         0 as a context ID
7945
7946 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7947
7948         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7949
7950 2000-06-21  Havoc Pennington  <hp@pobox.com>
7951
7952         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7953         we didn't check window->bg_pixmap != GDK_NO_BG.
7954
7955         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7956         gdk-pixbuf
7957
7958 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7959
7960         * docs/faq/gtk-faq.sgm: Move file to here.
7961           TODO: Update Makfile.am 
7962
7963 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7964
7965         * docs/gtk-faq.sgm: Add Section 2
7966
7967 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7968
7969         * docs/gtk-faq.sgm: New file. Start of DocBook
7970           version of the FAQ.
7971
7972 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7973
7974         * configure.in (GDK_PIXBUF_MAJOR): Define version
7975         numbers for GDK_PIXBUF_*, as they get substituted
7976         into a header file. Need to consider versioning
7977         for gdk-pixbuf more carefully later.
7978
7979 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7980
7981         Work with srcdir != builddir.   
7982         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7983         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7984         * demos/testpixbuf.c: Likewise.
7985         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7986         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7987         <gdk/x11/gdkx.h>.
7988         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7989         "gdk-pixbuf.h".
7990         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7991
7992 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7993
7994         * TODO.xml: Change 1.4 version numbers to 2.0.
7995
7996 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7997
7998         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7999         fixups to GTK+ standard.
8000
8001 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8002
8003         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8004         gdk-pixbuf.
8005
8006         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8007         fixups for GObject.
8008
8009         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8010         gdk-pixbuf with GDK dependencies moved into GDK.
8011         
8012         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8013         move gdk-pixbuf-loader here until GObject has signals.
8014
8015         * demos/: New directory of demos. Move demos from
8016         gdk-pixbuf here.
8017
8018         * demos/pixbuf-init.c: Small bit of code to check for
8019         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8020         set GDK_PIXBUF_MODULEDIR appropriately.
8021
8022         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8023         define which no longer makes sense.
8024
8025 2000-06-21  Havoc Pennington  <hp@redhat.com>
8026
8027         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8028         gtk_get_default_language
8029
8030         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8031         new function to get the default language
8032
8033         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8034         s/gtk_text_view_style_values/gtk_text_style_values/
8035
8036         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8037         Add a "language" field to tags.
8038
8039         (gtk_text_tag_set_arg): Fix bug in setting
8040         "bg_full_height_set" tag.
8041
8042 2000-06-21  Havoc Pennington  <hp@redhat.com>
8043
8044         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8045         in the interfaces
8046
8047         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8048         stuff instead when possible.
8049
8050         * gtk/gtktexttypes.h: Delete some unused constants
8051
8052         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8053         testtextbuffer.c: use glib instead of custom unicode routines
8054
8055 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8056
8057         * docs/es/: Removed mistakenly added generated sgml
8058
8059         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8060         Remove outdated info files.
8061
8062         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8063         Moved tutorial files into subdir
8064
8065         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8066         subdir.
8067
8068         * docs/man/gtk_button.pod: Remove. (contents will be
8069         integrated into gtk-reference button page.)
8070
8071         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8072         docs/faq/Makefile.am: Adjust for new organization
8073
8074 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8075
8076         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8077         not $(MKINSTALLDIRS)
8078
8079 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8080
8081         * gtk/testgtk.c (create_text): Finish the job Elliot started
8082         of removing font setting test for text widget. (Since text widget
8083         and GdkFont are not deprecated, and cause portability problems.)
8084
8085 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8086
8087         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8088         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8089         Remove use of libunicode in favor of new GLib functions.
8090
8091         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8092         nano-x, framebuffer. The X11 include is just a hack until we get
8093         the necessary functions in gdkcolor.h, so there is no reason to
8094         add other includes of platforms.
8095
8096         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8097         window bigger than the screen change.
8098
8099         * gtk/testgtk.c: Revert some random changes from Elliot
8100         that had no particular point and were causing testgtkrc
8101         not to function correctly.
8102         
8103         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8104         because GdkSegment and GdkRegionBox have the same fields,
8105         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8106         results in clearer code.
8107
8108         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8109         gdk_input_translate_coordinates): Fix missed GdkObjectification
8110
8111 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8112
8113         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8114         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8115
8116 2000-06-20  Havoc Pennington  <hp@redhat.com>
8117
8118         * modules/linux-fb/Makefile.am: Make this compile
8119         without framebuffer enabled
8120
8121         * gdk/linux-fb/Makefile.am: Add conditional to not build
8122         framebuffer unless specified in configure
8123
8124         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8125         the size of the target instead of source if -1 was passed for
8126         width/height
8127
8128         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8129         width/height confusion.
8130
8131 2000-06-19  Havoc Pennington  <hp@redhat.com>
8132
8133         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8134         GDK_DRAWABLE_XID. In the future, we probably want to make it
8135         faster with G_DISABLE_CHECKS turned on.
8136
8137 2000-06-14  Havoc Pennington  <hp@redhat.com>
8138
8139         * gdk/Makefile.am: add gdkpixmap.c
8140
8141         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8142         s/gdk_image_init/_gdk_windowing_image_init
8143
8144         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8145         ref/unref
8146
8147         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8148
8149         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8150         GdkWindowType is now non-deprecated; 
8151         change gdk_window_get_type() compat to be
8152         gdk_window_get_window_type().
8153
8154         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8155
8156         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8157         virtual GObject. Make all functions call into the vtable.
8158         Move gdk_image_put() guts in here. Remove GdkDrawableType
8159         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8160         draw_image, get_depth, get_size, set_colormap, get_colormap,
8161         get_visual added to the vtable.
8162         
8163         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8164         GObject. Virtualize everything. 
8165         (gdk_gc_new_with_values): remove check for destroyed window,
8166         because now GdkWindow::create_gc will check this.
8167         (gdk_gc_set_values): New function to set GC values, this 
8168         was already implemented but wasn't in the header
8169
8170         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8171
8172         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8173         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8174         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8175         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8176         _gdk_windowing_window_init, rename gdk_image_init to
8177         _gdk_windowing_image_init.
8178         
8179         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8180         (gdk_draw_layout): Remove check for destroyed window, 
8181         because all the drawable methods already check it.
8182         
8183         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8184         Add gdkpixmap.c which contains implementation of GdkDrawable
8185         virtual table (by chaining to a platform-specific implementation
8186         object).
8187         
8188         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8189         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8190         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8191         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8192         GdkColormapPrivate. 
8193
8194         * gdk/gdktypes.h: #include <glib-object.h>
8195
8196         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8197         Move most functionality to platform-specific implementation
8198         object. GdkWindow itself now handles the backing store, then
8199         chains to the platform-specific implementation.
8200         (gdk_window_get_window_type): return GdkWindowType of the window.
8201         (gdk_window_peek_children): New routine, returns the children of 
8202         a GdkWindow
8203         (gdk_window_get_children): Was in X11-specific code and did 
8204         XQueryTree. Changed to simply return a copy of window->children; 
8205         so it can go in cross-platform code.
8206         
8207         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8208
8209         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8210         GdkColormap; just changed to use the new private data instead
8211         of casting to GdkColormapPrivate.
8212
8213         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8214         gdk_cursor_new().
8215
8216         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8217         (private data member in the GObject). 
8218         (xdnd_manager_source_filter): Function had broken 
8219         error handling, fix it (use gdk_error_trap_push).
8220
8221         * gdk/x11/gdkdrawable-x11.c: This file now implements
8222         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8223         base class is purely for the convenience of the X port,
8224         and not part of the interface to cross-platform GDK.
8225
8226         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8227         
8228         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8229         specific to X, and returned by the create_gc virtual method
8230         of GdkDrawableImplX11. 
8231         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8232         rather than gchar, this was also changed in the GdkGC vtable.
8233         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8234         mask is 0, return immediately, instead of checking every flag.
8235         This is faster, and keeps us from segfaulting if values is NULL
8236         and the mask contains some nonzero flags.
8237
8238         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8239         GdkWindow.
8240
8241         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8242         GdkWindowPrivate is gone.
8243
8244         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8245
8246         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8247         remove the image_put stuff that got transferred to GdkDrawable.
8248         
8249         * gdk/x11/gdkinput.c: renamings
8250
8251         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8252
8253         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8254
8255         * gdk/x11/gdkprivate-x11.h: indentation fixes
8256
8257         * gdk/x11/gdkproperty-x11.c: renamings
8258
8259         * gdk/x11/gdkselection-x11.c: renamings
8260
8261         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8262         implements the platform-specific "impl" object.
8263         Moved gdk_window_get_children to gdk/gdkwindow.c
8264
8265         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8266         that no longer exist. Add declaration of GdkGCX11 object here.
8267         Fix all the macros to still work. 
8268
8269         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8270         GdkDragContext from the boxed types since they are now GObjects.
8271
8272         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8273         moved xthickness/ythickness into the instance. GtkStyleClass
8274         functions are now in the standard vtable for GtkStyle, so you have
8275         to create a GObject subclass to write a theme engine.
8276         (gtk_style_copy): fixed a leaked PangoFontDescription
8277         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8278         can be the standard GObject function.
8279         
8280         * Throughout GTK:
8281         s/style->klass->[xy]thickness/style->[xy]thickness
8282         s/pango_layout_unref/g_object_unref/
8283
8284         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8285         
8286         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8287         accessing GDK internals.
8288
8289         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8290         accessing GDK internals.
8291
8292 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8293
8294         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8295
8296         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8297         problem by calculating event position relative to the trough
8298         rather than the slider.
8299         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8300
8301         * gdk/gdkgc.h: Add GDK_NOR.
8302
8303         * configure.in, Makefile.am: Add modules top level dir
8304         * configure.in: Only use pangox library if building x11 target.
8305         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8306
8307 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8308
8309         * gtk/gtkcolorsel.c: Change private class member to be named
8310         private_data throughout the file.
8311
8312         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8313         private_data to avoid clashing with keyword.
8314
8315 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8316
8317         * gdk/gdkdnd.h: Add comment to remove warning.
8318
8319 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8320
8321         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8322         Byelorussian language; changed the Makefile and file names 
8323         to reflect that.
8324
8325 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8326
8327         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8328         rather than gdk_window_hide; this makes things work
8329         correctly if the window is programmatically hidden while
8330         iconified.
8331
8332 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8333
8334         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8335         cut and paste typo where wrong pixmap was being
8336         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8337
8338 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8339
8340         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8341         Add helper function to compute format / bytes 
8342         relationship. Use in a couple places to fix up
8343         errors which assume 8 * format.
8344
8345         * gtk/gtkselection.c (gtk_selection_request): Use 32
8346         rather than 8 * sizeof (GdkAtom), to work correctly
8347         on Alpha.
8348
8349 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8350
8351         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8352         libgtk.la
8353         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8354         versions
8355
8356         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8357         checking macros return NULL since the function has a return value.
8358
8359 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8360
8361         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8362         GTK+ from building at all.
8363
8364         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8365
8366 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8367
8368         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8369         gtk/Makefile.am: make it possible to configure gtk for different
8370         targets on the same platform. The library name is now 
8371         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8372         flag. Only the x11 target compiles right now.
8373         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8374         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8375         * gdk/nanox/gdk*generic*: delete generic region code.
8376         * gdk/linux-fb/gdk*generic*: delete generic region code.
8377         * README.nanox: update information.
8378         
8379 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8380
8381         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8382         prepend not append. (Pointed out by Brett Hall.)
8383
8384 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8385
8386         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8387
8388 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8389
8390         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8391         need this later, and this makes sure that the atexit for
8392         glib gets called after that for GDK, so atexits are
8393         properly ordered for object leak checking.
8394
8395         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8396
8397         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8398         pango_x_shutdown_display()
8399
8400         * gtk/simple.c (main): Close window on destroy.
8401
8402 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8403
8404         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8405         to treat initial creation different from setting with 
8406         regards to the graphics-exposures parameter, so add a parameter
8407         indicating whether this is initial or not.
8408
8409 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8410
8411         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8412         to sort of work by adding an extra return_exposes arg
8413         to gdk_event_translate() - it might be better to simply
8414         deprecate the function altogether and force people to rewrite
8415         without it. gdk_window_scroll() handles most of it, and where
8416         gdk_window_scroll() doesn't work, simply redrawing more does.
8417
8418         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8419         assertion.
8420
8421         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8422
8423         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8424         bunch of pretty much useless /* Print debugging info */ comments 
8425         which had drifted away from the code they were commenting.
8426
8427 2000-06-02  Havoc Pennington  <hp@pobox.com>
8428
8429         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8430         is in working order.
8431         
8432         * gtk/testtext.c: Change to reflect anonymous mark API
8433
8434         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8435
8436         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8437         field, which was unused.
8438
8439         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8440         saves some typing.
8441
8442         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8443
8444         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8445         flag on the insertion point and selection bound
8446
8447         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8448         make mark-manipulation functions take a GtkTextMark* instead of a
8449         mark name.
8450         
8451         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8452         GtkTextMarkBody; will be used to detect attempts to delete
8453         the permanent marks (insert and selection bound)
8454
8455         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8456
8457 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8458
8459         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8460         flag to on.
8461
8462         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8463         Honor DOUBLE_BUFFRED_FLAG
8464
8465         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8466         function to set the DOUBLE_BUFFERED flag.
8467
8468         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8469         or not exposes done on the widget should be double-buffered.
8470
8471         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8472         to be what would be expected. (Fixes problem with a
8473         g_return_if_fail() validating a TextDirection enumeration)
8474
8475 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8476
8477         * gtk/gtkwidget.c: Remove all references to 
8478         offscreen flag which was no longer used.
8479
8480         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8481
8482         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8483         for non-null label_widget->parent.
8484
8485         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8486         which no longer was used.
8487
8488         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8489
8490         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8491         for null arguments.
8492
8493         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8494         check for destroyed windows.
8495
8496 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8497
8498         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8499         the slave context there.
8500
8501         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8502         identical to GtkWindow.
8503
8504 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8505
8506         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8507         pangox to here, so we can write them independent of rendering
8508         system, using GDK primitives.
8509
8510         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8511         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8512         since we have a rendering-system independent implementation in
8513         terms of draw_glyphs().
8514         
8515         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8516         function to render a single line.
8517
8518         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8519         into ../gdkpango.c, which simplifies things, since we
8520         don't have to deal with raw X gc's.
8521
8522 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8523
8524         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8525         get the logical attributes for a given GtkTextLine.
8526
8527 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8528
8529         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8530         g_locale_get_codeset() to g_get_codeset() change.
8531
8532 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8533
8534         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8535         descriptions.
8536
8537         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8538         the entry.
8539
8540         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8541         redoing (vastly simplifying) for Pango. Still needs quite
8542         a bit of work. (Size selection is currently poor. List of 
8543         predefined sizes is not a good idea, since all of these
8544         sizes won't necessarily be distinct.)
8545
8546 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8547
8548         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8549         CODESET results for LANG=C.
8550
8551 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8552
8553         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8554         which takes a stringized pango font description;
8555         ignore the older 'font' and 'fontset' declarations.
8556
8557         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8558         field with a GdkFont derived via gdk_font_from_description(),
8559         for compatibility. (Should we just remove it entirely?
8560         Probably too much compatibility breakage, but people
8561         should be migrating to the new Pango stuff as quickly
8562         as possible.)
8563
8564 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8565
8566         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8567
8568 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8569
8570         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8571         redoing; there are some bugs in size allocation right
8572         now, the semi-existant distinction between header / day
8573         fonts was removed, but, with Pango, could actually
8574         be made functional in a nice way.
8575         
8576         * gtk/testcalender: Move calender from examples into this
8577         directory as a test program. (We really need to restrcture
8578         testgtk into a whole directory full of tests for every
8579         widget or functionality group, separated into multiple .c
8580         files.)
8581
8582 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8583
8584         * gtk/testgtk.c (file_exists): Fix stupid typo that
8585         was keeping RC file from being loaded.
8586
8587         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8588         RC file font code.
8589
8590 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8591
8592         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8593         Add function to load a GdkFont from a PangoFontDescription.
8594
8595 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8596
8597         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8598         variable should be of type GdkEventPrivate.
8599
8600 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8601
8602         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8603         to have any widget for the label, use a GtkLabel widget
8604         to display the text. (Based partially on a patch from
8605         Anders Carlson.)
8606
8607         (Quite a bit of code reorganization - strip 90% of the
8608         guts out of gtkaspectframe and add a single virtual
8609         func to GtkFrameClass - compute_child_allocation.)
8610
8611 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8612
8613         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8614         (Removed clist->row_center_offset field because caching
8615         it wasn't saving time or code, added private function
8616         _gtk_clist_create_cell_layout()).
8617
8618 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8619
8620         * gtk/gtkaccellabel.c: Pangoized.
8621
8622         * gtk/[hv]ruler.c: Pangoized
8623
8624 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8625
8626         * gtk/gtkfilesel.c (gtk_file_selection_init):
8627         Use gtk_clist_set_column_auto_resize() to remove need
8628         need for manual column width computations.
8629
8630 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8631
8632         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8633         ensuring Pango correctness, and considerably simplifying the
8634         code.
8635         
8636         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8637
8638         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8639         getting of numbers of lines.
8640
8641         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8642         to the actual requested width of the lable, not to the wrap
8643         width we set.
8644
8645         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8646
8647         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8648           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8649
8650         * gtk/gtktextview.c: Fix structure inheritance.
8651
8652         * gtk/gtkprogressbar.c: Pangoize.
8653
8654 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8655
8656         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8657         in a function.
8658
8659         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8660         bug with computing line tops.
8661
8662         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8663
8664 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8665
8666         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8667         and y_offset coordinates to do what we need now. (The offset between
8668         buffer and layout coordinates has been reintroduced, but is a 
8669         bit different than before.)
8670
8671         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8672         handle the adjustments ourselves, and scroll as necessary using
8673         the new gdk_window_scroll().
8674         
8675         The advantage of this is that when we are incrementally revalidating,
8676         we are essentially rearranging things around the visible portion
8677         of the screen. With the old setup, the visible portion of the
8678         screen was moved around in the layout, so scrolling and redrawing
8679         to track that caused jumping of the display. Since we now
8680         control the scrolling ourselves, we can suppress this and
8681         only redraw when things actually change.
8682
8683 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8684
8685         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8686         the region not just redisplay it after-all, since we store the
8687         cursors in the LineDisplay. (Ugly interactions here between
8688         GtkLayout and GtkTextBTree here.)
8689         
8690         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8691
8692 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8693
8694         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8695         Added function to scroll contents of a window while keeping the
8696         window constant. Works by XCopyArea or guffaw-scrolling depending
8697         on the details of how the window is set up. (guffaw-scrolling
8698         still needs to be filled in.)
8699
8700 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8701
8702         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8703         move the debugging that was tied to a global variable
8704         to that.
8705
8706         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8707
8708         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8709         validated flag, in line data instead of setting height/width to
8710         -1. This allows us to perform operations with partially invalid
8711         buffer (using the old size for invalid lines) and thus to do
8712         incremental vaidation. Keep height/width aggregates up to date
8713         when deleting text and rebalancing the tree.
8714
8715         * gtk/gtktextbtree.[ch]: Add functions validate a line
8716         (gtk_text_btree_validate_line), and to validate up
8717         to a number of pixels (gtk_text_btree_validate).
8718
8719         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8720         that indicates that something is changed and a revalidation
8721         pass is needed. Change ::need_repaint to ::changed, and
8722         make it take old and new yranges instead of a rectangle.
8723
8724         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8725         the line_data_destroy() function from 
8726         gtk_text_btree_add_view() to a virtual function in 
8727         GtkTextLayout
8728
8729         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8730         since we are handling partial repaints in a different fashion
8731         now.
8732
8733         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8734         of the selection instead of queueing a repaint on the
8735         entire widget.
8736
8737         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8738         get_selection_bounds() down to btree, make the function
8739         in buffer a wrapper around the btree function.
8740
8741         * gtk/gtktextlayout.[ch]: Add functions to check if the
8742         layout is valid and to recompute either a range of pixels
8743         aroudn a line or a certain total number of pixels.
8744
8745         * gtk/gtktextlayout.[ch]: Cache a single line display;
8746         now that we only redraw the needed portions, the hit rate
8747         for this cache is quite high.
8748         
8749         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8750         on the screen so that when re-laying-out the buffer, we can
8751         keep the same place. This requires connecting to ::value_changed
8752         on the adjustments
8753
8754         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8755         the buffer after we receive an ::invalidated signal.
8756         
8757 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8758
8759         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8760         to max of allocation and layout size, not just to the
8761         layout size.
8762
8763         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8764         Invalidate window so it gets redrawn properly.
8765
8766         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8767         to mean the entire window.
8768
8769         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8770         into public header.
8771
8772 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8773
8774         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8775         to get the name of a mark.
8776
8777         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8778         to find the paragraph from a y position.
8779
8780 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8781
8782         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8783         nodes have width/height >= 0, not > 0.
8784
8785 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8786
8787         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8788         Add a size_only flag, so when we only need the size, we don't create
8789         useless appearance attributes.
8790
8791         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8792         duplicate setting of font description.
8793
8794         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8795
8796 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8797
8798         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8799         EXTRA_DIST. It does not work well when the file that
8800         everything depends on is not in the tarball.
8801
8802 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8803
8804         * gtk/testgtk.c: Some hacks and fixes so that it basically
8805         works when not sitting in the GTK+ build tree.
8806
8807 2000-05-03  Havoc Pennington  <hp@redhat.com>
8808
8809         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8810         Properly determine the ordering of the tag root and the current
8811         line within the tree. Previous algorithm only worked if the tag
8812         root's immediate parent was the common root of both the current
8813         line and the tag root.
8814
8815 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8816
8817         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8818         alignment.
8819
8820         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8821         the widget text directional dynamically.
8822
8823         * gtk/gtktextview.[ch]: Added functions to get and set default
8824         wrap mode.
8825
8826 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8827
8828         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8829         in cursor location computation.
8830
8831 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8832
8833         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8834         vadjusment values properly when layout gets smaller.
8835
8836         * gtk/gtktextview.c (need_repaint_handler): Areas being
8837         passed in are far completely inaccurate, and sometimes
8838         too small, so, for now, just queue a redraw on the
8839         whole visible region.
8840
8841 2000-04-25  Havoc Pennington  <hp@redhat.com>
8842
8843         * gtk/gtktextbtree.c (summary_destroy): new function to 
8844         destroy tag summary nodes
8845         (gtk_text_line_next_could_contain_tag): this function was 
8846         totally broken if the line passed in wasn't below the tag
8847         root. Fix it.
8848         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8849         "wildcard" case, we have to do a linear scan. Blah.
8850         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8851         we have to do the linear scan
8852         (tag_removed_cb): When a tag is removed from the tag table, 
8853         remove the GtkTextTagInfo node from the btree.
8854         (gtk_text_btree_spew): Implement the spew function, for 
8855         our debugging pleasure.
8856
8857 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8858
8859         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8860         a problem with referring to the wrong buffer.
8861
8862         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8863
8864         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8865         font description to gtk_style_new() - otherwise things
8866         don't work without a .gtkrc file.
8867
8868         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8869         tags table if we create it ourself, too.
8870
8871         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8872         it was conflicting with XKB modifiers.
8873
8874         * gtk/gtktextview.[ch]: Add simple support for 
8875         GtkIMContext.
8876
8877 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8878
8879         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8880         with deletion from last commit.
8881
8882 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8883
8884         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8885         in the context from the current locale.
8886         
8887         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8888         context, not hardcoded value.
8889
8890         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8891         not logical.
8892
8893 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8894
8895         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8896         attributes - that doesn't handle partial-glyph selection
8897         properly. Instead use new pango_layout_line_get_x_ranges()
8898         functionality to draw the selection.
8899
8900         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8901         now properly handles out-of-range coordinates.
8902
8903         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8904
8905         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8906         public.
8907
8908         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8909         for paragraphs opposite to the base direction of the widget.
8910
8911         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8912
8913         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8914         causes Arabic words to reshape as you cursor through.
8915
8916         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8917         cursor position when moving vertically with the arrow keys and
8918         scrolling with page-up/page-down. (Arrow keys save only the X,
8919         scrolling saves both X and Y.)
8920
8921         This means you can line-up / line-down or page-up / page-down
8922         without losing your place, and also that moving vertically
8923         with the cursor keys keeps the same X position, not the same
8924         character count:
8925
8926         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8927         arrow keys move by display lines, not paragraphs.
8928
8929 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8930
8931         * gtk/gtklayout.c: Make sure that the bin window is at least
8932         as big as the allocation. (Should we also make sure that the
8933         bin window is big enough to completely cover widget->window?)
8934
8935         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8936         function to get the onscreen rectangle.
8937
8938         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8939         for offsets in window coordinates.
8940
8941 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8942
8943         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8944         confusion.
8945
8946         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8947         from the widget direction.
8948
8949         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8950         Add a "direction" attribute.
8951
8952         * gtk/gtktextview.c: global s/tkxt/text_view/.
8953
8954         * gtk/testtext.c: Added long block of text in Arabic, to test out
8955         the direction attributes. (Some problems with the shaping system
8956         for arabic become obvious - like the fact the cursor splits words
8957         into unjoined pieces.)
8958
8959 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8960
8961         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8962
8963         * gtk/gtktextlayout.c: Fix up alignment.
8964
8965         * gtk/testtext.c: Add some tests for centering, wrapping.
8966
8967 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8968
8969         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8970         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8971         If we wrote GTK+-specific layout-render function this could just replace
8972         the draw_layout() operation in the vtable.
8973
8974         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8975         pango_layout_get_cursor_pos() and use that function.
8976
8977         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8978         is a non-static symbol.
8979
8980         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8981         with gtk_text_btree_find_line_by_y()
8982
8983         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8984         renderer that handles GtkTextAppearance attributes.
8985
8986         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8987
8988           - Move the values in the style that don't affect geometry into a
8989             GtkTextAppearance structure.
8990           - Change underline to take a PangoUnderline and "font" a string
8991             representation of a font description
8992           - Add a "font_desc" attribute which takes a FontDescription structure.
8993
8994         * gtk/gtktextlayout.[ch]:
8995
8996           - Get rid of the display-line list per each line. Instead, we
8997             generate, on demand, a GtkTextLineDisplay structure which]
8998             contains a PangoLayout * and other necesary information
8999             (offsets, cursor locations) for displaying a paragraph.
9000           - Get rid of the code to wrap lines, create display chunks,
9001             etc. Instead, we just go through a paragraph and convert
9002             it into the necessary inputs to a PangoLayout.
9003           - Implement a new attribute type, GtkTextAttrAppearance. This
9004             holds a GtkTextAppearance, and is used to pass colors, 
9005             stipple, etc, through from the layout to the display without
9006             having to use lots and lots of individual attributes.
9007           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9008             in terms of PangoLayout functions.
9009         
9010         * gtk/gtktextview.c: 
9011          
9012           - Handle passing the necessary PangoContext to the layout
9013           - Some fixups in painting to deal with the automatic backing store
9014             and offsetting of GTK+-1.4
9015           - Add a style_set handler so that the default style reacts
9016             properly to theme changes.
9017         
9018         * gtk/gtktext?*.[ch]: Random code-style fixes.
9019
9020         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9021
9022 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9023
9024         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9025         in original form preparatory to Pango-ization and gdkimcontext-ization.
9026
9027 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9028
9029         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9030         so that we can derive from gtkimcontext in language bindings properly.
9031
9032 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9033
9034         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9035         Add a compose table including (almost) all the compose combinations
9036         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9037         data in the XIM implementation.
9038
9039         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9040         Moved functions to convert keyvalues from and to unicode here from
9041         the win32 port and made them public.
9042
9043 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9044
9045         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9046
9047 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9048
9049         * gtk/gtkimcontext.[ch]: Base class for new input context system
9050
9051         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9052         the real input context implementation to be loaded from modules
9053         and switched on the fly.
9054
9055         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9056         context that just does direct keysymbol => unicode translation.
9057
9058         * gtk/gtkentry.[ch]: Start switching editing over to using
9059         GtkInputContext. (No handling of preedit yet.)
9060
9061 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9062
9063         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9064         many substitutions. (klass should not be subsituted.)
9065
9066 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9067
9068         * configure.in: Add checks for Pango
9069
9070         * configure.in docs/Makefile.am: Add test for sgml2html
9071         and allow 'make dist' without building html, but print out
9072         warnings in that case. (For making snapshots)
9073
9074         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9075         Add Pango libraries and C flags
9076
9077         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9078         Add function (gdk_draw_layout) to draw a pango layout.
9079
9080         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9081         for getting Pango contexts for GDK.
9082
9083         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9084
9085         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9086         editing.
9087
9088         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9089         keysym => unicode translations. More languages can be added
9090         here, but real input-method support is needed.
9091
9092         * docs/Changes-1.4.txt: Added note about entry behavior.
9093         
9094         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9095         to set the reading direction for a widget and the global direction.
9096         Add test which allows toggling the global direction. Two private
9097         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9098
9099         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9100           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9101
9102         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9103
9104         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9105         underlining now handled by Pango.
9106
9107         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9108         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9109         is temporary.)
9110
9111         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9112         convenience functions for creating contexts and layouts for widgets.
9113
9114         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9115
9116 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9117
9118         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9119         titles to be active, even if they aren't visible.
9120         (gtk_clist_column_titles_passive):  Ditto.
9121
9122 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9123
9124         * gtkmenu.c:
9125         * gtkmenu.h:
9126         * gtktypeutils.h: Spelling/grammar fixes in comments.
9127
9128 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9129
9130         * gdk/nanox/*.h: add missing header files.
9131
9132 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9133
9134         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9135         send_event to TRUE.
9136         (gtk_drawing_area_size): queue a resize.
9137
9138 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9139
9140         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9141         the handlers, also invalidate them. bug nailed down by Karl Nelson
9142         <kenelson@ece.ucdavis.edu>.
9143
9144 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9145
9146         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9147         "(nil)" foundries, patch from Grigorios Magklis.
9148
9149         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9150         on non-available fonts, based on a patch by Grigorios Magklis
9151         <maglis@cs.rochester.edu>.
9152
9153 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9154
9155         * gdk/x11/gdkregion-generic.c: If a region does not have any
9156         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9157         instead of GDK_OVERLAP_RECTANGLE_IN.
9158
9159 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9160
9161         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9162         OFFSCREEN, as it is no longer necessary.
9163
9164 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9165
9166         * gtk/gtkcolorsel.c: Patch from David Santiago
9167         <mrcooger@cyberverse.com> to change things so that the 
9168         indicator of the active palette entry is done independently,
9169         not via the focus, since it should always be visible.
9170
9171 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9172
9173         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9174         refcount leaks as in the X11 backend.
9175
9176         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9177         cosmetics.
9178
9179         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9180         backend. Add _gdk_windowing_window_destroy().
9181
9182         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9183         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9184         either, but these probably do exist on nanox?)
9185         
9186         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9187         which isn't necessarily defined by <math.h>.
9188
9189         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9190         ancestry past GtkObject.
9191
9192         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9193         from DLL on Win32.
9194
9195         * gtk/gtk.def: Update corresponding to recent changes.
9196
9197         * gtk/makefile.{cygwin,msc}: Updates.
9198
9199 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9200
9201         * docs/Changes-1.4.txt: A bit of editing.
9202
9203         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9204         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9205         to clear the update area for the window, and clear it
9206         when hiding a window.
9207
9208         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9209         if window destroyed.
9210
9211         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9212
9213         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9214         gdk_window_destroy() to the generic code, since there was a lot of 
9215         window-system-independent logic it in. Add a function:
9216         
9217          _gdk_window_destroy() 
9218
9219         to the internal API to destroy a window without unreferencing it.
9220         Add a function:
9221
9222          _gdk_windowing_window_destroy()
9223
9224         That does the windowing-system-dependent part of destroying 
9225         the window.
9226
9227 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9228
9229         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9230
9231 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9232
9233         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9234         Make gtk_widget_shape_combine_mask() keep a reference count on
9235         the pixmap since it keeps it around.
9236
9237 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9238
9239         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9240         leak.
9241
9242         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9243         leak with event filters.
9244
9245 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9246
9247         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9248         signal handlers with the right data arguments. (Fixes
9249         some warnings when a widget was repeatedly set as a drag
9250         destination.)
9251
9252         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9253         window so we can avoid avoid setting the DND properties on the
9254         toplevel window repeatedly.
9255
9256 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9257
9258         * gdk/win32/gdkwin32.h: Define more message types missing from
9259         mingw headers.
9260
9261         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9262         call gdk_window_destroy_notify(). It was never called. This
9263         probably meant that the GdkWindow was never freed. Thanks Owen for
9264         noticing (!).
9265
9266         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9267         window as destroyed before calling DestroyWindow(). DestroyWindow()
9268         causes a call to the window procedure (gdk_WindowProc), which
9269         calls gdk_event_translate(), which calls
9270         gdk_window_destroy_notify(), which gets confused unless the window
9271         is set as destroyed.
9272
9273         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9274         this function to indicate it's win32 only. Put inside #ifdef
9275         G_ENABLE_DEBUG.
9276
9277         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9278         debugging function. (gdk_event_translate:) Add a default branch
9279         that uses the above function to print debug messages with all
9280         Windows messages symbolically.
9281
9282         * gdk/win32/gdkprivate-win32.h: Declare it, and
9283         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9284
9285 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9286
9287         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9288         public header file.
9289
9290 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9291
9292         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9293
9294         * gtk/gtktext.c: made the adjustments no-construct args, simply
9295         provide default adjustments.
9296         (gtk_text_destroy): release adjustments.
9297
9298         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9299         adjustment argument non-construct.
9300
9301         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9302         instead of in finalize.
9303         (gtk_progress_get_text_from_value): 
9304         (gtk_progress_get_current_text): 
9305         (gtk_progress_set_value): 
9306         (gtk_progress_get_percentage_from_value): 
9307         (gtk_progress_get_current_percentage): 
9308         (gtk_progress_set_percentage): 
9309         (gtk_progress_configure): ensure an adjustment is present.
9310
9311 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9312
9313         * gtk/gtkcolorsel.[hc]:
9314         * gtk/gtkcolorseldialog.[hc]:
9315         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9316         their parent implementation, use bit fields for boolean values, don't
9317         create unused widgets, usage of glib types, braces go on their own
9318         lines, function argument alignment, #include directives etc. etc. etc..
9319
9320         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9321
9322 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9323
9324         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9325
9326         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9327         of NULL.
9328
9329         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9330         to freed data.
9331         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9332
9333         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9334         to NULL when the toplevel is getting destroyed.
9335         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9336         (gtk_menu_destroy): 
9337         (gtk_menu_init): store the information of whether we have to
9338         readd the initial child ref_count during destruction in a new
9339         GtkMenu field needs_destruction_ref_count.
9340
9341         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9342         here, those reading: learn from my mistake! ;)
9343         in order for set_?adjustment to support a default adjustemnt if
9344         invoked with an adjustment pointer of NULL, the code read (pseudo):
9345         if (v->adjustment) unref (v->adjustment);
9346         if (!adjustment) adjustment = adjustment_new ();
9347         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9348         now imagine the first unref to actually free the old adjustment and
9349         adjustment_new() creating a new adjustment from the very same memory
9350         portion. here, the latter comparision will unintendedly fail, and
9351         all hell breaks loose.
9352         (gtk_viewport_set_hadjustment):
9353         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9354         after unreferencing it.
9355
9356         * gtk/gtkcontainer.[hc]: removed toplevel registration
9357         functions: gtk_container_register_toplevel(),
9358         gtk_container_unregister_toplevel() and
9359         gtk_container_get_toplevels() which had wrong semantics
9360         anyways: it didn't reference and copy the list.
9361
9362         * gtk/gtkwindow.c: we take over the container toplevel registration
9363         bussiness now. windows are registered across multiple destructions,
9364         untill they are finalized. the initial implicit reference count
9365         users are holding on windows is removed with the first destruction
9366         though.
9367         (gtk_window_init): ref & sink and set has_user_ref_count, got
9368         rid of gtk_container_register_toplevel() call. add window to
9369         toplevel_list.
9370         (gtk_window_destroy): unref the window if has_user_ref_count
9371         is still set, got rid of call to
9372         gtk_container_unregister_toplevel().
9373         (gtk_window_finalize): remove window from toplevel list.
9374         (gtk_window_list_toplevels): new function to return a newly
9375         created list with referenced toplevels.
9376         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9377
9378         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9379         adjustment a non-construct arg.
9380         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9381         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9382         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9383
9384         * gtk/gtkrange.c: added some realized checks.
9385         (gtk_range_destroy): get rid of the h/v adjustments in the
9386         destroy handler instead of finalize. remove timer.
9387         (gtk_range_get_adjustment): demand create adjustment.
9388
9389         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9390         we simply create them on demand now and get rid of them in
9391         the destroy handler.
9392         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9393         destroy handler instead of finalize.
9394         (gtk_viewport_get_hadjustment): 
9395         (gtk_viewport_get_vadjustment): 
9396         (gtk_viewport_size_allocate): demand create h/v adjustment
9397         if required.
9398
9399         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9400         gtk_widget_real_destroy () functionality.
9401         (gtk_widget_real_destroy): reinitialize with a new style, instead
9402         of setting widget->style to NULL.
9403
9404 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9405
9406         * gtk/gtkcalendar.c:
9407         * gtk/gtkbutton.c: ported _get_type() implementation over to
9408         GType, either to preserve memchunks allocation facilities,
9409         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9410
9411         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9412         over. prepare for ::destroy to be emitted multiple times.
9413         removed reference tracer magic. chain into GObjectClass.shutdown()
9414         to emit ::destroy signal.
9415
9416         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9417         fundamental.
9418
9419         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9420         cludge.
9421
9422         * gtk/gtksocket.c:
9423         * gtk/gtkplug.c:
9424         * gtk/gtklayout.c:
9425         * gtk/gtklabel.c:
9426         * gtk/gtkargcollector.c:
9427         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9428         not being a fundamental anymore, and to work with the new
9429         type system (nuked fundamental type varargs clutter).
9430
9431         * gtk/*.c: install finalize handlers in the GObjectClass
9432         part of the class structure.
9433         changed direct GTK_OBJECT()->klass accesses to
9434         GTK_*_GET_CLASS().
9435         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9436
9437         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9438         GType. made most of the GTK_*() type macros and Gtk* typedefs
9439         simple wrappers around macros and types provided by GType.
9440         most notably, a significant portion of the old API vanished:
9441         GTK_TYPE_MAKE(),
9442         GTK_TYPE_SEQNO(),
9443         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9444         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9445         GTK_TYPE_ARGS,
9446         GTK_TYPE_CALLBACK,
9447         GTK_TYPE_C_CALLBACK,
9448         GTK_TYPE_FOREIGN,
9449         GtkTypeQuery,
9450         gtk_type_query(),
9451         gtk_type_set_varargs_type(),
9452         gtk_type_get_varargs_type(),
9453         gtk_type_check_object_cast(),
9454         gtk_type_check_class_cast(),
9455         gtk_type_describe_tree(),
9456         gtk_type_describe_heritage(),
9457         gtk_type_free(),
9458         gtk_type_children_types(),
9459         gtk_type_set_chunk_alloc(),
9460         gtk_type_register_enum(),
9461         gtk_type_register_flags(),
9462         gtk_type_parent_class().
9463         replacements, where available are described in ../docs/Changes-1.4.txt.
9464         implemented compatibility functions for the remaining API.
9465
9466         * configure.in: depend on glib 1.3.1, use gobject module.
9467
9468 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9469
9470         * TODO.xml: Various updates to current status.
9471
9472 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9473
9474         * gtk.m4: Print out version when test succeeds.
9475
9476 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9477
9478         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9479         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9480         
9481         (Original triangle color selector from Simon Budig
9482         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9483         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9484         Santiago <mrcooger@cyberverse.com>)
9485
9486         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9487         out into a separate widget.
9488
9489         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9490         and opacity controls.
9491
9492 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9493
9494         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9495         snuck in prematurely.
9496
9497 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9498
9499         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9500         had deleted a ! operator by mistake, which caused
9501         GDK_SELECTION_CLEAR events never to be generated, which caused
9502         only the first copy to the clipboard from an gtkeditable to
9503         actually cause a copy to the Windows clipboard.
9504
9505 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9506
9507         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9508         compilation, too. Current mingw gcc distributions include the
9509         necessary headers. Also the necessary IIDs are now in mingw
9510         headers/libraries, and own definitions unnecessary.
9511
9512         More hacking on OLE2 DND, still doesn't work though, and thus
9513         ifdeffed out.
9514
9515         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9516         here, too.
9517
9518 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9519
9520         * gdk/nanox/*: nano-X port work in progress.
9521         * gdk/simple.c: simple test for Gdk.
9522         * README.nanox: notes about the port: read this first!
9523         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9524         with nano-X.
9525
9526 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9527
9528         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9529         gdk_window_clear() into common code, implement in terms of
9530         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9531         not redirected to the backing rectangle.
9532
9533 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9534
9535         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9536         EXTRA_DIST. It does not work well when the file that
9537         everything depends on is not in the tarball.
9538
9539 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9540
9541         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9542         with recursion where process_updates() is called from
9543         an expose handler. (GtkTextView is highly broken in
9544         doing this, but it should work, so it is a nice test
9545         case.)
9546
9547 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9548
9549         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9550         handle the case where updates are queued during processing of
9551         updates.
9552
9553 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9554
9555         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9556         window is on gdk_display - use that instead of segfaulting.
9557
9558 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9559
9560         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9561         broken and require an empty arg, give it to them.
9562
9563 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9564
9565         * gtk/gtklabel.h: indentation fixes.
9566
9567 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9568
9569         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9570         draw too narrow or too low arcs, they seem to fail, at least with
9571         some display drivers.
9572
9573         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9574
9575         Large changes to the Win32 backend, partially made necessary by
9576         the changes to the backend-independent internal
9577         structures. Attempts to implement similar backing store stuff as
9578         on X11. The current (CVS) version of the Win32 backend is *not* as
9579         stable as it was before the no-flicker branch was merged. A
9580         zipfile with that version is available from
9581         http://www.gimp.org/win32/. That should be use by "production"
9582         code until this CVS version is usable. (But note, the Win32
9583         backend has never been claimed to be "production quality".)
9584
9585         * README.win32: Add the above comment about versions.
9586
9587         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9588
9589         * gdk/gdk.def: Update.
9590
9591         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9592         presumably be replaced by some more better mechanism as 1.4 gets
9593         closer to release shape.
9594
9595         * gdk/makefile.{cygwin,msc}: Update.
9596
9597         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9598         internal headers. Change code according to changes in these. Use
9599         gdk_drawable_*, not gdk_window_* where necessary.
9600
9601         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9602         our old DND.
9603
9604         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9605         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9606         Use correct function name in warning messages.
9607
9608         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9609         GSourceFuncs gdk_event_prepare and gdk_event_check.
9610         (gdk_event_get_graphics_expose): Do implement, use
9611         PeekMessage. Thanks to Hans Breuer.
9612         (event_mask_string): Debugging function to print an GdkEventMask.
9613         (gdk_pointer_grab): Use it.
9614
9615         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9616         (old) book I used claimed was Hangul actually is CJK Unified
9617         Ideographs Extension A. Also, Hangul Syllables were missing.
9618         Improve logging.
9619
9620         * gdk/win32/gdkgc-win32.c: Largish changes.
9621
9622         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9623         g_win32_getlocale() from GLib, and not setlocale() to get current
9624         locale name.
9625
9626         * gdk/win32/gdkprivate-win32.h
9627         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9628         gdkwin32.h, similarily as in the X11 backend.
9629
9630         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9631         assignment was used instead of equals in if test. Thanks to Hans
9632         Breuer.
9633
9634         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9635         the X11 version.
9636
9637         * gdk/win32/makefile.{cygwin,msc}
9638         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9639         path to the Win32 headers that works also with the mingw compiler.
9640
9641         * gtk/gtkstyle.c: Include <string.h>.
9642
9643 2000-04-26  Havoc Pennington  <hp@redhat.com>
9644
9645         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9646         replacing the broken gtk_label_get ()
9647
9648 2000-04-15  Havoc Pennington  <hp@pobox.com>
9649
9650         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9651         this keeps scanner scripts from getting confused.
9652
9653         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9654         data, rather than void
9655
9656 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9657
9658         * gtk/gtkclist.c (gtk_clist_motion)
9659         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9660         with is_hint FALSE, get x and y from the event. They used to be
9661         used uninitialised. The Win32 backend never sends motion events
9662         marked as hints. This for instance fixes the annoying file and
9663         font selector behaviour in the Win32 version.
9664
9665 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9666
9667         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9668         gtk_private_n_signals variables, they are used by some software,
9669         sigh.
9670
9671         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9672         installation directory from the Registry, where the installer
9673         should have put it.
9674
9675 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9676
9677         * gdk/x11/Makefile.am: Fix problem with installation directory for
9678         gdkx.h
9679
9680         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9681         <mrcooger@cyberverse.com> so that when selecting menus with the
9682         mouse, the first item will not be selected, but when selecting
9683         with an accelerator, or navigating left-right on a menubar with
9684         the menus popped up, the first item will be selected.
9685
9686 2000-04-05  Dan Damian  <dand@dnttm.ro>
9687
9688         * configure.in: Added "ro" to ALL_LINGUAS.
9689
9690 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9691
9692         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9693         indentation.
9694
9695         * Makefile.am (EXTRA_DIST): Fix typo.
9696
9697         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9698         to catch gdkconfig.h
9699
9700         * gtk/gtkitemfactory.c: Added FIXME.
9701
9702 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9703
9704         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9705         s/return_if_fail/return_val_if_fail/g and add a return value.
9706
9707 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9708
9709         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9710         merge slipup.
9711
9712         * gdk/gdkinput.h: Fix missing line from merge.
9713
9714 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9715
9716         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9717         instead of gdkprivate.h.
9718
9719 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9720
9721         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9722         parent class to correctly be GtkDialogClass.
9723
9724 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9725
9726         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9727         toplevel windows and their immediate children by their parents,
9728         since the size of toplevel windows is out of our immediate
9729         control and we don't get any real benefit from trying to track
9730         this size for clipping.
9731
9732         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9733         for input_only windows.
9734
9735         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9736         to fix some hacks and make sure that we don't try to set the
9737         background of input only windows.
9738
9739 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9740
9741         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9742         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9743         stuff that we've traditionally exposed.
9744
9745         * gdk/**.c: Use gdkinternals.h where appropriate.
9746
9747         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9748         not include gdkprivate-x11.h, move all stuff of conceivable public
9749         interest into gdkx.h; keep all really private stuff in
9750         uninstalled header gdkprivate-x11.h.
9751
9752         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9753         image->image_put on windows through a new function _gdk_window_draw_image()
9754         to allow us to do backing store for images. (Sort of ugly)
9755
9756         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9757         contexts locally so that we can offset them properly when drawing 
9758         onto backing pixmaps.
9759
9760         * gdk/gdkinput.h: Reindented
9761
9762         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9763         pixmap or color for the window, so we can properly initialize
9764         our double-buffer pixmaps, and also so that we temporarily set
9765         a background of None while scrolling.
9766
9767         * gdk/gdkregion.h: Revise region boolean operators to have an
9768         interface that is actually convenient - switch from creating new
9769         regions on every op, to "methods" that modify existing regions
9770         (A = A OP B). 3 argument forms which allow dest == src, would also
9771         be possible, but the current interfaces seem to map nicely
9772         onto what needs to be done. (There is quite a lot of region
9773         code in GDK now.)
9774
9775         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9776         operator.
9777
9778         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9779         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9780         to 32 bit coordinates, modify it to be mostly GTK+ style
9781         and to have interfaces that match gdkregion.h.
9782
9783         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9784         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9785         create a backing pixmap and redirect all drawing to
9786         that backing pixmap until a matching gdk_window_end_paint().
9787
9788         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9789         Create a special drawable class for GtkWindow's that 
9790         redirects the drawing to the backing pixmap as necessary
9791         and then calls the real operations in _gdk_windowing_window_class.
9792
9793         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9794         Store invalid region for each window. Generate expose events for invalid
9795         region in an idle. This replaces both the expose compression
9796         and the redrawing queuing in GTK+. It is both more efficient and
9797         simpler than either one individually and far more so then the
9798         combination.
9799
9800         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9801         Emulate 32 bit coordinates for windows with 16 bit coordinates
9802         by offsetting drawing, guffaw scrolling techniques and
9803         mapping/unmapping child windows as necessary.
9804
9805         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9806         where, when invalid regions are processed, the region is stored,
9807         and if expose events come in that are detectably duplicate
9808         the processed exposes (by comparison of event serial numbers),
9809         the stored region is subtracted out of those exposes.
9810
9811         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9812         regions newly exposed when scrolling or resizing windows.
9813         This, combined with forcing processesing of queued invalidated
9814         regions, gives nice flicker-free scrolling.
9815
9816         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9817         invalidated regions after every scroll.
9818
9819         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9820         emulation in GDK. Its, for all practical purposes just a
9821         GtkViewport/GtkFixed hybrid now.
9822
9823         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9824         (16-bit) structures as necessary instead of just casting.
9825
9826         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9827         in terms of the structures from gdkregion-generic.c, using appropriate
9828         offsets from GDK to X11 coordinates. Cache clip mask and
9829         origin and ts origin locally and only flush to the server
9830         when drawing, to avoid constantly setting and resetting these
9831         values when offsetting GC's for scrolling and backing pixmaps.
9832
9833         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9834
9835         * gtk/gtkcontainer.c: Call process_all_updates at end
9836         of resizing to reduce flicker. (Avoids having redraw
9837         lag arbitrarily behind resize under some circumstances)
9838
9839         * gtk/gtkentry.c: Remove old backing store code, and simply take
9840         advantage of the new backing store capabilities of GDK.
9841
9842         * gtk/gtkmain.c: Simple implementation of widget backing
9843         store - simply push a paint while handling each expose.
9844         (Should really be configurable widget for widget.)
9845         
9846         * gtk/gtkwidget.c: Remove all the old complicated redraw
9847         code, and simply invalidate the GDK windows from
9848         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9849         debugged complexity ... gone to the winds.)
9850
9851         Remove all the code for suppressing expose events while
9852         resizes are pending; this isn't needed since the invalid
9853         areas won't be processed until after the resizes are
9854         processed, since they are in a lower priority idle.
9855
9856 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9857
9858         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9859         and height of dest rectangle for non-intersecting rectangles.
9860
9861 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9862
9863         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9864         for GdkRectangle.
9865
9866 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9867
9868         * gdk/gdk{events,image,private,types,window}.h
9869          gdk/x11/gdkinputprivate.h: Change all coordinates
9870          from int16 to int. Also, Change width and height from
9871          unsigned to signed to avoid all the stupid C 
9872          signedness bugs.
9873
9874 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9875
9876         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9877         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9878         Add some more detailed checking.
9879
9880         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9881         New function to retrieve the depth of a drawable.
9882
9883         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9884         field, reorder fields to save memory. 
9885
9886 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9887
9888         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9889         of the background image instead of scaling the background down to
9890         a line.
9891
9892         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9893         which temporarily set slider to wrong size.
9894
9895         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9896         queue_clear().
9897
9898 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9899
9900 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9901
9902         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9903
9904 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9905
9906         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9907         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9908
9909         * gdk/win32/gdkfont-win32.c
9910         * gdk/win32/gdkproperty-win32.c
9911         * gdk/win32/gdkselection-win32.c
9912         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9913         now declared such.
9914
9915 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9916
9917         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9918
9919 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9920
9921         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9922         is called without trapping X errors.
9923
9924 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9925
9926         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9927         way into the fontset lists.
9928
9929 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9930
9931         * gtk/gtkthemes.h: add extern "C" scope.
9932
9933 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9934
9935         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9936         to make appends to the list constant. (gtk-guy-990901-0.patch)
9937
9938 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9939
9940         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9941         for the typename hash table.
9942
9943 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9944
9945         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9946         to make sure we never divide by zero. 
9947         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9948
9949 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9950
9951         * gtk/gtkfontsel.c: Apply patch from
9952         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9953         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9954
9955         Also, some cleanups in atom handling.
9956
9957 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9958
9959         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9960         not GtkWidget.
9961
9962 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9963
9964         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9965         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9966         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9967         more guint wrap-around bugs before going to bed.
9968
9969 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9970
9971         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9972         guint wrap arounds in allocation.width.
9973
9974         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9975         process untill we fit the allocation given.
9976
9977 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9978
9979         * gtk/gtkwidget.c:
9980         (gtk_widget_unrealize): guard widget access with ref/unref
9981         around signal emission.
9982         (gtk_widget_hide): same here, but also check its destroyed
9983         state before queueing a resize.
9984
9985 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9986
9987         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9988         of gtk_default_insensitive_bg as insensitive base color.
9989
9990         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9991         to the widget's state.
9992         (gtk_text_realize): same here.
9993         (gtk_text_state_changed): same here.
9994         (draw_bg_rect): compare background color against base[] from
9995         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9996
9997 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9998
9999         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10000         grabs are active, unless a delete event is send to the toplevel
10001         of the currently grab holding widget.
10002
10003 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10004
10005         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10006         debugging g_print's.
10007
10008 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10009
10010         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10011         ever make the scrolled-window requisition ever depend on the 
10012         visibility state of the scrollbars for the AUTOMATIC policy. 
10013         This breaks the GTK+ requisition model, and causes loops.
10014
10015 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10016
10017         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10018         the default font to avoid problems with XFree86-4.0 where the
10019         default charset is iso10646-1, not iso8859-1.
10020
10021 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10022
10023         * acinclude.m4
10024         * config.guess
10025         * config.sub
10026         * ltconfig
10027         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10028
10029         * gtk/Makefile.am: minor cosmetic consistency tweak
10030
10031 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10032
10033         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10034         the activate_time to 0, so that we handle a quick
10035         press/release press/release properly and don't suppress
10036         the second release. (Red Hat bug #7545)
10037
10038 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10039
10040         * gtk/gtkctree.c (row_delete):
10041         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10042         bugs with destruction notifier, *always* update internal
10043         structures *before* calling user code.
10044
10045 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10046
10047         A few more fixes for bug #5487, #2051, #2677.
10048         * gtk/gtkclist.c : 
10049         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10050         not GDK_BUTTON_PRESS.
10051         (resync_selection): resync only if selection_mode is
10052         GTK_SELECTION_EXTENDED
10053         * gtk/gtkctree.c (resync_selection): same here
10054
10055 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10056
10057         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10058         gdk_drag_get_selection() and gtk_menu_detach().
10059
10060         [ From Jeroen Ruigrok/Asmodai ]
10061
10062 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10063
10064         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10065         page->tab_label can be NULL.
10066
10067 2000-01-25  Havoc Pennington  <hp@pobox.com>
10068         
10069         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10070         arg is boolean
10071
10072         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10073
10074         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10075
10076         * gdk/gdkproperty.c (gdk_property_get): return boolean
10077
10078         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10079
10080         * gdk/gdkim.c (gdk_im_ready): return boolean
10081
10082         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10083
10084         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10085         glib clash, should fix glib)
10086
10087         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10088         (gdk_get_show_events): return gboolean, and canonicalize 
10089         to TRUE/FALSE
10090
10091         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10092         colormap is private
10093         (gdk_colors_alloc): gboolean whether to be contiguous
10094         (gdk_color_equal): return gboolean since we are a predicate
10095         and not a qsort() (this looks semi-wrong due to glib breakage,
10096         IMO glib should be fixed)
10097         
10098         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10099         (gdk_get_use_xshm): return gboolean
10100         (gdk_pointer_is_grabbed): return gboolean
10101
10102         * gdk/gdk.h: Change prototypes to match all the above changes,
10103         and re-run egtk-format-protos as required.
10104
10105 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10106
10107         * gtk/gtkctree.c (resync_selection): 
10108         * gtk/gtkclist.c (resync_selection):
10109
10110         Return immediately if clist->drag_pos < 0. This is a workaround
10111         for the corrupt state that the clist gets into when a
10112         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10113
10114         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10115         
10116         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10117         variable from recent commit.
10118
10119 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10120
10121         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10122
10123 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10124
10125         * gtk/Makefile.am: prefix all autogenerated source that get build in
10126         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10127         in builddir. since we subsequently cd into srcdir for autogeneration,
10128         the paths have to be stripped from the target file names, thusly we
10129         use $(@F) as target names now.
10130         put a comment about configure.in's --disable-rebuilds option,
10131         which can be used for non-writable source directories, for development
10132         setups though, srcdir has to be *writable*.
10133
10134 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10135
10136         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10137           Finish the job of allowing event to be NULL.
10138           (Fixes bug #4283, reported by Chris Blizzard)
10139
10140         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10141           things so that the cursor appears on screen, properly
10142           take into account INNER_BORDER.
10143           (Fixes bug #4754, reported by Antonio Campos)
10144
10145 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10146
10147         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10148           show the tab_label unless it itself is visible.
10149
10150           gtk/gtknotebook.c (gtk_notebook_size_request):
10151           Do a better job of making sure that the visibility
10152           of the tab label corresponds to whether it should
10153           be mapped or not.
10154
10155 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10156
10157         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10158           Use the requisition, not the allocation, since the
10159           allocation has not necessarily been computed yet.
10160           (Pointed out by Eugene Osintsev)
10161
10162 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10163
10164         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10165           style/base[GTK_STATE_INSENSITIVE] both to
10166           gtk_default_insensitive_bg!
10167           (Bug #2187, reported by Jonathan Blandford)
10168
10169         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10170           Add Alt_L, Alt_R to list of invalid accelerators.
10171           (Bug #3736, reported by Vlad Harchev)
10172
10173 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10174
10175         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10176         bugs which occured after an attempt to open 
10177         invalid home directory left cmpl_state->reference_dir == NULL.
10178
10179          - completion on files in home directory didn't work
10180          - completion on an empty string caused  segfault
10181
10182          (Bug #3678, reported by Steve Ratcliffe)
10183
10184         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10185         cut and paste error that was causing scales to
10186         be incorrectly positioned.
10187         (Bug #2956,
10188          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10189
10190 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10191
10192         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10193         when checking for dcgettext, if we've found we needed
10194         it for dgettext.
10195 +
10196 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10197
10198         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10199         queue_clear on NO_WINDOW widgets during a reparent,
10200         since at that point the window and widget heirarchies
10201         are out of sync. This stops crashing in some cases
10202         (the scrolled window reparent test, for instance), and
10203         _probably_ won't cause drawing errors.
10204
10205         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10206         test do what it was supposed to do and be robust against
10207         window closings, etc. (Bug #2443)
10208
10209 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10210
10211         * gtk/gtkentry.c: Fix return values on mouse events.
10212         (Bug #2686, Sky <seb_sky@yahoo.com>)
10213
10214         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10215         (pointed out by George Lebl)
10216
10217         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10218         (From Ettore Perazzoli  <ettore@helixcode.com>)
10219  
10220 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10221
10222         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10223         clicks between rows or outside calender area correctly.
10224         (Patch from Damon Chaplin)
10225
10226         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10227         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10228           Call destroy function when overwriting existing data. 
10229           (Pointed out by Damon Chaplin)
10230
10231 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10232
10233         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10234           which was causing problems on various systems with Xmu.
10235           This hasn't been needed for a very long time.
10236           (Fixes #1185 3167)
10237
10238 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10239
10240         * gdk/gdki18n.h: Include <ctype.h> when defining
10241           gdk_isw* in terms of is* as a fallback.
10242           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10243
10244 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10245
10246         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10247           realize the widget when it is size allocated!
10248           (old, old bug)
10249
10250         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10251           Removed unused call to gdk_window_get_size() that
10252           showed up when the above was fixed.
10253
10254 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10255
10256         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10257           fix up widget->window when the widget is a
10258           NO_WINDOW container widget.
10259
10260 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10261
10262         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10263           to account for the fact that feof() does _not_ 
10264           return TRUE on errors, and thus avoid infinite loops
10265           when trying to use gdk_pixmap_create_from_xpm()
10266           on unreadable values.
10267
10268 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10269
10270         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10271
10272 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10273
10274         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10275           gdk_gc_set_dashes to take gint8 instead of gchar to
10276           make it clearer that it is _not_ a NULL terminated string.
10277
10278         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10279           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10280           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10281           arguments.
10282
10283 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10284
10285         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10286         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10287         background size relative to our allocation, guard against small
10288         allocations, we may have not yet been size allocated.
10289
10290 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10291
10292         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10293         not just version == 3. We implement all 3 + most of 4 - 
10294         (we don't support matching text/plain;charset=iso-8859-1
10295         to a dest that expects text/plain). We'll still advertise
10296         3 to be safe, but any client implementing version >= 3
10297         must interoperate with 3.
10298         
10299 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10300
10301         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10302         background and gc members, add a warning in gtk_tooltips_set_color()
10303         indicating that this function is deprecated.
10304
10305 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10306
10307         * docs/gtkfaq.sgml: FAQ Update:
10308           - Minor cleanups (Emmanuel, me)
10309           - New questions:
10310                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10311                 How can I retrieve the text from a GtkMenuItem? (timj)
10312                 How do I validate/limit/filter the input to a GtkEntry? (me)
10313                 Memory does not seem to be released when I free the list
10314                         nodes I've allocated (timj)
10315
10316 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10317
10318         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10319         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10320         for which it is no use to call GetLastError onWin9x.
10321         (gdk_other_api_failed) New function, for general error
10322         reporting without calling GetLastError.
10323         (gdk_win32_api_failed) OTOH, this function always calls
10324         GetLastError. (gdk_win32_last_error_string) Remove this function,
10325         GLib has the equivalent now.
10326
10327         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10328         call them with function name, file name and line number in the
10329         arguments.
10330
10331         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10332         functions.
10333         
10334         * gtk/gtk.def: Add some missing entry points.
10335
10336         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10337         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10338         
10339         Fixes by Hans Breuer:
10340
10341         * gdk/makefile.msc: Update for debugging.
10342
10343         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10344         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10345         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10346         in the dash_list.
10347
10348         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10349         the x11 backend.
10350
10351         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10352
10353         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10354
10355 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10356
10357         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10358         just pixel value of background colour.
10359
10360         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10361         containing code snippet previously duplicated in a couple of
10362         places.
10363         
10364         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10365         gdk_colormap_color.
10366
10367         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10368         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10369         events for autorepeated Shift, Control and Alt keys. Use
10370         gdk_colormap_color.
10371
10372         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10373         pointer is inside the window the cursor of which we are setting,
10374         call SetCursor immediately.
10375
10376         * gdk/win32/makefile.cygwin
10377         * gtk/makefile.cygwin: If we don't have the build number stamp
10378         file, use zero.
10379
10380         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10381         gtk_paned_set_gutter_size as empty.
10382
10383         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10384         
10385 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10386
10387         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10388           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10389           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10390           docs/gtk_tut.sgml docs/gtk.texi TODO:
10391
10392           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10393
10394 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10395
10396         * gtk/gtkcalendar.c: Implement num_marked_dates,
10397           and don't emit mutiple day_selected signals on
10398           month_prev.
10399
10400 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10401
10402         * docs/make-todo (lineno): let title and logo be configurable so
10403         that GNOME can use this script too.
10404
10405         * TODO.xml: added logourl and a title
10406
10407 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10408
10409         * TODO.xml: Added some UI items, and an explanatory
10410         comment at the top of the file.
10411
10412 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10413
10414         * TODO.xml: some updates, added abunch of new entries.
10415         a note for those fiddeling with this file, when done
10416         with it, invoke:
10417         $ ./docs/make-todo TODO.xml >/dev/null
10418         and correct output errors before comitting changes.
10419
10420 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10421
10422         * TODO.xml: Added XML-structured TODO file.
10423         * docs/make-todo: python script to turn TODO.xml into
10424           pretty XML output. 
10425
10426 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10427
10428         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10429         the function to let it draw the seven dots, instead of the old,
10430         much maligned, method.
10431         (draw_dot): New function to draw a dot.
10432
10433         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10434         to draw the handle inside the border width as opposed to outside.
10435         Use paint function instead of gdk_draw_point.
10436
10437         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10438         to draw the handle inside the border width as opposed to outside.
10439         Use paint function instead of gdk_draw_point.
10440
10441         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10442         Change indenting to be more GTK like.
10443
10444 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10445
10446         * docs/gtk_tut.sgml: New section on GtkCalendar
10447         * examples/calendar: Update example code
10448
10449 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10450
10451         * docs/gtkfaq.sgml: FAQ Update
10452
10453 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10454
10455         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10456         to prevent the scroll event to be propagated upwards.
10457
10458 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10459
10460         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10461         OwnerGrabButtonMask from button entries for
10462         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10463
10464         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10465         to the event mask (which will result in button/press release
10466         being added to the event mask on Unix) so scrolling works
10467         for layouts in scroll windows.
10468
10469         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10470
10471         Patch from Anders Carlsson  <andersca@gnu.org> to add
10472         a scroll event.
10473
10474         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10475         scrolling to the "Test Scrolling" part of testgtk.
10476  
10477         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10478  
10479         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10480         it against GDK_SCROLL.
10481  
10482         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10483         way of mouse wheel scrolling.
10484  
10485         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10486  
10487         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10488  
10489         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10490  
10491         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10492         gdk_event_mask_table.
10493  
10494         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10495         GdkEventScroll handler.
10496  
10497         * gdk/gdkevents.h: Added GdkEventScroll structure.
10498  
10499 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10500
10501         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10502         and Anders Carlsson to change the Paned widgets so that they
10503         can be dragged from anywhere along the length. Also change
10504         the way that this is drawn to make this apparent.
10505
10506         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10507         from George Lebl to check that option_menu->menu is present
10508         before getting history.
10509
10510 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10511
10512         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10513         before the assertion for non-NULL segment list.
10514
10515         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10516         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10517         machine, but it might be display driver dependent. Sigh, so make
10518         sure the stipple is that size. Does Windows suck or what?
10519
10520         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10521         places.
10522
10523 2000-02-13  Havoc Pennington  <hp@pobox.com>
10524
10525         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10526         refcount to 1
10527         (gdk_cursor_new): init refcount to 1
10528
10529         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10530
10531 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10532
10533         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10534         so that we don't have to do unnecessary settings to the HDC.
10535
10536         * gdk/win32/gdkdrawable-win32.c
10537         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10538         gdk_gc_predraw.
10539
10540         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10541         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10542         GDI paths, call WidenPath to get the outline of the stroken path,
10543         and then fill the outline (with the brush that was built from the
10544         stipple).
10545
10546         * gdk/win32/gdkgc-win32.c: Factor out common code from
10547         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10548         gdk_win32_gc_values_to_win32values. Use correct colour for
10549         SetBkColor() (Until now the code actually used a random colour in
10550         the call to SetBkColor()... but that didn't show up as not many
10551         GDI APIs use the background colour. Pattern (opaque stippled)
10552         brushes do.)
10553
10554         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10555         gdk_win32_api_failed): New functions for error logging.
10556
10557         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10558         WIN32_API_FAILED to call them, passing function or file name and
10559         line number.
10560
10561         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10562
10563         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10564         GdkColor for foreground and background in GdkGCWin32Data.
10565
10566         * gdk/makefile.cygwin: Link in the resource object separately.
10567
10568         * gdk/win32/rc/gdk.rc
10569         * gtk/gtk.rc (New file)
10570         * gdk/win32/makefile.cygwin
10571         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10572         as in GLib.
10573
10574 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10575
10576         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10577         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10578         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10579         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10580         parameters given and cursor->ref_count. coding style fixups.
10581
10582         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10583         not GtkWidget.
10584         
10585         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10586         fix up widget macros and add _GET_CLASS() variant.
10587         
10588         * gtk/*.c: some GtkType fixups.
10589
10590 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10591
10592         * gdk/win32/gdkproperty-win32.c
10593         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10594         were reversed.
10595
10596 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10597
10598         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10599         g_filename_to_utf8 to convert the font names Windows gives us from
10600         whatever is the default codepage to UTF-8.
10601         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10602         in the other direction.
10603
10604         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10605         error in debugging output.
10606
10607 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10608
10609         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10610         and height parameters to gdk_window_clear_area(). Not minus one.
10611
10612 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10613
10614         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10615         checks if the widget passed to gtk_drag_get_data() was not the
10616         dest widget.
10617
10618 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10619
10620         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10621         g_filename_from_utf8 functions (which were added a moment ago to
10622         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10623         size buffers.
10624
10625         gtk_file_selection_get_filename returns the filename in the C
10626         runtime encoding. It calls g_filename_from_utf8, but copies the
10627         returned string to a static buffer, which is returned. I think
10628         this is better than returning the result from g_filename_from_utf8
10629         directly, which would mean all apps that use it would have to free
10630         the return value. Or should this function care about this issue at
10631         all? Maybe a new function with clearly defined semantics.
10632
10633         * gtk/gtkfilesel.h: Add comment about
10634         gtk_file_selection_get_filename returning the filename in the C
10635         runtime's encoding.
10636
10637         * README.win32
10638         * gdk/gdk.def
10639         * gdk/makefile.{cygwin,msc}
10640         * gtk/gtk.def: Updates.
10641
10642         * gdk/gdkcursor-win32.c: Initialise refcount.
10643
10644 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10645
10646         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10647
10648 2000-01-30  Havoc Pennington  <hp@pobox.com>
10649
10650         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10651         destroy
10652
10653         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10654
10655         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10656         implemented in platform-specific code
10657
10658         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10659
10660         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10661         underscore in front
10662
10663         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10664         put an underscore in front
10665
10666         * gdk/gdkcursor.c: new file, implements
10667         gdk_cursor_ref/gdk_cursor_unref
10668
10669         * gdk/gdkcursor.h: Refcount GdkCursor
10670
10671         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10672
10673 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10674
10675         * gdk/gdkwindow.h
10676         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10677
10678 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10679
10680         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10681         structures to properly inherit from GtkWidget not GtkBin.
10682
10683 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10684
10685         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10686         (bug #5178 - Peter Wainright)
10687         
10688         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10689         so that it will be installed.
10690         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10691
10692 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10693
10694         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10695         for the GtkStyleClass vtable const.
10696
10697         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10698         take a const string argument like GtkTranslateFunc. This will
10699         require changes in use code.
10700
10701 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10702
10703         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10704         semantics (to mimic the X11 backend, which just calls XClearArea)
10705         is to check for zero width (and height), and in that case use the
10706         window's width minus x (height minus y). This fixes for instance
10707         some redraw problems with gtkclist, which were easily noticeable
10708         in the gtk file selection widget.
10709
10710         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10711         windows.
10712
10713 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10714
10715         * configure.in
10716         * gdk/Makefile.am
10717         * gdk/x11/Makefile.am
10718         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10719         (bug #5177).
10720         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10721         out later.
10722
10723 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10724
10725         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10726         WM_MOVE for iconified or invisible windows. This fixes various
10727         problems when minimising windows. Thanks to Bernd Herd.
10728
10729 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10730
10731         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10732         backend's draw_lines method, not draw_points.
10733
10734 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10735
10736         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10737         before Owen's reorganisation: Don't have queued_events and
10738         queued_tail statics in this file, but use gdk_queued_events and
10739         gdk_queued_tail. This makes exposure event compression work again.
10740
10741         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10742         seem to be needed?
10743
10744 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10745
10746         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10747         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10748         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10749         doesn't do anything.
10750
10751         * gdk/gdk.def: Add gdk_xid_table_insert.
10752
10753         * gdk/win32/gdkprivate-win32.h
10754         * gdk/win32/gdkevents-win32.c
10755         * gdk/win32/gdkinput-win32.c
10756         
10757         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10758         extension_events field in the GdkWindowWin32Data struct. Use only
10759         the extension_events field in GdkWindowPrivate. Previously one was
10760         set, and the other one tested, which broke tablet
10761         functionality. Thanks to Keishi Suenaga for pointing this out.
10762
10763 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10764
10765         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10766         When handling a single character (text length == 1), don't handle
10767         it as if it was UTF-8.
10768
10769 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10770
10771         * Makefile.am: Distribute README.win32.
10772         
10773         * gdk/Makefile.am
10774         * gdk/win32/Makefile.am: Distribute Win32 files.
10775
10776         * gdk/makefile.msc: New file.
10777
10778         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10779         after label).
10780
10781         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10782         gdk_error_code as GDKVAR, as they are referred outside GDK.
10783
10784         * gdk/win32/makefile.msc: Update.
10785
10786         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10787         tweaks. Check only if at least one of those Unicode subrange bits
10788         we care for is set. If no code page bits are set, guess (wildly)
10789         based on the charset.
10790
10791         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10792
10793         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10794         non-NULL.
10795
10796         * gtk/gtkdnd.c
10797         * gtk/gtklayout.c
10798         * gtk/gtkplug.c
10799         * gtk/gtkselection.c
10800         * gtk/gtksocket.c
10801         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10802         appropriate. There must be a cleaner way to handle this?
10803
10804         * gtk/gtkrc.c: Must include windows.h on Win32.
10805
10806         * gtk/testgtk.c: No need to include gdkx.h.
10807
10808         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10809
10810 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10811
10812         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10813         the rbearing is set to the same as the width, but this should be
10814         fixed.
10815
10816 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10817
10818         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10819         function. If Windows doesn't tell us what Unicode subranges a font
10820         covers, guesstimate based on the codepages it covers. This will
10821         hopefully help those Windows versions or fonts that don't give us
10822         any useful Unicode subrange information with GetTextCharsetInfo.
10823         Call this function in gdk_font_load_internal.
10824
10825         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10826         minor changes.
10827
10828 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10829
10830         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10831         New function, long needed.
10832
10833 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10834
10835         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10836         only_if_exists argument of gdk_atom_intern to
10837         bool.
10838
10839 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10840
10841         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10842         Fix two copy&paste errors.
10843
10844         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10845         win32 has changed.
10846
10847         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10848         GdkWin32SingleFont struct.
10849
10850         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10851         subranges of loaded fonts. Clear font signature first, in case
10852         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10853         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10854
10855         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10856         Unoffset clip region.
10857
10858 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10859
10860         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10861         event->any.window before calling filter functions.
10862
10863 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10864
10865         * gtk/gtkgamma.h: Adapt cast macros to standard.
10866
10867 [ Merges from 1.2 ]
10868
10869 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10870
10871         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10872         If translation does not include a '/', use entire
10873         translation instead of crashing.
10874
10875 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10876
10877         * docs/gtk_tut.sgml:
10878         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10879
10880 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10881
10882         * gtk/gtkselection.c (gtk_target_list_remove): Use
10883         g_list_remove_link, not g_list_remove.
10884
10885         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10886         
10887 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10888
10889         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10890         statement upon unselection (how the heck did that slip in?).
10891
10892 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10893
10894         * gtk/gtktext.c (gtk_text_freeze): 
10895         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10896         in frozen state (and aparently crashes). patch provided by Anders
10897         Melchiorsen <and@kampsax.dtu.dk>.
10898
10899 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10900
10901         * fix insensitive default/focus widget activation,
10902         reported by Matt Goodall <mgg@isotek.co.uk>.
10903
10904         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10905         (gtk_window_activate_default):
10906         (gtk_window_activate_focus):
10907         return handled=FALSE for actiavtion of insensitive default
10908         widgets. return handled=TRUE for activation of insensitive
10909         focus widgets. don't activate in either case.
10910
10911 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10912
10913         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10914         and $glib_cflags to match library order and in the
10915         theory that an old version of GLib is more likely to
10916         be in the include directory for X then vice-versa.
10917         (Bug #2776)
10918
10919 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10920
10921         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10922         to determine the locale for fontsets, not LC_MESSAGES;
10923         the user may want English messages with a handling
10924         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10925         will still be broken) (Bug #2891)
10926
10927 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10928
10929         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10930
10931 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10932
10933         * gtk/gtkrc.ko: Changed the Korean default fontset.
10934
10935 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10936
10937         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10938         where when scrolling to the left or top double exposes
10939         were done, causing major slowdowns.
10940
10941 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10942
10943         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10944         names to lowercase and alphanumeric, before looking
10945         them up.
10946
10947         * gtk/Makefile.am: Install codeset variant gtkrc files
10948         with normalized names.
10949
10950 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10951
10952         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10953         popup menus when the menu is already visible, but its parent
10954         is still hidden, (happens after tornoff window got hidden).
10955
10956 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10957
10958         * gtk/Makefile.am (install-data-local): Fix
10959         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10960         deleted, causing error messages on install.
10961
10962 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10963
10964         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10965         the handle as well, since we now sometimes ignore
10966         exposes on the handle while resizing.
10967
10968 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10969
10970         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10971         extra g_free introduced in one of the last one or two 
10972         commits.
10973
10974 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10975
10976         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10977         consistent, put each style that a gtkrc.* file creates
10978         in a unique namespace, remove old files before installing.
10979
10980 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10981
10982         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10983         gtk_rc_init is called multiple times. (Yes, people who
10984         do that have bugs in their code.)
10985
10986 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10987
10988         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10989         Remove it since it's generated by the Makefile anyway
10990
10991 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10992
10993         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10994         device->info.axes for core pointer.
10995
10996 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10997
10998         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10999         idle_id, to deal with obsolete, broken C libraries.
11000
11001 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11002
11003         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11004         allocation->x/y twice!
11005
11006         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11007         consistent with gtk_vscale_pos_trough().
11008
11009 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11010
11011         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11012         be queueing a resize on a toplevel container between
11013         the time we show it and when we map it. So, we need
11014         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11015         use GTK_WIDGET_DRAWABLE() for child windows.
11016
11017 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11018
11019         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11020         (fixes bug #2144)
11021
11022 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11023
11024         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11025         container DRAWABLE (instead of VISIBLE), so we don't queue
11026         resizes on non-toplevel containers.
11027
11028 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11029
11030         * gtk/gtkselection.[ch]: Make the data argument
11031         const guchar *.
11032
11033 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11034
11035         * gtk/gtkwindow.c: Try to behave sensibly if 
11036         the focus widget is the window itself. (Should
11037         we allow this at all?)
11038
11039 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11040
11041         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11042         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11043         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11044         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11045         in prototypes and implementations consistent (Tomas Ogren).
11046
11047         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11048         before the widget is unparented (reported by damon).
11049
11050         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11051         since we provide unsigned data anyways.
11052
11053 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11054
11055         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11056         the call to gtk_tooltips_layout_text() until later.
11057
11058         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11059         Call gtk_widget_ensure_style() before using the style.
11060
11061 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11062
11063         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11064         for old widgets that don't propagate draws to all
11065         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11066
11067 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11068
11069         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11070         for a redraw but just the widget that requested the resize.
11071
11072 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11073
11074         * gtk/gtkcontainer.c: added new widget level method
11075         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11076         reallocate_redraws : 1 to reflect the setting, exported this through
11077         the argument system as a boolean ::reallocate_redraws.
11078
11079         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11080         on the widget because the allocation changes, do so as well for
11081         widget->parent if the parent has reallocate_redraws set to TRUE.
11082         with that containers requesting reallocation redraws get automatically
11083         redrawn if their children changed allocation (this unfortunately
11084         affects also other children that didn't change allocation, but we
11085         cannot work around that before 1.3).
11086
11087 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11088
11089         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11090         _and_ height are >0 (not _or_).
11091
11092         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11093         instead of gtk_container_queue_resize(), which is a core gtk internal
11094         function (must have been on crack when i queued that).
11095
11096         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11097         we can check more reliably if we want to discard expose events.
11098         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11099         flag.
11100         
11101         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11102         we simply trust these events. for deciding whether to discard exposes,
11103         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11104         
11105 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11106
11107         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11108         queues of areas that are completely off screen.
11109
11110         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11111         logic for handleboxes.
11112
11113         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11114         check on width/height.
11115
11116 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11117
11118         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11119         we are fine with using $@ the way we do (if we actually encounter
11120         brokeness with $@ in VPATH builds because of additional path prefixes,
11121         we need to use $(@F) actually).
11122
11123 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11124
11125         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11126         short lived bugs, that would allow language bindings to do surgeries
11127         to our guts.
11128
11129 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11130
11131         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11132         where comparison was being done against an uninitialized
11133         value causing intermittant results depending on
11134         compiler flags. Also make it clearer that we aren't
11135         ever initializing the child as 0x0 (though this will
11136         be caught in gtk_widget_size_allocate())
11137
11138 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11139
11140         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11141         gtk_window_unset_transient_for() call after we do checks
11142         involving the old transient parent.
11143         [ From Lance Capser <lmc@cyberhighway.net> ]
11144
11145 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11146
11147         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11148         an empty file.
11149
11150 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11151
11152         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11153         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11154
11155 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11156
11157         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11158         `$@' is valid only in the build dir, not after we've done 
11159         `cd $srcdir'.  Also use `test -f' instead of less portable
11160         `test -e'.
11161
11162 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11163
11164         * gtk/gtktext.c (correct_cache_insert): Rewrite
11165          for simplicity, and hopefully correctness.
11166          (Fixes bug #1322, which was a segfault when
11167           on some insertions with the properties around
11168           the insertion set up just wrong.)
11169
11170         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11171          a "changed" signal, clamp the new value to the adjustment
11172          bounds to avoid segfaulting if someone tries to change
11173          the adjustment to a bogus value. (Bug #1795)
11174
11175 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11176
11177         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11178         for children, for toplevel windows handle them
11179         like delete_event.
11180
11181         * gtk/gtkplug.c: Add an unrealize handler so that
11182         we unref plug->socket_window when we are done
11183         with it.
11184
11185 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11186
11187         * gtk/gtktext.c (clear_area): Fix stupid signedness
11188          problem that was causing background to sometimes
11189          be misaligned.
11190
11191 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11192
11193         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11194         
11195         * gtk/gtkmenu.c (gtk_menu_position): Make
11196          sure we never position menus with negative x, y,
11197          since gtk_widget_set_uposition() can't handle that.
11198
11199         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11200          Modify the positioning code a bit so that we always
11201          put the top-left corner onscreen. (This is for
11202          UI reasons, gtk_menu_position() now takes care of
11203          gtk_widet_set_uposition() brokeness.)
11204
11205 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11206
11207         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11208
11209 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11210
11211         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11212           RC style that is passed in. The lack of the ref
11213           before was a bug. If people worked around this
11214           bug, this will introduce a slight memory leak
11215           in their code. The code should typically look like:
11216
11217             rc_style = gtk_rc_style_new ();
11218             [...]
11219             gtk_widget_modify_style (widget, rc_style);
11220             gtk_rc_style_unref (rc_style);
11221
11222         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11223           the style if it was already set.
11224
11225         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11226           style if it was set before.
11227
11228 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11229
11230         * gtk/testgtk.c (main): Add a check to see if we
11231           are being run from the correct directory and
11232           to quit nicely if we are not.
11233
11234         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11235           static.
11236
11237 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11238
11239         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11240
11241         * gtk/gtkwindow.c:
11242         queue resizes unconditionally (gtk_widget_queue_resize will figure
11243         what to do if the window is not realized).
11244         (gtk_window_move_resize): only recenter the window
11245         for GTK_WIN_POS_CENTER_ALWAYS.
11246         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11247         the same way as GTK_WIN_POS_CENTER.
11248
11249 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11250
11251         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11252         with (!(info->last_flags & GDK_HINT_POS)) instead of
11253         (!info->last_flags & GDK_HINT_POS).
11254
11255         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11256         new_height unconditionally, because we use these values even if
11257         !default_size_changed && !hints_changed.
11258         comented the (default_size_changed || hints_changed) case with
11259         respect to resize rejects from the window manager.
11260
11261         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11262         in the zvt condition hack, since this includes the window hints, set
11263         the hints after the handling_resize case.
11264
11265         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11266         window is initially shown with to the geometry.
11267
11268 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11269
11270         * gtk/gtkwindow.c (gtk_window_move_resize):
11271         s/size_changed/default_size_changed/g so i know what's
11272         really going on (frying brain on smaller flame now).
11273
11274 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11275
11276         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11277         we have size_changed upon handling_resize. this is a gross
11278         workaround for the broken zvt widget and should be removed in
11279         1.3 again (search for FIXME).
11280         Owen provided an accurate comment for this:
11281
11282         /* We could be here for two reasons
11283          *  1) We coincidentally got a resize while handling
11284          *     another resize.
11285          *  2) Our computation of size_changed was completely
11286          *     screwed up, probably because one of our children
11287          *     is broken. It's probably a zvt widget.
11288          *
11289          * For 1), we could just go ahead and ask for the
11290          * new size right now, but doing that for 2)
11291          * might well be fighting the user (and can even
11292          * trigger a loop). Since we really don't want to
11293          * do that, we requeue a resize in hopes that
11294          * by the time it gets handled, the child has seen
11295          * the light and is willing to go along with the
11296          * new size. (this happens for the zvt widget, since
11297          * the size_allocate() above will have stored the
11298          * requisition corresponding to the new size in the
11299          * zvt widget)
11300          *
11301          * This doesn't buy us anything for 1), but it shouldn't
11302          * hurt us too badly, since it is what would have
11303          * happened if we had gotten the configure event before
11304          * the new size had been set.
11305          */
11306
11307 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11308
11309         * gtk/gtkrc.c: deal properly with the fact that RC
11310           style lists may include rc styles more than once.
11311
11312         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11313           unused static function.
11314
11315         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11316           stack of directories of RC files currently being
11317           parsed and implicitely add them to pixmap path.
11318           
11319           This fixes a bug where the directory would get
11320           appended then overwritten by pixmap_path declarations.
11321
11322           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11323
11324         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11325           theme's exit function. (Patch from Peter Wainwright,
11326           bug #1454)
11327
11328         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11329           Add a destroy() handler to take care of removing
11330           group for menu item. (Fixes bug #1197)
11331
11332         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11333           in warning message.
11334
11335 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11336
11337         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11338         roundtrip to figure window's width and height, since we know that
11339         anyways from widget->allocation.
11340
11341 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11342
11343         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11344           the hints after we request the new size.
11345
11346 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11347
11348         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11349           GTK_WIDGET_REALIZED() assertion - we can compute the
11350           hints before we are realized.
11351
11352         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11353           hint changing so that we have a value of hints_changed
11354           when we decide whether to constrain the window size.
11355
11356         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11357
11358         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11359         change back to G_MAXINT.
11360
11361 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11362
11363         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11364         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11365         contain uncluttered values.
11366         (gtk_window_compute_hints): simply assert that window is realized
11367         and that geometry_info is valid, since we rely on this anyways.
11368         (gtk_window_constrain_size): major cleanups to the code.
11369         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11370         for the base size, instead of the minimums. use 32767 as max width
11371         and height (like in gtkwindow.c) instead of G_MAXINT.
11372
11373 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11374
11375         * cleaned up the GtkContainer.need_resize flag handling mess, we
11376         only need to force resize requests when we were prematurely
11377         realized, or our widget tree was modified when we were temporarily
11378         hidden. handling these cases directly upon showing the window (i.e.
11379         while the GdkWindow is still unmapped) avoids the need to wait for
11380         a configure event response and therefore makes the GUI more snappier
11381         and avoids blank windows during the roundtrip.
11382
11383         * gtk/gtkwidget.c:
11384         (gtk_widget_hide): 
11385         (gtk_widget_show): don't queue resizes on toplevels, they know how
11386         to deal with matters.
11387
11388         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11389         flag directly for not visible resize containers and spare us unecessary
11390         signal emissions.
11391
11392         * gtk/gtkwindow.c:
11393         (gtk_window_realize): if we need to enforce premature size allocation,
11394         queue a container resize so we are correctly resized later on.
11395         (gtk_window_init):
11396         (gtk_window_size_request):
11397         don't freak around with the ->need_resize flag,
11398         gtk_container_queue_resize() will care about that.
11399         (gtk_window_show):
11400         handle initial resizing issues here, we can handle matters better in
11401         this place, especially since we know that our GdkWindow is still
11402         unmapped.
11403         (gtk_window_move_resize):
11404         don't care about ->need_resize at all.
11405         handle size changes properly that occoured while we waited for a
11406         configure event.
11407
11408 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11409
11410         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11411         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11412         Move the hint setting code from gtk_widget_set_uposition
11413         to here; set the hints so that we respect any previously
11414         set geometry hints.
11415
11416         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11417         change the window hints here or move the window here,
11418         let that happen in gtk_window_move_resize().
11419
11420 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11421
11422         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11423         to already queued resizes (and therefore redraws) on a widget, check
11424         its anchestry as well.
11425
11426         * gtk/gtkcontainer.c:
11427         (gtk_container_queue_resize): clear resize widgets for resize
11428         containers before aborting prematurely. this is especially important
11429         for toplevels which may need imemdiate processing or their resize
11430         handler to be queued.
11431         (gtk_container_dequeue_resize_handler): added new internal function for
11432         gtkwindow.c.
11433
11434         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11435         configure event, take possible changes in window position into account
11436         as well.
11437         if we request a new window size, queue up a resize handler that will
11438         last until the configure event response arrives.
11439         combined the ->need_resize case (initial show) with the general size
11440         (hints) changed case and added even more comments.
11441         if !auto_shrink, only revert to the old allocation if the new size
11442         is smaller than the current allocation.
11443
11444 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11445
11446         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11447                            gtk_window_set_geometry_hints
11448                            gtk_window_set_default_size):
11449         When hints are set, queue a resize so that the hints will
11450         be eventually reset on the toplevel.
11451
11452         * gtk/gtkwindow.c (gtk_window_show): Use
11453         gtk_window_compute_default_size(). Clear the need_resize flag
11454         on the initail map so that we don't unnecessarily trigger the
11455         resize code.
11456
11457         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11458         into separate functions. Compare the hints we are setting
11459         with what we set last time so that we can accurately
11460         tell when we need to reset the hints.
11461
11462         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11463         function to figure out the size from requisition
11464         and default_size.
11465
11466         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11467         from fvwm to constrain a size to the geometry hints.
11468
11469         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11470         to compare two sets of geometry hints.
11471
11472         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11473         from gtk_window_set_hints(), just compute the hints,
11474         don't set them.
11475
11476         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11477         code from gtk_window_move_resize() to separate function,
11478         rationalize a bit.
11479
11480 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11481
11482         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11483         structure into a new private structure.
11484
11485         * gtkrc.c: Split GtkRcStyle into public/private.
11486         In the private part, add a list of pointers to the
11487         RcStyle lists this RcStyle participates in.
11488
11489         * gtkrc.c: When a RcStyle is free, remove all
11490         lists referencing it from the 
11491         realized_style_ht hash, and free those lists.
11492         
11493         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11494         gtk_rc_init(), since that adds the default styles
11495         to the list of parsed RC files again.
11496
11497         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11498         
11499 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11500
11501         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11502         checks that ensure that a widget's allocation is at least 1 in width
11503         and height. (GNOME note: this doesn't affect old panel code anymore,
11504         because GtkSocket will request width and height of at least 1 since
11505         Fri Jul 23).
11506
11507         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11508         allocated yet (happens if the user realizes the window prematurely),
11509         size request and allocate it.
11510         (gtk_window_size_allocate): guard against guint underflows.
11511
11512 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11513
11514         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11515         in gtk_built_sources, so gtk.defs gets built prior to all other
11516         sources.
11517
11518 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11519
11520         * gtk/Makefile.am:
11521         invoke indent on gtkmarshal.*. 
11522         rewrote source generation rules, use COPYING as oldest source tag for
11523         a piggyback rule to generate all sources from (don't touch it ;).
11524         major cleanups, strip spaces on build rules for GNU Make.
11525
11526         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11527         source and target files from commandline arguments. don't invoke indent.
11528
11529 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11530
11531         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11532         notebook after switch to avoid drawing problems.
11533         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11534         
11535         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11536         show them instead. 
11537         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11538
11539 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11540
11541         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11542         notebook after switch to avoid drawing problems.
11543         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11544         
11545         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11546         show them instead. 
11547         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11548
11549 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11550
11551         * gtk/gtkwindow.c:
11552         we use window->need_resize from configure_event now, to indicate that
11553         the gtkwindow should keep its allocation (e.g. because the user resized
11554         the window through window manager handles). resize_count is now reliably
11555         used to figure whether we got the allocation we requested from the
11556         window manager.
11557         configure events get queued as resizes now, the real stuff (size
11558         computation and allocation) now only goes on in gtk_window_move_resize().
11559         GtkWindow's requisition now contains its *real* requisition (like all
11560         other widgets), *not* taking usize into account.
11561         geometry_info->last_{width|height} is now updated from set_hints() only
11562         so it always contains the last hints we set for the window manager.
11563         made some event handlers return TRUE instead of FALSE.
11564         the overall code should be much more straight forward now, and the
11565         significant code portions are accompanied by comments now.
11566         (gtk_window_set_hints):
11567         removed requisition argument and made it
11568         fetch the requisition through gtk_widget_get_child_requisition.
11569         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11570         does that now.
11571         (gtk_window_show):
11572         ensure that the widget is realized before calling 
11573         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11574         ensure that we got properly size requested and allocated before
11575         realization.
11576         (gtk_window_configure_event):
11577         ignore plain window moves, or reallocate the widget tree through the
11578         resize queue otherwise.
11579         (gtk_window_move_resize):
11580         mostly rewrote this function to figure window manager hints more
11581         reliably, coalesce window moves and resizes to reduce configure events
11582         and do actuall size allocations.
11583
11584 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11585
11586         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11587         that have a resize pending, because a redraw is already queued for them.
11588
11589         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11590         hack to clear resize_widgets.
11591
11592         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11593         for resize containers prior to size allocation. (this is also a bit
11594         ugly, but avoids side effects for stopped emissions and is thus more
11595         reliable).
11596         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11597
11598         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11599         function from gtk_tooltips_expose, as we connect to ::expose_event
11600         *and* ::draw now.
11601
11602 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11603
11604         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11605         checks.
11606         (gtk_target_list_unref): Likewise.
11607
11608         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11609
11610 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11611
11612         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11613         guard against division by zero. (Fixes bug #1339)
11614
11615 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11616
11617         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11618         Prevent the trivial leak of information of allowing
11619         word motion when the entry is not visible.
11620
11621 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11622
11623         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11624         modality to error dialog as well as confirmation dialogs.
11625         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11626
11627 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11628
11629         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11630         tree->view_lines.
11631         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11632
11633         * gtk/Makefile.am (install-data-local): Solaris apparently
11634         has various troubles with ln -f; use rm first instead.
11635         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11636
11637 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11638
11639         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11640         use `cp' followed by `rm' (the `rm' was already there).
11641
11642 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11643         
11644         * configure.in: Fix autoconf warnings about cross compilation by
11645         trying to provide sane defaults for AC_TRY_RUN.
11646         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11647         put them into $(srcdir) when generated. Also add a dependency of
11648         gtksignal.h on gtkmarshal.h for -j builds. 
11649         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11650
11651 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11652
11653         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11654         GDK_THREADS_{LEAVE,ENTER} pair.
11655         (From Paul Fisher <pnfisher@redhat.com>)
11656
11657 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11658
11659         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11660         width and height are always >0 (owen).
11661
11662 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11663
11664         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11665         change that assured that a widget's allocated with and height are
11666         always >1, since this breaks *buggy* panel code. unfortunately this
11667         back-breaks the gimp's color selector.
11668
11669         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11670         allocation is always >0 in width and height, before sending the
11671         configure event; this is a *gross* hack to get the gimp back to work.
11672         
11673         * marked both cases with TODO-1.3
11674
11675 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11676
11677         * gtk/gtktext.c: Don't display wrap indicators when
11678         text is not editable and word wrap is on.
11679
11680 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11681
11682         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11683         option menus here as they are not derived from menu shell, assure that
11684         the option menu has a menu we can add items to.
11685
11686 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11687
11688         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11689         width/height to (gint) before calculations and check against < 0 to
11690         avoid guint wraparounds.
11691
11692 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11693
11694         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11695         width and height is never zero. sanity check both dimensions against
11696         32767 and issue a warning if the allocation is greater than that.
11697
11698 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11699
11700         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11701         to g_main_pending() as well.
11702
11703 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11704
11705         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11706         call to g_main_iteration() - since that will regrab
11707         GTK+ lock to process events.
11708
11709 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11710
11711         * gtk/gtkwindow.c
11712         - Regularize with the rest of GTK+ by making widget->requisition
11713           not reflect the set_usize()
11714         - Always recompute geometry hints, then check if they
11715           changed before sending them to the X server. The
11716           previous checks for changes would fail in a number
11717           of circumstances. 
11718
11719 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11720
11721         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11722
11723 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11724
11725         * gtk/gtkdnd.c:
11726         - Code cleanups
11727         - Instantaneously update on modifier key presses
11728         - Allow cancellation of the drag with Escape.
11729
11730 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11731
11732         * gtk/testgtk.c (create_handle_box): Set the policy
11733         to auto_shrink - otherwise the appearance is rather
11734         strange when flipping between horizontal and vertical.
11735
11736 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11737
11738         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11739         (gtk_window_set_default_size): don't change a value if it's < 0.
11740         queue a resize.
11741
11742 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11743
11744         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11745
11746 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11747
11748         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11749         add an extra "/" when concating "/" + filename.
11750         (From Matt Grossman <mattg@oz.net>)
11751
11752 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11753
11754         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11755         for fg_gc if we set it for drawing pixmap.
11756
11757 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11758
11759         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11760         
11761         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11762         already set, call old engine's destroy function and
11763         unref the old engine.
11764
11765 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11766
11767         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11768
11769 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11770
11771         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11772
11773 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11774
11775         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11776         expand behaviour changed.
11777
11778         * gtk/gtklabel.c (gtk_label_set_pattern):
11779         (gtk_label_set_justify):
11780         (gtk_label_set_line_wrap):
11781         don't bother invoking queue_clear, the reallocation does
11782         that for us, always free_words so the upcoming resize will
11783         relayout the label's contents.
11784
11785 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11786
11787         * applied argument implementation patches from Elena Devdariani
11788         <elena@cogent.ca>.
11789
11790         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11791         ::space_style, ::relief
11792         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11793         * gtk/gtkpreview.c: ::expand
11794         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11795         * gtk/gtknotebook.c: ::homogeneous
11796         * gtk/gtklabel.c: ::wrap
11797         * gtk/gtklist.c: ::selection_mode
11798         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11799         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11800         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11801         * gtk/gtkclist.c: ::sort_type
11802         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11803         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11804
11805 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11806
11807         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11808         comment.
11809
11810 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11811
11812         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11813         counting right when we have to attach a new style
11814         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11815
11816         * gtk/gtkstyle.c: Documented the refcounting
11817         peculularities of gtk_style_attach.
11818
11819 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11820
11821         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11822         window types.
11823
11824         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11825         of GTK_TOPLEVEL for creating the window.
11826
11827 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11828
11829         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11830         the last argument (reported by Per Winkvist).
11831         
11832 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11833
11834         Fixes for invisible XOR lines (Frank Loemker
11835         <floemker@TechFak.Uni-Bielefeld.DE>)
11836         
11837         * gtk/gtkclist.c (gtk_clist_realize): Always use
11838         a non-zero pixel for GDK_XOR.
11839
11840         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11841         Use GDK_INVERT instead of GDK_XOR.
11842
11843 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11844
11845         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11846         signals if h/voffsets differ from adjustment values.
11847         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11848
11849 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11850
11851         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11852         ::selection-done emissions up to the topmost menu shell.
11853
11854 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11855
11856         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11857         the user data on the window before destroying it.
11858
11859         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11860         unrealize handler to take care of destroying 
11861         notebook->panel properly. 
11862         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11863
11864         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11865         of g_new and g_realloc to stop memory leak. (Actually,
11866         we could just use g_realloc(), but I'm not 100% sure
11867         that is portable).
11868         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11869
11870 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11871
11872         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11873
11874         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11875         for fontsets.
11876
11877         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11878         with bin/button confusion.
11879
11880 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11881
11882         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11883         and show how preselection of radio items is done.
11884
11885 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11886
11887         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11888         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11889         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11890         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11891         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11892         * gtk/gtktable.c (gtk_table_attach): 
11893         * gtk/gtklist.c (gtk_list_insert_items): 
11894         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11895         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11896         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11897         * gtk/gtkbin.c (gtk_bin_add): 
11898         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11899         * gtk/gtkfixed.c (gtk_fixed_put): 
11900         * gtk/gtklayout.c (gtk_layout_put):
11901         general fixups to container_add logic. always realize child if
11902         child->parent is realized, only map the child and queue a resize
11903         if child and child->parent are both visible.
11904
11905 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11906
11907         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11908         instead of gtk_container_foreach to walk and unrealize children, so
11909         composite children get also unrealized.
11910         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11911         (gtk_widget_map): assert that the widget is visible (basic constrain).
11912         (gtk_widget_real_map): assert that the widget is realized (basic
11913         constrain).
11914
11915 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11916
11917         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11918
11919 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11920
11921         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11922         file for iso-8859-2 locales.
11923
11924         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11925
11926 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11927
11928         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11929          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11930          Remove some suspicious and useless lines. 
11931
11932 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11933
11934         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11935         width,height = 0, 0 to mean - here to edge of window,
11936         instead of -1, -1, since the former is all we support.
11937
11938 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11939
11940         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11941         when removing from quit_functions list.
11942
11943 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11944
11945         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11946
11947 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11948
11949         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11950          When redrawing characters on non-visible entry, use appropriate
11951          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11952
11953 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11954
11955         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11956         from drag coordinates.
11957         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11958         use drag_dest_cell.
11959
11960         * gtk/gtktree (drag_dest_cell)
11961         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11962         (Bug #1129)
11963
11964 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11965
11966         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11967         translate_* fields.
11968         (gtk_item_factory_finalize): invoke translate_notify independant from
11969         translate_data.
11970         (gtk_item_factory_set_translate_func): likewise.
11971         (gtk_item_factory_destroy): only remove ifactory pointer from those
11972         widgets that belong to us (stupid me).
11973
11974 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11975
11976         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11977         rc_style list when lookup succeeeds.
11978
11979 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11980
11981         * gtk/gtkctree.c (resync_selection): 
11982         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11983         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11984         bug.
11985
11986 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11987
11988         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11989         Add some missing GDK_THREADS_ENTER()/LEAVE around
11990         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11991
11992 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11993
11994         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11995         rather than emit_by_name.
11996
11997         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11998         on the widget across multiple signal emissions.
11999         (gtk_editable_delete_text): same here.
12000         (gtk_editable_class_init): set widget_class->activate_signal after
12001         editable_signals[ACTIVATE] has been created.
12002
12003 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12004
12005         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12006         position here prematurely -- we might not have the
12007         right ->min_position and ->max_position yet.
12008
12009 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12010
12011         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12012         Add error traps so if the other end of the connection
12013         dies, we survive.
12014
12015         * gtk/gtkselection.c (gtk_selection_notify): Clean
12016         up properly when selection property retrieval fails.
12017         
12018         * gtk/gtkselection.c (gtk_selection_request): Correctly
12019         reject SelectionRequest notifies where the handler
12020         returns no data.
12021
12022 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12023
12024         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12025         when we've previously highlighted.
12026
12027         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12028         emit two "drag_leave" signals for Motif drops.
12029
12030         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12031         back the correct status messages when dropping from
12032         Motif onto a proxy window that is rejecting the
12033         drop.
12034
12035 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12036
12037         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12038         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12039         to compare two argument values. added gtk_arg_to_valueloc() to set a
12040         variable from an arg through its location (pointer).
12041
12042         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12043         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12044         as gfloat*, uchars are collected as guchar*, ints are collected as
12045         gint*, etc...
12046
12047 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12048
12049         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12050         Include <string.h> instead of <strings.h>.
12051
12052         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12053         (actually, a lot more duplicate includes occur if
12054          you trace through the sequence of #include's)
12055         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12056         
12057 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12058
12059         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12060         gtk-a-higuti-990322-[0-3]
12061
12062         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12063         that was causing -DX_LOCALE not to work.
12064
12065         * gtk/gtkrc.c (gtk_rc_init):
12066         X_LOCALE will never have LC_MESSAGES defined
12067
12068 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12069
12070         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12071         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12072
12073         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12074         left/right as well (gtk-michael-980726-0.patch.gz).
12075
12076         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12077         for pointer values, use gchar instead of char. fixed uline allocation
12078         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12079         chunks instead of G_ALLOC_ONLY.
12080         (gtk_label_size_request): always alter requisition as passed and leave
12081         widget->requisition alone.
12082         (gtk_label_set_text): allow NULL strings.
12083         (gtk_label_new): likewise.
12084
12085 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12086
12087         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12088
12089 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12090
12091         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12092         *and* mapped (i.e. drawable).
12093         (gtk_bin_expose): only send exposes to drawable children.
12094
12095         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12096         (gtk_box_expose): only send exposes to drawable children.
12097
12098         * gtk/gtkhscale.c (gtk_hscale_draw): 
12099         * gtk/gtkvscale.c (gtk_vscale_draw):
12100         hm, this is an ugly one. we first compute the size of our trough area
12101         here (window relative) and then check intersection with the draw_area
12102         which is parent relative because we're a NO_WINDOW widget, so we need
12103         to offset the trough area by allocation.x and allocation.y before the
12104         check. (this must not be done for the background area though, since
12105         that's already computed parent relative).
12106
12107 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12108
12109         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12110         unrealize title buttons.
12111
12112 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12113
12114         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12115         (gtk_clist_column_title_active): 
12116         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12117
12118         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12119         zero initialize event, removed superfluous gdk_window_get_pointer call
12120
12121         * gtk/gtklist.c (gtk_list_vertical_timeout)
12122         (gtk_list_horizontal_timeout): removed superfluous
12123         gdk_window_get_pointer call
12124
12125 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12126
12127         * plugging problems reported by "Bruce Mitchener, Jr."
12128         <bruce@puremagic.com> due to a purify session.
12129
12130         * gtk/gtkstyle.c:
12131         (gtk_style_ref): 
12132         (gtk_style_unref): assert ref_count to be > 0.
12133
12134         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12135         the requisition.
12136         (gtk_clist_set_shift): likewise.
12137
12138         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12139         adjustments.
12140
12141         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12142         event before sending it and set send_event to TRUE (which needs to
12143         be done for *all* synthesized events).
12144         (gtk_list_vertical_timeout): likewise.
12145
12146         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12147         leaks.
12148
12149         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12150         to TRUE when synthesizing events.
12151
12152 [ *** end of merges from 1.2 *** ]      
12153         
12154 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12155
12156         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12157         (or copied from gdkconfig.h.win32 on Win32, sigh).
12158
12159         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12160
12161         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12162
12163         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12164
12165         * gdk/gdkconfig.h.win32: New file.
12166
12167         * gdk/win32/makefile.cygwin: Build just a static archive here.
12168
12169         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12170         for the DLL from the static archive built above.
12171
12172         * gdk/gdk.def: Moved here from the win32 subdirectory.
12173
12174         * gdk/win32/*: Adapt for the changed private struct organisation.
12175
12176         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12177
12178 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12179
12180         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12181         for wheel mice (buttons 4 and 5).
12182
12183 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12184
12185         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12186         drawables use just the pixel field in the foreground and
12187         background GdkColor of the GdkGC.
12188
12189         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12190         GdkColors containing uninitialized (red,green,blue) fields, and
12191         just the pixel field filled in, and furthermore in the
12192         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12193         It thus turns out that we really don't need to have the full
12194         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12195         it later to have just the pixel values.
12196
12197 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12198
12199         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12200
12201 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12202
12203         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12204         New question on GtkLabel background colors.
12205
12206         * docs/gtk_tut.sgml:
12207           - Correct the example code callback
12208             function definitions.
12209           - Update the gtkdial example code, from Frans van Schaik.
12210           - Update setselection.c to current API.
12211
12212         * examples/Makefile examples/*/*.c: Update to code
12213         listed in tutorial.
12214
12215 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12216
12217         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12218         subrange table (from the "Developing International Software for
12219         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12220         block... Get the loaded font's charset correctly.
12221
12222         (Note that this, and the other *-win32.c files, still really are
12223         the old ones, the win32 subdirectory is not ready for compilation
12224         yet after the reorg.)
12225
12226 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12227
12228         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12229         check.
12230
12231 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12232
12233         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12234         on results of XQueryDeviceState().
12235
12236 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12237
12238         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12239         we need to accesss only ->children. We need an accessor
12240         for the children.
12241
12242         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12243         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12244         to get rid of gdkx.h include.
12245         
12246         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12247         and random references to 'None'.
12248
12249         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12250         Get rid of unused #include <gdk/gdkx.h>
12251
12252         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12253         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12254         gdkconfig.h.
12255
12256 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12257
12258         * gdk/win32/gdkdraw.c
12259         * gdk/win32/gdkfont.c
12260         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12261         following yesterday's changes. (Unrelated to Owen's reorg.)
12262
12263 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12264
12265         * gdk/x11/gdkinput-gxi.c: Add missing include,
12266           fix GdkWindowPrivate => GdkDrawablePrivate.
12267
12268         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12269
12270         * gdk/x11/Makefile.am (xinput_sources): Add missing
12271         backslash to fix building with --with-xinput=none
12272
12273 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12274
12275         Move all X specific code into the x11/ directory.
12276         Aside from shuffling things around, did the following:
12277
12278        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12279          gdk_arg_context_* - a simple argument parsing system
12280          in the style of popt.
12281
12282        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12283          gdk/x11/gdkprivate-x11.h:
12284          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12285          add ->klass and ->klass_data fields. The klass_data
12286          field points to an auxilliary structure that is
12287          windowing system dependent.
12288
12289        * gdk/gdkfont.c: Make most of the measurement functions
12290          simply wrappers around gdk_text_extents().
12291
12292        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12293          _gdk_font_strlen() function that hides the weird
12294          behavior in gtk+-1.[02] where a string is interpreted
12295          differently for 8-bit and 16-bit fonts.
12296
12297        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12298          to store common code for synthesizing double/triple
12299          press events.
12300         
12301        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12302          Make all the function that modify an existing GC
12303          simply wrappers around gdk_gc_set_values().
12304          
12305        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12306          for throwing out later.
12307
12308        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12309          GdkImagePrivate and GdkColormapPrivate to have a
12310          windowing system dependent part (GdkFontPrivateX etc.)
12311          that "derives" from the system-independent part.
12312
12313        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12314          Got rid of the included-source-files for XInput in
12315          favor of automake conditionals. (Which didn't exist
12316          when XInput support was originally added.)
12317
12318        * gdk/gdkrgb.c: Remove the visual id from the debugging
12319          statements since that is X11 specific; print out
12320          type/depth info instead.
12321          
12322
12323 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12324
12325         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12326         loading duplicates of hashed fonts.
12327
12328         * gdk/gdk.c (gdk_keysym_convert_case): rename
12329         gdk_XConvertCase to gdk_keysym_convert_case, allow
12330         results to be NULL in the GTK+ style.
12331
12332         * gdk/gdkcompat.h: Started compatibility header
12333         for renames.
12334
12335 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12336
12337         * gdk/win32/gdkprivate.h: New font private structures, related to
12338         fontsets.
12339
12340         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12341         gdk_font_list_free(). On X11, will just be wrappers to
12342         XListFonts() and XFreeFontNames(). On Win32, the code previously
12343         in gtkfontsel.c is now here.
12344
12345         New function gdk_font_xlfd_create(). On X11 will get the FONT
12346         property of the font (for GDK_FONT_FONTs), or call
12347         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12348         builds a XLFD style name from the font information in the LOGFONT
12349         struct(s).
12350
12351         New function gdk_font_xlfd_free(), which correspondingly frees the
12352         string returned by gdk_font_xlfd_create().
12353
12354         Implement fontsets on Win32. Add a function that iterates over a
12355         wide char string and calls a callback function for each substring
12356         of wide chars from the same Unicode subrange (and thus probably
12357         available in the same real font).
12358
12359         Improve the XLFD emulation a bit.
12360
12361         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12362
12363         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12364         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12365         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12366         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12367         ImmGetCompositionStringW() to get the composed Unicode chars.
12368
12369         * gdk/win32/gdkgc.c
12370         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12371         struct changes.
12372
12373         * gdk/win32/gdk.def: Add the new functions.
12374
12375 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12376
12377         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12378         get the Platform SDK to get <dimm.h>.
12379
12380         * gdk/win32/gdkevents.c: More event handling fixes and
12381         simplification. Never generate motion events with is_hint true. We
12382         used to do that on bogus grounds earlier. Windows sends
12383         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12384         moved, ignore these.
12385
12386         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12387
12388         * gdk/win32/gdkglobals.c
12389         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12390         the TrackMouseEvent function, and use it.
12391
12392         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12393         char before calling WideCharToMultiByte in order to get a string
12394         for the window title.
12395
12396         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12397
12398         * gdk/win32/gdk.def: Remove obsolete functions.
12399
12400         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12401         /nodefaultlib and /defaultlib switches.
12402
12403         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12404
12405 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12406
12407         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12408         EuroSign).
12409
12410         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12411         same type as GdkWChar, especially on Win32.
12412
12413         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12414
12415         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12416         before passing to Windows GDI for drawing etc. Convert to the
12417         system default codepage before passing to Windows as window
12418         titles.
12419
12420         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12421         support changing input locale on the fly.
12422
12423         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12424         on-the-fly changes. Convert incoming characters from the current
12425         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12426         on the current input language. Use keysym<->Unicode mapping tables
12427         and functions borrowed from xterm sources.
12428
12429         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12430         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12431         Manager) if available. IMEs and the Active IMM are available under
12432         the disguise of Chinese, Korean and Japanese support for IE and
12433         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12434         support is present in all editions (as long as you install it).
12435
12436         Call DispatchMessage from gdk_events_queue() (and thus
12437         gdk_WindowProc()), instead of duplicating the code in
12438         gdk_WindowProc().
12439
12440         Reworked the grab handling and propagation code, factored out
12441         duplicated code snippets into separate functions. Other cleanups,
12442         too.
12443
12444         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12445         the <dimm.h> header describing the Active IMM.
12446
12447         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12448         just do the same as for "single" fonts.
12449
12450         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12451         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12452         the new keysyms from gdkkeysyms.h.
12453
12454         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12455         fontset, so that gtkentry uses wide characters.
12456
12457         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12458         GTk+'s system directory "gtk+", not "gtk".
12459
12460 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12461
12462         * docs/gtkfaq.sgml: FAQ update
12463
12464 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12465
12466         * gdk/win32/gdkprivate.h: Add more font private data.
12467
12468         * gdk/win32/gdkfont.c
12469         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12470         fonts and strings. Now works much better. You still have to
12471         have a correct font selected, though. No fontset emulation yet.
12472
12473 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12474
12475         * gtk/maketypes.awk: Use G_OS_WIN32.
12476
12477         * gtk/gtk.def: Add some missing entry points. Also some non-public
12478         ones, but PyGTK porter claims to need them.
12479
12480         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12481         built-in type generation.
12482
12483 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12484
12485         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12486         GDK_FONT_FONT fonts (which is all we have for now, we don't
12487         emulate fontsets). The X11 version uses plain XDrawString in that
12488         case, too. The string passed to gdk_draw_text_wc seems to be in
12489         fact (at least, when used by gtkentry and gtktext) either in a
12490         single-byte charset, or a DBCS. Not Unicode.
12491
12492         This fixes the problem in gtkfontsel, where even if you had
12493         selected a font with a non-Latin1 charset (windows-greek, for
12494         instance), the preview still used Latin-1 glyphs.
12495
12496         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12497         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12498         (gdk_font_load): Recognize the demibold etc weights, even if we
12499         don't have the corresponding constants in the headers.
12500         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12501         version. Should save font resources a bit, when we don't have
12502         multiple HFONTs for the same font.
12503
12504         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12505         version.
12506
12507 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12508
12509         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12510         X values
12511
12512 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12513
12514         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12515         layout support (as mentioned on
12516         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12517
12518 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12519
12520         * gtk/fnmatch.c
12521         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12522
12523 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12524
12525         * configure.in (ALL_LINGUAS): Added Galician (gl)
12526
12527 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12528
12529         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12530
12531         * gdk/win32/gdkcompat.c: New file, actually provide an
12532         implementation for the deprecated functions. (Just temporarily.)
12533
12534         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12535
12536         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12537
12538         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12539
12540 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12541
12542         * configure.in: Added "uk" to ALL_LINGUAS.
12543         
12544 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12545
12546         * configure.in: correct checking for BeOS check
12547
12548         * gdk/gdktypes.h
12549         * gtk/fnmatch.c
12550         * gtk/gtkfilesel.c
12551         * gtk/gtkitemfactory.c
12552         * gtk/gtkmain.[ch]
12553         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12554
12555 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12556
12557         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12558         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12559         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12560         by Bulgarian). 
12561
12562 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12563
12564         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12565         Fix a reference to window_private->destroyed.   
12566
12567         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12568         (ugly) setting of an internal GdkWindow member to use
12569         a _slightly_ cleaner macro.
12570
12571         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12572         GdkDrawablePrivate and GdkWindowPrivate.
12573         Add extra macros for accessing GDK_DRAWABLE_ components.
12574
12575         * *.[ch]: Massive adjustments for the above, use the
12576         new macros in a lot of places.
12577
12578 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12579
12580         * gdk/gdktypes.h: Make GdkDrawable the base type,
12581         not GdkWindow.
12582
12583 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12584
12585         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12586
12587 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12588
12589         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12590
12591 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12592
12593         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12594         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12595
12596         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12597
12598         * docs/gtk-config.1: Now autogenerated.
12599         * docs/Changes-1.4.txt: started
12600         
12601 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12602
12603         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12604         to #ifdef also here.
12605
12606         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12607         Owen did to the X11 backend.
12608
12609         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12610         ScrollWindowEx when blitting inside a window, it can't be correct
12611         in the general case.
12612
12613         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12614         WM_GETMINMAXINFO is easier.
12615
12616         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12617         depth equal to the bitspixel value, not the visual's depth.
12618
12619         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12620         to 24 even if the bitspixel value is 32.
12621
12622         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12623         need to check for depth==32 when bpp==32, depth will always be 24.
12624
12625 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12626
12627         * docs/Changes-1.4.txt: Started
12628         
12629         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12630
12631         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12632         
12633         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12634         into C file.
12635         
12636         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12637         header to gdkinputprivate.h.
12638
12639         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12640         unused since before 1.2.
12641
12642 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12643
12644         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12645         expand possible hex escapes in the font family (put there by
12646         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12647         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12648         On Win32, add hex escapes here, too.
12649
12650 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12651
12652         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12653         to #ifdef GDK_WINDOWING_X11.
12654
12655 [ Merges from gtk-1-2 ]
12656
12657 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12658
12659         * configure.in: fixed "GNU Make" check to pass with new make version
12660         3.77.95.
12661
12662 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12663
12664         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12665         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12666         AM_PATH_GTK() macros don't get confused by the -pre1.
12667
12668 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12669
12670         * configure.in (REBUILD): Change check for perl5
12671           to check explicitely for v >= 5.002. (5.001
12672           does not work with our scripts.)
12673
12674 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12675
12676         * configure.in: evaluate $PERL for the perl version check. added
12677         --disable-rebuilds to give the user an option to completely disable
12678         any source autogeneration rules.
12679
12680 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12681
12682         * configure.in: evaluate $ac_make when checking for GNU Make.
12683
12684 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12685
12686         * docs/Makefile.am: added generation.txt.
12687
12688         * Makefile.am: require automake 1.4, build README from README.in and
12689         INSTALL from INSTALL.in in dist-hook.
12690         
12691         * README.in:
12692         * INSTALL.in: new files to autogenerate README and INSTALL from.
12693
12694         * configure.in: figure whether we have GNU Make
12695
12696         * docs/generation.txt: minor additions/corrections.
12697
12698 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12699
12700         * docs/gtkfaq.sgml: FAQ Update
12701
12702 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12703         
12704         * configure.in: Fix autoconf warnings about cross compilation by
12705         trying to provide sane defaults for AC_TRY_RUN.
12706
12707 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12708
12709         * ltconfig
12710         * ltmain.sh: upgrade to libtool 1.3.3
12711
12712 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12713
12714         * INSTALL: Indicate that the --with-glib= configure
12715         time flag is unsupported.
12716
12717 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12718
12719         * docs/generation.txt: Added a file that gives
12720         documenation about the autogeneration process for
12721         various autogenerated files.
12722         
12723 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12724
12725         * configure.in (LIBS): Look for libgmodule in the
12726         right location.
12727
12728 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12729
12730         * docs/gtk_tut.sgml: Removed references to
12731         code examples in my directory on gtk.org as
12732         they should all be in the tutorial now.
12733
12734         * docs/gtk_tut.sgml: Added sources for dial-test
12735         and scribble-xinput programs that were previously
12736         missing.
12737
12738 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12739
12740         * TODO: Added entry about menu keyboard navigation, removed
12741         some finished items.
12742
12743 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12744
12745         * acinclude.m4: Standardize on func_dgettext
12746         not func_gettext, so that the checks for dgettext
12747         actually are paid attention to.
12748
12749 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12750
12751         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12752         directly, rather than repeating the checks for
12753         gettext.
12754
12755         * INSTALL: Added information about gettext and
12756         NLS support.
12757
12758         * acinclude.m4 (LIBM): Check for dgettext, not
12759         just gettext. This should hopefully fix things wrt
12760         systems with old versions of GNU gettext installed.
12761
12762 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12763
12764         * configure.in (LIBS): Look for libgmodule in the
12765         right location.
12766
12767 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12768
12769         * autogen.sh: add --enable-maintainer-mode
12770
12771         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12772
12773 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12774
12775         * docs/gtk-config.1.in:
12776           docs/Makefile.am:
12777           configure.in: gtk-config is now generated.
12778
12779         * docs/gtk-config.1: Removed, now generated.
12780
12781 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12782
12783         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12784         handle CreateNotify itself, still put out a debuging message for
12785         --gdk-debug=events. made the ReparentNotify debugging message more
12786         verbose.
12787         wrap xcoords translation for ConfigureEvents into an error trap,
12788         a destroy event may already be pending, and in that case, the
12789         actuall coordinate values are not at all critical.
12790
12791 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12792
12793         * gdk/gdkcc.c: Stop leaking the color_hash all over
12794         the place. Simplify and improve the logic.
12795
12796 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12797
12798         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12799         for prototypes and function implementations consistent (reported
12800         by Tomas Ogren).
12801
12802 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12803
12804         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12805         send_event set in debugging output.
12806         (gdk_compress_exposures): default initialize the event so we don't
12807         operate on bogus values (namely send_event).
12808
12809 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12810
12811         * gdk/gdkwindow.c: When we receive an unexpected
12812         destroy notify on one of our windows, don't just
12813         warn about it, also mark our windows as destroyed.
12814
12815 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12816
12817         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12818           name => font and name => fontset hashes. The 
12819           name => fontset hash is a _big_ win since we
12820           weren't previously caching fontsets at all and loading
12821           fontsets is expensive. The name => font hash
12822           is less of a win, but it does save us from doing
12823           repeated XQueryFont calls on the same font.
12824
12825         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12826           list so we can remove font/fontset from hash.
12827
12828 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12829
12830         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12831           and slightly confusing test. [ XInternAtom (,,TRUE)
12832           will never return None ].
12833
12834 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12835
12836         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12837           gdk/gdkwindow.c (gdk_window_set_hints):
12838
12839         Don't omit setting the properties if flags == 0 -
12840         there may be an existing set of properties there
12841         already. (Very old bug. Would it be better to
12842         delete the property instead?)
12843
12844         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12845           spelling error in comment.
12846
12847 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12848
12849         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12850           to avoid stomping over gdk_error_warnings.
12851
12852         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12853           as (bits_per_pixel + 7) / 8. This gives the same
12854           result as before for multiples of 8, but actually
12855           a "reasonable" value for 1bit or 4bit displays.
12856
12857 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12858
12859         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12860         GNU Make.
12861
12862 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12863
12864         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12865         discarding configure events.
12866
12867 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12868
12869         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12870         refcount is greater than zero.
12871
12872         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12873
12874         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12875
12876         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12877
12878         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12879
12880 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12881
12882         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12883         that format 32 => sizeof(item) == 4. It really is
12884         sizeof(long).
12885
12886 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12887
12888         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12889         core dump at all on X IO errors, only core dump
12890         if --enable-debug for X errors.
12891
12892 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12893
12894         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12895         unknown window:" message. disabled ConfigureNotify discarding code,
12896         because it led to events being processed out of order.
12897
12898 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12899
12900         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12901
12902         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12903         we export this function, supress error warnings and don't reset the
12904         error code in the first half of this function.
12905
12906         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12907         code (instead of just -1) so gdk_error_trap_pop() reveals something
12908         actually informative about the error that happened.
12909
12910         * gdk/*.c:
12911         don't rely on gdk_error_code being -1 if an error occoured, but just
12912         gdk_error_code != 0.
12913
12914 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12915
12916         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12917         pointer *before* invoking the filter function, so we at least don't
12918         crash if a filter is removed that is currently executed. window filters
12919         *really* need to be made truely reentrant at some point.
12920
12921 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12922
12923         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12924         PropertyNotify debug messages.
12925
12926 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12927         
12928         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12929         
12930         * gdk/gdkim.c: Fix cut-and-paste errors for 
12931         x/y and PreeditAttributes/StatusAttributes.
12932
12933 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12934
12935         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12936         G_MAXINT to 2^16 to alleviate overflow problems in
12937         various window managers.
12938
12939 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12940
12941         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12942         for fontsets.
12943
12944 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12945
12946         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12947         Initialize size_hints.x and size_hints.y because kwm
12948         brokenly pays attention to them.
12949         (Bug #1181 -  Lars Heete <hel@admin.de>)
12950
12951 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12952
12953         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12954         return value of gdk_list_visuals(). 
12955         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12956
12957 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12958
12959         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12960         XSetIMValues to (void *) when comparing to NULL, to workaround
12961         the problem of some compilers barfing since older X headers don't
12962         have the prototype for it.
12963
12964 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12965
12966         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12967         for pseudocolor where colormap->colors was double
12968         allocated.
12969
12970         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12971         color value in the hash table with the pixel filled
12972         in so when we do later hash table lookups, the color
12973         value is correct.
12974         
12975 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12976
12977         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12978         making the call
12979
12980 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12981
12982         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12983         pointed out by Morten Welinder <terra@diku.dk>.
12984
12985 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12986
12987         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12988           default filter from the list
12989
12990 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12991
12992         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12993           default filter from the list
12994
12995 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12996
12997         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12998
12999         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13000         g_strdup_printf instead of calcing the length separately
13001
13002 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13003
13004         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13005         that we don't do in many other places. (Fixing duplicate 
13006         #include of config.h)
13007
13008         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13009         Otherwise, #ifndef XINPUT_NONE check in the latter
13010         doesn't work. (Bug #546)
13011
13012 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13013
13014         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13015         "None" case insensitive.
13016
13017 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13018
13019         * gdk/gdkselection.c: 
13020         Add error traps so if the other end of the connection
13021         dies, we survive.
13022
13023 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13024
13025         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13026         dest_xid field into two fields - one for the window
13027         to send in messages, one to indicate the last looked
13028         up window for caching purposes. This is needed, so
13029         that Leave messages get the correct window.
13030
13031 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13032
13033         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13034         Fix warning created by people mucking around
13035         with the gsource API.
13036
13037         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13038         Change mapping between GIOCondition and GdkInputCondition
13039         to match the way the Linux kernel does it. This should
13040         fix problems where closed pipes were no longer signalling
13041         GDK_INPUT_READ on systems with a native poll().
13042
13043 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13044
13045         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13046         explicitly for the string "None" - it is in the XPM
13047         spec and some servers treat unknown colors in odd ways
13048         (like asking the user!)
13049
13050 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13051
13052         * gdk/gdkevents.c: made "->" into a "." of previous change so
13053         it compiles
13054
13055 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13056
13057         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13058         window field of the event structure before calling
13059         user filters.
13060
13061 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13062
13063         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13064         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13065
13066 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13067
13068         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13069         intermediate text property - prevents major memory
13070         leak when gdk_use_mb.
13071         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13072
13073 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13074
13075         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13076         gtk-a-higuti-990322-[0-3]
13077
13078         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13079         sizeof(wchar_t) != sizeof (GdkWChar)
13080
13081         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13082         that was causing -DX_LOCALE not to work.
13083
13084         * gtk/gtkrc.c (gtk_rc_init):
13085         X_LOCALE will never have LC_MESSAGES defined
13086
13087         * gdk/gdk.c (gdk_init_check):
13088         Remove --xim-preedit and --xim-status from argv properly.
13089
13090         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13091         that the client window is present on the X server
13092         before we pass it to the input method.
13093
13094 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13095
13096         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13097         if --display is specified on the command line, than
13098         the drag window will not be created on that display.
13099         
13100 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13101
13102         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13103         lookups with only_if_exists == TRUE were inserting
13104         bogus values into the atom cache.
13105
13106 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13107
13108         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13109         then reset it to NULL.
13110
13111         * gdk/gdkcolor.c:
13112         (gdk_colors_free): 
13113         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13114         key for g_hash_table_remove() in both functions, this prevents us
13115         from accessing possibly uninitialized portions of a GdkColor structure
13116         where we are only interested in its pixel value.
13117
13118 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13119
13120         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13121         font hash table, if we have a GdkFontPrivate entry for this font
13122         already, simply increment its reference count, provided by Olaf Dietsche
13123         <olaf.dietsche+list.gtk@netcologne.de>.
13124
13125 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13126
13127         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13128         just to be sure.
13129
13130         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13131         unused variables, leftovers from the X11 version.
13132
13133         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13134
13135         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13136         downcase fields on X11.
13137
13138 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13139         
13140         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13141         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13142
13143 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13144
13145         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13146
13147         * gtk/makefile.msc: Correct path to libintl.
13148
13149         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13150         use of gint vs. int, and gint vs. gboolean in headers and
13151         definitions. Use GtkType for the *_get_type functions. Note that
13152         these changes preserve binary compatibility.
13153
13154         * gdk/gdk.c
13155         * gdk/win32/gdk.c
13156         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13157
13158         * gtk/gtkmain.c
13159         * gtk/gtkclist.c
13160         * gtk/gtkmenufactory.c
13161         * gtk/gtknotebook.c
13162         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13163         vs. gboolean.
13164
13165         * gtk/gtkcolorsel.[ch]
13166         * gtk/gtkcombo.[ch]
13167         * gtk/gtkdrawingarea.[ch]
13168         * gtk/gtkgamma.[ch]
13169         * gtk/gtkhandlebox.[ch]
13170         * gtk/gtkhpaned.[ch]
13171         * gtk/gtkhruler.[ch]
13172         * gtk/gtkplug.[ch]
13173         * gtk/gtkpreview.[ch]
13174         * gtk/gtkruler.[ch]
13175         * gtk/gtksocket.[ch]
13176         * gtk/gtkstatusbar.[ch]
13177         * gtk/gtktoolbar.[ch]
13178         * gtk/gtkvbbox.[ch]
13179         * gtk/gtkvpaned.[ch]
13180         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13181         functions.
13182
13183         * gtk/gtkgamma.h: Fix bug, missing () in call of
13184         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13185
13186 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13187
13188         * gdk/gdkcolor.c (gdk_colormap_new)
13189         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13190         colormap->colors was allocated twice.
13191
13192         * gdk/win32/gdk.c: Remove some unused stuff.
13193
13194         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13195         colormap.
13196
13197         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13198         * gtk/gtklabel.h (gtk_label_get_type)
13199         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13200         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13201         in a couple of places, not guint.
13202
13203 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13204
13205         * configure.in,po/et.po: added Estonian language file
13206
13207 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13208
13209         * configure.in,po/da.po: added Danish file
13210
13211 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13212
13213         * docs/gtkfaq.sgml: Minor FAQ Update
13214
13215 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13216
13217         * docs/gtkfaq.sgml: FAQ update
13218
13219 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13220
13221         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13222         way to get window contents continually refreshed while resizing. I
13223         didn't like the effects myself, so it's not on by default.
13224
13225         * gdk/win32/gdkprivate.h: New flag variable
13226         gdk_event_func_from_window_proc, FALSE by default.
13227
13228         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13229         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13230         are passed --gdk-event-func-from-window-proc.
13231
13232         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13233         and we have am event_func, call it instead of enqueing the event.
13234
13235 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13236
13237         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13238         Kelley: Set expose_count in GdkEventExposes correctly.
13239
13240         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13241         MULTIPLE_WINDOW_CLASSES).
13242
13243         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13244         for bug in NT, apparently NT *does* draw the end pixel, too, in
13245         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13246
13247 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13248
13249         Improvements by Hans Breuer: 
13250
13251         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13252
13253         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13254         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13255         window contents while dragging" is turned on. Allocate at least
13256         one unique class for every GdkWindowType. If support for single
13257         window-specific icons is ever needed (eg. Dialog specific), every
13258         such window should get its own class.
13259
13260 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13261
13262         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13263         error that caused crashes.
13264
13265 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13266
13267         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13268         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13269         bugs when for instance part of the window was outside the
13270         display. Thanks to Philippe Colantoni for finding and fixing this.
13271
13272 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13273
13274         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13275         endpoint calculations which were totally wrong. (A little RTFMing
13276         helps a lot ;-)
13277
13278         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13279         from a separate directory, not from gettext, because of licensing
13280         issues (we want to use the LGPL version).
13281
13282         * README.win32: Mention the intl from glibc vs from gettext issue.
13283
13284 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13285
13286         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13287         in the key event handling: Now AltGr chars work again. Also,
13288         now Alt-digits are passed up as well as Control-digits.
13289         Pass keypad plus and minus as normal plus and minus.
13290
13291 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13292
13293         * docs/gtkfaq.sgml: FAQ Update
13294
13295 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13296
13297         * README.win32
13298         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13299         the Wintab SDK.
13300
13301         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13302         OK, but getting closer. Guard against bogus tilt data from Wacom
13303         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13304         enable easier building without Wintab.
13305
13306         * gdk/win32/gdkinput.h
13307         * gdk/win32/gdkevents.c 
13308         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13309         
13310         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13311         code. As we have just one visual on Win32, no sense to have it in a
13312         table, and no need for the hash table.
13313
13314         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13315         better on white background.
13316
13317 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13318
13319         * README.win32: Update gcc build instructions. Mention gettext is
13320         GPL.
13321
13322         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13323         supported cursor size with GetSystemMetrics.
13324
13325         * gdk/win32/gdkfont.c
13326         * gtk/gtkfontsel.c: Guard against some font weight and charset
13327         symbols being undefined (in mingw32 headers).
13328
13329         * gdk/win32/makefile.cygwin
13330         * gtk/makefile.cygwin
13331         * gtk/gtkthemes.c: No longer need to have differently named
13332         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13333
13334 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13335
13336         * docs/gtkfaq.sgml: Long awaited FAQ update.
13337
13338 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13339
13340         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13341         it. Obscure bit manipulation needed.
13342
13343         * gdk/win32/gdkevents.c: Logging.
13344         
13345         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13346         style (file name include compiler name) for theme engines.
13347
13348 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13349
13350         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13351
13352         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13353         events. The key.string wasn't zero-terminated, still we strdup'ed
13354         it in gdk_event_copy(). Synthesize crossing events for button
13355         events before possible propagation.
13356
13357         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13358
13359         * gdk/win32/makefile.cygwin
13360         * gtk/makefile.cygwin: Use new DLL naming style for the
13361         GCC-compiled ones.
13362
13363         * gdk/win32/makefile.msc
13364         * gtk/makefile.msc: Cosmetics mostly.
13365
13366         * gtk/gtk.def: Add missing entry points.
13367
13368         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13369
13370 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13371
13372         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13373         or height is zero. Don't print a warning if Pie or Arc fails, they
13374         always fail (?) for very narrow ellipses.
13375
13376         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13377         the part or the destination window corresponding to source area
13378         outside of the source drawable's boundary.
13379
13380         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13381         anything if less than two points.
13382
13383         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13384         return NULL. Gtk cut-and-paste inside a single program works
13385         better this way. (It always gets the clipboard contents from
13386         Windows, not from its own copy, which is cleared anyway. I can't
13387         say I fully understand what happens... Emulating the X selection
13388         and property stuff is a bit of a mess.)
13389
13390         * gdk/win32/gdkevents.c
13391         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13392
13393         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13394         that never got deleted). Revamp gdk_region_shrink.
13395
13396         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13397         after use.
13398
13399         * gtk/gtk.def: Add some missing entry points.
13400
13401         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13402         component.
13403
13404 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13405
13406         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13407         Control-digits specially.
13408
13409 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13410
13411         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13412
13413 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13414
13415         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13416         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13417         finding this.)
13418
13419 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13420
13421         * gtk+.spec.in: Corrected some typos in files section.
13422         
13423 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13424
13425         * README.win32: Mention using GNU gettext.
13426         * config.h.win32: Enable NLS stuff.
13427         * gtk/makefile.msc: Use GNU gettext.
13428         * gdk/win32/gdkdnd.c: Minor header reorg.
13429         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13430         cosmetics.
13431         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13432         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13433
13434 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13435
13436         * acinclude.m4
13437         * config.guess
13438         * config.status
13439         * ltconfig
13440         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13441
13442 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13443
13444         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13445         SafeAdjustWindowRectEx. Don't override all calls to
13446         AdjustWindowRectEx by it, but use it only in two places: When
13447         creating a new top-level window and when moving a top-level
13448         window.
13449
13450         Use screen coordinate rectangle, not client rectangle, in
13451         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13452         when we try to place a window so that the decoration (mainly,
13453         title bar) isn't visible.
13454
13455         These changes fix the bug that showed up for instance as the
13456         GIMP's saved top-level windows moving right and down (by an amount
13457         equal to the window decoration) for each session. This bug showed
13458         up also in testgtk's "Saved Position".
13459
13460         gdk_window_resize also redone a bit.
13461
13462 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13463
13464         * gtk/testgtkrc: Add (commented out) Windows-style theme
13465         include line.
13466
13467         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13468
13469 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13470
13471         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13472         gdkx.h to a gdk subdirectory, so that applications can include
13473         these with <gdk/*.h> without trouble.
13474
13475         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13476         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13477         have their bitmap destroyed.
13478
13479         * gdk/win32/gdk.def: Add gdk_root_parent.
13480
13481 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13482
13483         * configure.in
13484           gtk-config.in
13485           ltconfig
13486           ltmain.sh     
13487           gtk/Makefile.am: changes to compile nicely (with xlib) 
13488           on BeOS
13489
13490 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13491
13492         * acinclude.m4
13493         * config.guess
13494         * config.sub
13495         * ltconfig
13496         * ltmain.sh: upgrade to libtool 1.3
13497
13498 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13499
13500         * gtk/gtkclist.c:
13501         * gtk/gtkctree.c: merges from gtk-1-2
13502
13503 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13504
13505         Support added for building using a GNU toolchain on Win32,
13506         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13507
13508         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13509         * config.h.win32: Changes for gcc.
13510         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13511         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13512         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13513         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13514         Protect shl stuff unavaiilable with mingw32 headers.
13515         * gdk/win32/gdkevents.c: Fix typo.
13516         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13517         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13518         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13519         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13520         the mingw32 headers.
13521         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13522         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13523         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13524         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13525         Test for NATIVE_WIN32, not _MSC_VER.
13526         * gtk/gtkmain.c: No use warning about developer version on Win32,
13527         there aren't any non-developer versions anyhow.
13528         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13529         * gtk/makefile.msc: Use pthread from another directory. Minor other
13530         changes. 
13531
13532 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13533
13534         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13535           default filter from the list
13536
13537 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13538
13539         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13540          when gtk_widget_grab_default() is called for a widget that
13541          is not within a GtkWindow.
13542
13543 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13544
13545         * docs/gtk_tut.sgml, examples/clist.c: use a
13546           scrolled window in the clist example. Minor
13547           tutorial fixes.
13548
13549 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13550
13551         * docs/gtk_tut.sgml: Style check from David King
13552           <dking@youvegotmail.net>
13553
13554 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13555
13556         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13557         compile with unknown value of GDK_WINDOWING
13558
13559 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13560
13561         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13562         after the rule is fired.
13563         (install-exec-local): Install gdkconfig.h only if the contents are
13564         different from the currently installed gdkconfig.h.
13565
13566 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13567
13568         * gdk/Makefile.am (configexecincludedir): Rename from 
13569         configincludedir so that gdkconfig.h will be installed 
13570         as part of `make install-exec'. 
13571
13572 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13573
13574         * acinclude.m4
13575         * config.guess
13576         * config.sub
13577         * ltconfig
13578         * ltmain.sh: upgrade to libtool 1.2f
13579
13580         * autogen.sh: libtool is not required to autogen gtk+
13581
13582         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13583         needed)
13584
13585 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13586
13587         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13588         declaring gdk variables exported/imported from the DLL. New image
13589         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13590         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13591         GDK_DRAG_PROTO_OLE2.
13592
13593         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13594         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13595         declared only for the Win32 version, but could be in the X11
13596         version as well. (Needed for a Xlib-less gdk_imlib.)
13597         gdk_color_hash should have only one parameter. Declare
13598         gdk_threads_mutex with GDKVAR.
13599         
13600         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13601         just one parameter.
13602
13603         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13604         per pixel, not bits.
13605
13606         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13607         Fetch bpp (which means bits-per-pixel here) from another place on
13608         Win32. Accept also depth==32 (which we might get on Win32) with
13609         bpp==32.
13610
13611         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13612         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13613         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13614         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13615         in the backend-dependent directory, not in the common gdk
13616         directory.
13617
13618         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13619         headers.
13620
13621 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13622
13623         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13624         want to use the Gtk+ devel version (which is true, and yes - even i am
13625         currently working with the 1.2.x branch). so everyone reading this, you
13626         probably want to issue
13627         cvs checkout -r glib-1-2 glib
13628         and
13629         cvs checkout -r gtk-1-2 gtk+
13630         as your next two comands.
13631
13632 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13633
13634         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13635         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13636
13637         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13638         file. strongly deprecated the GTK_HAVE_* macros, we provide
13639         GTK_CHECK_VERSION() for people that need to check for certain
13640         Gtk+ versions.
13641
13642         * gtk/gtkcompat.h: removed this from CVS.
13643         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13644         idea right from the start, it just didn't seem like that back then.
13645
13646 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13647
13648         * merges from gtk-1-2:
13649
13650 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13651
13652         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13653         item factory class has been created.
13654         (gtk_item_factory_parse_rc): likewise.
13655
13656         * gtk/gtkmenu.c:
13657         keep proper references for old_active_menu_item.
13658         (gtk_menu_reparent): unset the usize of the new parent,
13659         so the menu can sanely be size requested and we don't get nasty screen
13660         artefacts upon next reparentation.
13661         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13662         enter notify. only synthesize enter notifies if the pointer really is
13663         inside the event window.
13664         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13665         (gtk_menu_popup): move the background setting stuff into
13666         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13667
13668         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13669         gtk_menu_shell_select_item() to select the new item.
13670         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13671         do the right thing for deselection as well.
13672
13673 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13674
13675         * gtk/gtkwidget.[hc]:
13676         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13677         are locked.
13678
13679         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13680         existing accelerators if the widget's accelerators are locked.
13681
13682 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13683
13684         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13685
13686         * gtk/gtkmenu.c: truely forward key press and key release events to
13687         the menu widget from the toplevel or tearoff window. we can't simply
13688         connect to that, we need to stop further processing of the events as
13689         well.
13690
13691 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13692
13693         * gtk/gtkmenu.c:
13694         (gtk_menu_key_press): pass event->keyval, event->state to
13695         gtk_accelerator_valid, instead of event->keyval twice.
13696         refuse to install single letter accelerators for menus that use
13697         single letter shortcuts.
13698
13699         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13700         gtk_menu_ensure_uline_accel_group().
13701
13702         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13703         which will always return an uline accel group, made
13704         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13705         yet created.
13706
13707 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13708
13709         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13710
13711         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13712         Leave button sensitive, trap  button_press, button_release,
13713         motion_notify, enter_notify and leave_notify events instead.
13714         (gtk_clist_column_title_active): disconnect event handler.
13715         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13716         Guillaume Laurent <glaurent@worldnet.fr>
13717
13718 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13719
13720         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13721         width/height mixups.
13722
13723         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13724         if needed.
13725
13726 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13727
13728         * gtk/testgtk.c (create_item_factory): unref the item factory after
13729         window's destruction.
13730
13731         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13732         count on the menu shell around the menu item's activation, since the
13733         signal emission may cause menu shell destruction.
13734
13735         * gtk/gtkitemfactory.c:
13736         the previous code leaked one accel group per menu. we use
13737         gtk_menu_get_uline_accel_group() now to fix that, and with that
13738         also create the underline accelerator group of the menus only if
13739         required (i.e. an underline accelerator has been specified).
13740         (gtk_item_factory_construct):
13741         (gtk_item_factory_create_item): removed code that would create an
13742         extra accel group for the menu (and leak references).
13743         (gtk_item_factory_create_item): adapted the underline accelerator
13744         installation code to properly feature gtk_menu_get_uline_accel_group().
13745
13746         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13747         menu->accel_group, this may return NULL if the accelerator group
13748         hasn't been set yet.
13749         added gtk_menu_get_uline_accel_group() to retrive the underline
13750         accelerator group of the menu, this will be created on demand
13751         and proper care is taken about its reference count.
13752
13753         * gtk/gtkitemfactory.h:
13754         * gtk/gtkitemfactory.c:
13755         dumped the approach of keeping a widgets by action list on the
13756         factory since the factory<->widget destroy negotiation didn't work
13757         and would be hard to get going at all. instead we keep a list of
13758         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13759         persistant throughout a program's life time).
13760         also, i removed the static const gchar *key_* variables, and made
13761         them inline strings (they weren't actually used anyways).
13762         (gtk_item_factory_add_item): update ifactory->items.
13763         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13764         the item factory pointer from the remaining ifactory widgets).
13765         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13766         list to find the widget.
13767         (gtk_item_factory_get_item): new function that works around
13768         gtk_item_factory_get_widget() limitations, this function will only
13769         return menu items, even for <Branch> entries.
13770
13771 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13772
13773         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13774         font hash table, if we have a GdkFontPrivate entry for this font
13775         already, simply increment its reference count, provided by Olaf Dietsche
13776         <olaf.dietsche+list.gtk@netcologne.de>.
13777
13778         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13779         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13780
13781 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13782
13783         * gtk/gtkcontainer.c:
13784         (gtk_container_add_with_args):
13785         (gtk_container_addv):
13786         (gtk_container_add): before adding a child to a conatiner, make sure
13787         it is (default) constructed, this is neccessary because under certain
13788         circumstances the child will get relized and mapped immediatedly, in
13789         which case it has to be constructed already.
13790
13791 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13792
13793         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13794         values > 1 as TRUE also.
13795
13796 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13797
13798         * README.win32: New file.
13799                 
13800         * configure.in: Check for lstat.
13801
13802         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13803         completeness.
13804
13805         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13806
13807         * gtk/gtk.def: Removed CRs.
13808
13809         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13810         ..\gdk\win32).
13811
13812         * gdk/win32/makefile.msc: Correct upwards relative paths.
13813         
13814 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13815
13816         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13817           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13818           it was connecting a void function to expose_event and the int
13819           returning function to the draw signal
13820
13821 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13822
13823         * configure.in:
13824         Use correct path to libgmodule.la when ref'ing uninstalled copy
13825         of glib.  (Already in stable branch, Bug #417)
13826
13827 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13828
13829         Win32 merge and general portability stuff:
13830                 
13831         * acconfig.h,configure.in: Check for <sys/time.h>.
13832
13833         * gdk/win32: New directory (actually, been there for a while).
13834         
13835         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13836         NATIVE_WIN32, and use these. Always case fold on Win32. No
13837         backslashed escapes on native Win32.
13838
13839         * gtk/{gtk.def,makefile.msc}: New files.
13840
13841         * gtk/Makefile.am: Add above new files.
13842         
13843         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13844         instead of <strings.h>.
13845
13846         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13847         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13848         <unistd.h> appropriately.
13849
13850         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13851         Use ABS() (from <glib.h>) instead of abs().
13852         
13853         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13854         of gtk (and thus glib) headers, so that WIN32 will be
13855         defined. With MS C, include <direct.h> for mkdir prototype.
13856
13857         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13858         some casts, needed by MS C.
13859
13860         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13861         implemented).
13862
13863         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13864         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13865         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13866
13867         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13868                 
13869         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13870         the event is not a hint, or its window is not the slider. Needed
13871         on Win32, at least.
13872
13873         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13874         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13875         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13876         a subdirectory of the Windows directory as gtk system
13877         configuration directory.
13878
13879         * gtk/gtkselection.c: No chunks on Win32.
13880
13881         * gtk/gtksocket.c: Not implemented on Win32.
13882
13883         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13884
13885         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13886
13887         * gtk/maketypes.awk: Declare variables with a macro that expands to
13888         necessary export/import magic in the case of Win32.
13889                 
13890         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13891
13892 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13893
13894         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13895         since those were meant only for gdki18n.h.  
13896         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13897         for widechar tests.
13898         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13899
13900 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13901
13902         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13903         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13904
13905         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13906         installed) to CFLAGS.
13907
13908         * gdk/Makefile.am: Add rules for gdkconfig.h.
13909
13910         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13911         APIs.
13912
13913         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13914         gdkx.h anyway when compiling for X11.
13915         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13916         general): Merge in Win32 version.
13917         
13918         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13919         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13920         expansion (if we don't have HAVE_PWD_H), allow for drive
13921         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13922         included code from Craig Setera's port to Win32 (the one that uses
13923         X11, and the cygwin dll), even if it probably will be abandoned.
13924
13925         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13926         the user entered one herself.  This way one can complete *.h and
13927         don't get matches on any .help files, for instance.
13928         
13929 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13930
13931         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13932         font hash table, if we have a GdkFontPrivate entry for this font
13933         already, simply increment its reference count, provided by Olaf Dietsche
13934         <olaf.dietsche+list.gtk@netcologne.de>.
13935
13936         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13937         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13938
13939 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13940
13941         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13942         the number of calls to gdk_draw_point() (and thus to X) by
13943         clipping the points by hand.
13944
13945         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13946         the clip parameter.
13947         (gtk_handle_box_paint): Only paint the handle if the expose area
13948         intersects it.
13949
13950 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13951
13952         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13953
13954 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13955
13956         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13957         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13958
13959 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13960
13961         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13962          textmode (O_TEXT) for OS/2 version.
13963
13964 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13965
13966         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13967         GtkSpinButton, "input" and "output", to make the output more flexible.
13968         The user has to provide a mapping between adjustment->value and the
13969         output string (and vice versa, if the spin button is editable). 
13970         See testgtk for examples.
13971
13972 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13973
13974         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13975         new one.
13976         
13977         * configure.in: set gtk+ version to 1.3.0.