]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
removed old emission hook API.
[~andy/gtk] / ChangeLog.pre-2-4
1 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
2
3         * gtk/gtksignal.[hc]: removed old emission hook API.
4         
5         * docs/Changes-2.0.txt: fixed sections.
6         
7         * gtk/gtktextbuffer.c: signal arg fixups.
8
9 2001-03-07  Havoc Pennington  <hp@redhat.com>
10
11         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
12
13         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
14         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
15         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
16         validation and the redraw which is higher priority than the
17         validation.
18
19 2001-03-07  Havoc Pennington  <hp@redhat.com>
20
21         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
22         (gtk_entry_set_property): remove trailer
23
24         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
25         (gtk_entry_get_width_chars): new functions, to set size request to 
26         a given number of characters
27
28         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
29
30         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
31         (gtk_dialog_get_has_separator): new function
32         (run_delete_handler): fix to not emit "response" signal
33         because we already did in the delete event handler installed
34         at dialog creation time.
35         
36         * gtk/gtkdialog.h: add a has_separator property,
37         add GTK_DIALOG_NO_SEPARATOR flag
38
39 2001-03-07  Havoc Pennington  <hp@redhat.com>
40
41         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
42         off decorations for a window.
43
44         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
45         changes
46
47         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
48         to get location of PangoLayout inside the label, closes #51198
49
50         * gtk/testgtk.c (create_bbox): fix up button box usage
51
52         * gtk/testcalendar.c (create_calendar): fix up button box usage
53
54         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
55
56         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
57
58         * gtk/gtkhbbox.h: deprecations
59
60         * gtk/gtkvbbox.h: deprecations
61
62         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
63         emulate deprecated gtk_button_box_get_spacing
64
65         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
66         the "set global default" functions
67         (struct _GtkButtonBox): remove "spacing" field, use the one from 
68         GtkBox base class
69
70         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
71
72         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
73         render the icon, return the missing image icon.
74
75         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
76         image icon if the load fails.   
77
78         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
79         when no image is found; should be the Netscape "missing image"
80         icon eventually but for now is a random image
81
82         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
83         role for the session manager
84
85         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
86
87         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
88         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
89
90         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
91
92 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
93
94         * gtk/*.c: marshaller fixes.
95         
96         * gtk/gtkmarshal.list: extreme cleanup.
97
98         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
99         param spec for now.
100
101         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
102         where appliable.
103
104         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
105         special cased autogenerated boxed types from gtktypebuiltins_ids.c
106         which are not reference counted:
107         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
108         PangoFontDescription, GtkTreeIter and GtkTreePath.
109
110 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
111
112         * gtk/gtktreeselection.h: 
113         * gtk/gtktreemodel.c:
114         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
115         file should be included directly, and gobject/gmarshal.h
116         as well as gtk/gtkmarshal.h even can't be included directly.
117
118         * Makefile.am: grr, install gtk-config-2.0.
119
120         * gtk/testgtk.c:
121         * gtk/simple.c:
122         * gtk/gtkmenu.c:
123         * gtk/gtkitemfactory.c: use g_object_connect() instead of
124         passing "*signal*::*" args to gtk_widget_set().
125         
126         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
127         
128         * gtk/*.c: removed trailer arg from property setters and getters.
129         macro fixups.
130
131 2001-03-07  Alexander Larsson  <alexl@redhat.com>
132
133         * gtk/gtklabel.c (set_markup): Removed warning
134
135 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
136
137         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
138         field to allow you to hide cell renderers.
139
140         * gtk/gtkcellrenderer.c: Add support for invisible cells.
141
142         * gtk/gtktreeview.c: Add support for invisible cells.
143
144 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
145
146         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
147         Add "clicked" signal back to columns.
148
149         * ChangeLog: remove conflict markers.
150
151 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
152
153         * gtk/gtkbutton.c: Add animation of activation by, on 
154         activate, pressing the button, and adding a timeout that 
155         releases the button after 250ms or on key release and
156         emits ::clicked. (#51501)
157
158         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
159         action area, we connect to ::clicked instead of ::activate
160         so the dialog stays up through the animation.
161
162 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
163
164         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
165         check the ignore_enter flag for the menu shell that
166         the item is actually a child of, not for attached
167         submenus. (#51536)
168
169 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
170
171         * gtk/gtkmain.c (gtk_propagate_event): Only do special
172         special key-press grab handling for widgets within
173         GtkWindows. Otherwise, fall through to normal case.
174
175         This prevents key events being sent twice to GtkInvisible
176         widgets, which can cause all sorts of mischief.
177
178 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
179
180         * gtk/gtkmain.c (gtk_propagate_event): When a grab
181         widget is in effect, give the grab widget a first
182         crack at KEY_PRESS/RELEASE events. (#424)
183
184 2001-03-06  James Henstridge  <james@daa.com.au>
185
186         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
187         offset for the window_state_event to point at window_state_event
188         rather than no_expose_event.
189
190 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
191
192         * gtk/gtkimmodule.h: fix busted /* comment */
193
194 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
195
196         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
197         object properties.
198
199 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
200
201         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
202         add object properties.
203
204         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
205         to add object properties.
206
207         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
208         object properties.
209
210         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
211         add object properties.
212
213         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
214         object properties.
215
216 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
217
218         * gtk/gtktreemodel.c: renamed "child_toggled" to
219         "has_child_toggled".
220
221         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
222         handle new signal name.
223
224         * gtk/gtktreestore.c: Updated to handle new signal name.
225         * gtk/gtklisttore.c: Updated to handle new signal name.
226         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
227
228 2001-03-05  Alexander Larsson  <alexl@redhat.com>
229
230         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
231         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
232
233 2001-03-05  Michael Natterer  <mitch@gimp.org>
234
235         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
236         pixbuf-engine coincidentially also failed to make one of it's
237         parent_class pointers static, causing overwriting of GtkLabel's
238         parent_class pointer in pixbuf_style_class_init().
239         (Will commit the fix to the pixbuf-engine too).
240
241 2001-03-05  Alexander Larsson  <alexl@redhat.com>
242
243         * gdk/gdkwindow.h:
244         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
245         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
246         gdk_window_set_icon_list for net wmspec functionality.
247
248         * gdk/x11/gdkwindow-x11.c:
249         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
250         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
251         gdk_window_set_icon_list.
252         Added gdk_wmspec_change_state helper function and used it in the code.
253         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
254
255         * gtk/gtkdialog.c (gtk_dialog_init):
256         Set GDK_WINDOW_TYPE_HINT_DIALOG.
257
258         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
259         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
260
261         * gtk/gtkwindow.c:
262         new function gtk_window_set_type_hint.
263         On realize, set type hint and modal hint.
264
265         * gtk/gtkwindow.h:
266         Added type_hint field and gtk_window_set_type_hint.
267
268 2001-03-05  Alexander Larsson  <alexl@redhat.com>
269
270         * gtk/gtklabel.[ch]:
271         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
272         New function gtk_label_get_accel_keyval () to get the underline accelerator
273         of the label. Setting the label pattern overrides other attributes.
274
275 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
276
277         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
278         Added missing initializers to gtk_rc_style_init().
279
280 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
281
282         * gtk/gtktextview.c: fixed bug #51097 about setting 
283         gtk_text_view_set_border_window_size() if the widget is 
284         already realized.
285
286 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
287
288         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
289
290         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
291         comment. Won't do to have duplicated doc comments between
292         the platform subdirs.
293
294 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
295
296         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
297           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
298
299         Detectable auto-repeat - make a repeating key generate
300         press/press/press/release instead of press/release pairs.
301
302         If we have Xkb and XkbSetDectableAutoRepeat supports
303         that, we do it that way. Otherwise, when we get
304         a release event, we check ahead with XPending to see
305         if the next key is a KeyPress with the same keycode
306         and timestamp. (Not 100% reliable, but pretty close.)
307           
308 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
309         
310         * gtk/gtkmain.c (gtk_propagate_event): Only do special
311         special key-press grab handling for widgets within
312         GtkWindows. Otherwise, fall through to normal case.
313  
314         This prevents key events being sent twice to GtkInvisible
315         widgets, which can cause all sorts of mischief.
316  
317 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
318  
319         * gtk/gtkmain.c (gtk_propagate_event): When a grab
320         widget is in effect, give the grab widget a first
321         crack at KEY_PRESS/RELEASE events. (#424)
322  
323 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
324
325         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
326         to extend the selection. (Roughly based on patch
327         from Jay Cox, #50939)
328
329         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
330         to properly handle previous GDK_BUTTON_PRESS. 
331         (Patch from Jay Cox, #50938)
332
333         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
334         '\0' back along with the deleted text. (#51148)
335
336 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
337
338         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
339         the group when extracting it from the X keyboard event.
340
341         * modules/input/Makefile.am modules/input/imipa.c: 
342         Simple module for entering IPA. (Do we need a 
343         gtk-stupid-input-tricks CVS module?)
344
345 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
346
347         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
348         const.
349
350         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
351
352         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
353         is no focus widget for the dialog currently, grab the focus as well
354         as the default.
355
356         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
357         the action area's children to iterate through, not the
358         dialog's children.
359
360 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
361
362         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
363         Add plug-socket tests. (Won't work worth a darn until I commit
364         the rest of the plug-socket changes, but no reason these
365         can't go into CVS now.)
366
367 2001-03-02  Havoc Pennington  <hp@redhat.com>
368
369         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
370         _gdk_region_get_xrectangles()
371
372         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
373
374         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
375
376         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
377         function, contributed by Ron Steinke    
378
379         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
380         gdk_net_wm_supports
381
382         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
383         New function, contributed by Ron Steinke
384
385         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
386         used to line up the text in the entry when using the entry for
387         editable sheet cell hacks
388
389         * gtk/testgtk.c (create_entry): test the activate_default setting
390         on GtkEntry
391
392         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
393         cause the entry to activate the default button for a dialog when 
394         activated
395         (gtk_entry_get_activates_default): new function
396
397 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
398
399         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
400         Hwang to move call to sync_selection() up a few lines
401         to before the row list is modified, to fix crash when
402         removing rows in the undo_selection list.
403
404         (Test case provided by Daniel Elstner:
405
406         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
407
408 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
409
410         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
411         of tree->root_tree in parent_set rather than _map(), 
412         fixing #50892 in a bit better manner.
413
414 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
415
416         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
417
418 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
419
420         * gtk/gtkstyle.c : Remove duplicate fwd decl for
421         gtk_default_draw_shadow.
422
423 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
424
425         * gdk/gdkimage.c (gdk_image_new): Remove excess 
426         warning, make warnings more verbose, treat a error
427         in shmat as permanent, and don't try again.
428         (#51163, Ed Randall.)
429
430 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
431
432         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
433         delay for the first click before starting to scroll.
434         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
435
436         * gtk/gtktext.c: GtkText should have I-beam cursor. 
437         (based on gtk-enf-990513-1.patch, Eric Fisher.)
438
439 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
440
441         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
442         cleanup to remove some references to unused
443         ->xoffset, ->yoffset.
444
445 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
446
447         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
448         mask. (#51039, fix from Martin Maierhofer)
449
450 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
451
452         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
453         for unshifted + and shifted = for non-us keyboards.
454         Make <Control>+ and <Control>- work as well as 
455         <Control>KP_Plus, <Control>KP_Minus for recursive
456         open/close.  (#2682, René Seindal)
457
458 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
459
460         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
461         the active menu item before deactivating the menu,
462         so gtk_menu_popdown doesn't change the history. (#50964)
463         
464 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
465
466         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
467         draw lines with text_gc rather than black_gc.
468         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
469
470 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
471
472         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
473         Move handling of buttons fully in gtktreeviewcolumn.  This code is
474         less interrelated then it was, but it still requires the
475         GtkTreeView to map it.
476
477         * test/testtreecolumn.c: Now I can add a column to one view,
478         remove it, add it to the another view, remove it, then re-add it
479         to the first.  Nifty.
480
481 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
482
483         * docs/tutorial/gtk-tut.sgml: Minor corrections
484
485 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
486
487         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
488         GtkRowReference.
489
490 2001-02-28  Havoc Pennington  <hp@redhat.com>
491
492         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
493         draw_default
494         (gtk_widget_draw_focus): remove this function; we could instead
495         make it just gtk_widget_draw(), but in most cases I think the
496         result would be broken user code, so think it's better to have
497         that code not compile and get fixed
498         (gtk_widget_draw_default): ditto
499
500         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
501         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
502         
503         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
504         widgets lose/get the default, instead of calling draw_default
505         
506         * docs/Changes-2.0.txt: note about all this
507
508         Then fixed every widget in GTK, I won't list all the filenames.
509
510 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
511
512         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
513         _gtk_tree_row_reference_deleted.
514         (inserted_callback): Proxy out to
515         _gtk_tree_row_reference_inserted.
516         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
517         get around signal emission ordering problem.
518
519         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
520         fix to work with SINGLE 
521         (_gtk_tree_selection_internal_select_node): Major sanitization on
522         selections.  SINGLE now seems to work.
523
524         * tests/Makefile.am: add testtreecolumn.c:
525
526         * tests/testtreecolumn.c: New test.  Mostly points out selection
527         bugs currently, but will test columns later.
528
529         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
530         selection bug.  I hate touching this code -- it's scary.
531
532 2001-02-26  Havoc Pennington  <hp@redhat.com>
533
534         * gtk/testgtk.c: test the window state stuff
535
536         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
537         window come to the user's attention as if it were just created
538         (gtk_window_iconify): new function
539         (gtk_window_deiconify): new function
540         (gtk_window_stick): new function
541         (gtk_window_unstick): new function
542         (gtk_window_maximize): new function
543         (gtk_window_unmaximize): new function
544
545         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
546
547         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
548
549         * gdk/x11/gdkevents-x11.c: create window state events when
550         appropriate
551         (gdk_wmspec_supported): new function
552
553         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
554         iconification before showing the window
555         (gdk_window_deiconify): new function
556         (gdk_window_stick): new function
557         (gdk_window_unstick): new function
558         (gdk_window_maximize): new function
559         (gdk_window_unmaximize): new function
560
561         * gdk/gdkwindow.c: store the window state in the window; 
562         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
563         window->mapped.
564         (gdk_window_get_state): return the current window state
565
566         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
567         (gdk_event_get_state): handle GDK_WINDOW_STATE
568         (gdk_synthesize_window_state): function to create the window state
569         events
570
571         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
572         event, for changes to "window state" such as maximized, sticky, 
573         etc.
574         
575         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
576         focuses a window
577
578         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
579         finds out if we support a given WM spec hint
580
581 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
582
583         * docs/faq/gtk-faq.sgml: New question re memory leaks.
584
585 2001-02-25  Hans Breuer  <hans@breuer.org>
586
587         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
588         cause we want to loose those prototypes only in the latter case
589
590         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
591         GdkPixmapImplWin32 because it itsn't derived from it. Use the
592         impl member variable instead
593
594         * gtk/gtk.def : updated
595
596         * gtk/gtklist.c : 
597         * gtk/gtkmenus.c : include <string.h> for memset ()
598
599         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
600         for everthing built here, but for gtk-x.x.dll only. This solves
601         problem of indifferent gtk type definitions
602
603 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
604
605         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
606
607 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
608
609         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
610         column that is exposed.
611
612         (_gtk_tree_view_update_size): Changed name from set_size, and
613         changed function to do more work, and not force people calling it
614         to figure out the size.  Simplifies a lot of code elsewhere.
615
616 2001-02-23  Alexander Larsson  <alexl@redhat.com>
617
618         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
619         return solid masks for xpms that have no transparent color.
620         This makes the ..._create_from_xpm... API backwards
621         compatible.
622
623 2001-02-23  Tor Lillqvist  <tml@iki.fi>
624
625         * README.win32: Update. Mention the gtk-1-3-win32-production
626         branch.
627
628         * gdk/win32/bdfcursor.c: New file. A program that generates
629         xcursors.h. Thanks to Stefan Ondrejicka.
630
631         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
632         compact format.
633
634         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
635
636         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
637         function, uses xcursors.h.
638         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
639         cursor from inline data instead of using LoadCursor() to generate
640         it from a resource.
641
642         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
643         event, must check the Windows message for mouse button state, as
644         the GDK event state might not have been built if it is
645         undelivered. Remove one goto.
646
647         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
648         SetCursor() if the current cursor as returned by GetCursor() is
649         the window's previous cursor. The ChildWindowFromPoint() test
650         apparently didn't work correctly.
651
652         * gdk/win32/rc/*.cur: Remove.
653
654         * gdk/win32/rc/gdk.rc.in: Remove cursors.
655
656         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
657
658         * gtk/makefile.{mingw,msc}.in: Updates.
659
660 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
661
662         * gtk/gtktreemodel.h: add functions for signal emission.
663
664         * gtk/gtktreestore.c: move to use above functions instead of
665         g_signal_emit.
666
667         * gtk/gtkliststore.c: ditto
668
669 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
670
671         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
672         GObject instead of GtkObject.
673
674         * gtk/gtkliststore.c: ditto.
675
676         * gtk/gtktreemodelsort.c: ditto.
677
678         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
679         GtkTreeModelIface, instead of in each model.
680
681 2001-02-21  Havoc Pennington  <hp@redhat.com>
682
683         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
684         unbreak this function
685
686         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
687         properties
688
689         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
690         properties
691
692         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
693         properties
694
695         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
696         mean unset the max length
697
698 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
699
700         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
701         Changed name to be set_cell_data_func to make it clear what
702         the functino does.  Close bug #51069.
703
704 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
705
706         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
707         have memory actually freed.  Keeps box running longer.
708
709 2001-02-21  Alexander Larsson  <alexl@redhat.com>
710         
711         * gtk/gtkseparatormenuitem.[ch]:
712         Added new menu separator item. The drawing and size handling
713         is still done in GtkMenuItem, but the API is a bit more sane.
714         
715         * gtk/Makefile.am:
716         Add gtkseparatormenuitem.[ch].
717
718         * gtk/gtk.h:
719         Add gtkseparatormenuitem.h.
720         
721         * gtk/gtkentry.c:
722         * gtk/gtkmenufactory.c:
723         * gtk/gtktextview.c:
724         Use the new API for menu separators.
725         
726         * demos/gtk-demo/menus.c (create_menu):
727         Add some GtkSeparatorMenuItem demo code.
728
729 2001-02-20  Havoc Pennington  <hp@redhat.com>
730
731         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
732         Lee Mallabone
733
734         * gtk/gtkarrow.c: Convert to new property API, patch from 
735         Lee Mallabone
736
737 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
738
739         * tests/testtreeview.c (toggled_callback): fix to reflect change
740         in GtkTreeModelStore.
741
742 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
743
744         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
745         function to create an icon set from a pixbuf.
746
747 2001-02-20  Alexander Larsson  <alexl@redhat.com>
748
749         * gtk/gtkcellrenderertext.[ch]:
750         Add a "markup" property.
751
752         * gtk/treestoretest.c:
753         Use the markup property, remove some leftover stuff from
754         GtkTreeModelMapping.
755
756 2001-02-20  Alexander Larsson  <alexl@redhat.com>
757
758         * gtk/gtklabel.c (gtk_label_set_selectable):
759         Queue a redraw if the selectable setting was changed.
760
761 2001-02-20  Alexander Larsson  <alexl@redhat.com>
762
763         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
764         Actually copy the whole gc, not just the public parts.
765         
766         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
767         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
768         labels.
769
770 2001-02-19  Havoc Pennington  <hp@pobox.com>
771
772         * gdk/gdkwindow.c: docs
773
774         * gdk/gdkrgb.c: docs
775
776         * gdk/gdkregion-generic.c: docs
777
778         * gdk/gdkgc.c (gdk_gc_set_values): docs
779
780         * gdk/gdkdraw.c: docs
781
782         * gdk/gdkdrawable.h: deprecate drawable get/set data
783
784 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
785
786         * demos/gtk-demo/dialog.c: Add simple new demo.
787
788 2001-02-19  Havoc Pennington  <hp@redhat.com>
789
790         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
791         insert_child_anchor signal, bug #50245
792
793         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
794         from create_child_anchor, so the anchor is passed in
795
796         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
797         (_gtk_widget_segment_new): have the child anchor object passed in, 
798         instead of creating it.
799
800         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
801         to gtk_text_buffer_get_modified
802
803 2001-02-19  Havoc Pennington  <hp@redhat.com>
804
805         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
806         changed GLib without fixing GTK
807
808         * gtk/gtkrange.h: Rename all the stupid implementation detail 
809         functions to have an underscore in front. Most of them should 
810         probably just go away, but for starters don't export them.
811         Bug #50482
812
813 2001-02-19  Havoc Pennington  <hp@redhat.com>
814
815         * gdk/gdkcolor.h: test was backward, so deprecated functions were
816         excluded by default
817
818         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
819         clean up the old code a bit
820
821         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
822         inconsistent state
823
824         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
825         draw inconsistent state
826
827         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
828         (create_menu): add inconsistent test
829
830         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
831         new function
832         (gtk_check_menu_item_get_inconsistent): new function
833         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
834         state (using etched in for now)
835
836         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
837         draw inconsistent state
838
839         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
840         function, used when the user has selected a range of stuff in
841         different states
842         (gtk_toggle_button_get_inconsistent): accessor for that
843         (gtk_toggle_button_paint): draw inconsistent state (etched in?
844         don't know what else to do)
845
846 2001-02-19  Hans Breuer <hans@breuer.org>
847
848         * gtk/gtk.def : updated exported symbols
849
850         * gtk/makefile.msc.in : updated
851
852         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
853         a colormap, when invoked from testgtk::entry. I'm not sure where
854         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
855         avoids immediate crashing ...
856
857         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
858         any objections ?
859
860         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
861         0 parameter. At least msvc doesn't like macros with var args. 
862         I simply removed the extra 0, was it a feature or a typo ?
863
864         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
865         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
866         because the value assignment to the internal struct wasn't working.
867         I'm not absolutely sure. The problem could have been resolved by
868         changing the "func" declartion in the struct, but was the pointer
869         to the function pointer intended ?
870
871         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
872
873         * gdk/gdk.def : updated exported symbols
874
875         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
876         only use SetDIBitsToDevice if there is a palette at the drawable
877         and the image is GDK_VISUAL_PSEUDO_COLOR
878
879         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
880
881         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
882
883         * gdk/*/makefile.msc : updated
884
885 2001-02-19  Havoc Pennington  <hp@redhat.com>
886
887         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
888         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
889
890         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
891         (gdk_key_repeat_restore): nuke
892
893         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
894         (gdk_init_check): no atexit func
895
896         * gdk/gdkrgb.h: mark some stuff deprecated
897
898         * gdk/gdkcolor.h: mark some stuff deprecated
899         
900         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
901
902         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
903
904 2001-02-16  Havoc Pennington  <hp@redhat.com>
905
906         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
907         scroll steps.
908
909         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
910         steps, and add Ctrl-arrow shortcuts for paging visually as with
911         HScale, since Page Up and Page Down move logically.
912
913         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
914         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
915         
916         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
917         steps
918         (gtk_range_scroll): handle the visual steps
919
920         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
921         scroll steps
922
923         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
924         steps, not the logical ones.
925
926         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
927         (scroll_vertical): handle up/down steps
928
929 2001-02-19 Alexander Larsson  <alexl@redhat.com>
930
931         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
932         Copy data and free data with free().
933
934         * gdk-pixbuf/gdk-pixbuf.c:
935         * gdk-pixbuf/io-jpeg.c:
936         * gdk-pixbuf/io-png.c:
937         Use g_try_malloc/g_free instead malloc/free.
938         
939         * gdk-pixbuf/test-gdk-pixbuf.c:
940         Must... initialize... gobject...
941         
942         * gdk-pixbuf/pixops/timescale.c:
943         * gtk/gtkcalendar.c:
944         Use g_malloc instead of malloc.
945         
946 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
947
948         * gtk/testgtkrc:
949         Comment out property assignments, these don't work yet.
950
951 2001-02-17  Havoc Pennington  <hp@pobox.com>
952
953         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
954         bit.
955
956 2001-02-17  Havoc Pennington  <hp@pobox.com>
957
958         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
959         shadowed variables that had broken size request in some cases,
960         leading to bogus tooltips (#50996)
961
962 2001-02-06  Jon K Hellan  <hellan@acm.org>
963
964         Implement fast browsing of tooltips, bug #50619
965         
966         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
967         and last_popdown
968         
969         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
970         use_sticky_delay and last_popdown.
971         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
972         time of popdown.
973         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
974         is NULL.
975         (gtk_tooltips_recently_shown): New static function.  Return true
976         if < sticky_delay has elapsed since last popdown.
977         (gtk_tooltips_event_handler): Display window after sticky_delay
978         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
979         since last popdown.
980         
981 2001-02-17  Havoc Pennington  <hp@pobox.com>
982
983         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
984         instead of (). #6394
985
986         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
987         G_CONST_RETURN, make it return by reference, #50473
988         
989 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
990
991         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
992         generated ENTER_NOTIFY event with 0, otherwise not explicitely
993         setup fields contain garbage (e.g. subwindow, breaking
994         gdk_drawable_ref() upon event copy).
995         (gtk_menu_stop_navigating_submenu_cb): same here.
996
997         * gtk/gtklist.c (gtk_list_vertical_timeout): 
998         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
999         * gtk/gtkclist.c (vertical_timeout): 
1000         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1001         default-zero-intialization for unions to memset(,0,), as unions are
1002         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1003         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1004
1005         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1006         g_closure_sink() warning.
1007
1008         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1009         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1010         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1011         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1012         
1013 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1014
1015         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1016         gtk_*_store_get, and moved to GtkTreeModel.
1017
1018         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1019
1020         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1021
1022         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1023
1024         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1025         set the func.
1026
1027         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1028         freeze/thaw notify between setting all the properties for a cell.
1029
1030         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1031
1032 2001-02-15  Havoc Pennington  <hp@redhat.com>
1033
1034         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1035         the X coordinates so they're with respect to the line, rather than 
1036         with respect to the layout.
1037
1038         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1039         Mallabone
1040
1041         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1042         and inverted test
1043
1044         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1045         #50806
1046
1047         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1048
1049         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1050         gtk_text_iter_is_end
1051
1052         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1053         rename gtk_text_buffer_get_end_iter
1054
1055         * gtk/testgtk.c (create_labels): Add test for selectable
1056
1057         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1058         the selection stuff. This code is kind of broken since it doesn't 
1059         use the theme engine.
1060
1061         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1062         fix infinite loop and y offset problem
1063         (gdk_draw_layout_line_with_colors): fix foreground color handling
1064
1065         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1066         that makes the label selectable.
1067         
1068         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1069         layout when the style is set, since fonts etc. could have changed.      
1070
1071 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1072
1073         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1074
1075         * gtk/gtktreemodelsimple.[ch]: removed.
1076
1077 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1078
1079         * gtk/gtktreemodelmapping.[ch]:
1080         New files. Implement GtkTreeModelMapping.
1081         
1082         * gtk/Makefile.am:
1083         Add gtktreemodelmapping.[ch].
1084         
1085         * gtk/gtk.h:
1086         Add gtktreemodelmapping.h
1087
1088         * gtk/treestoretest.c:
1089         Test the GtkTreeModelMapping
1090
1091 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1092
1093         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1094         have a demo, we might as well pass in real values.  Thanks to
1095         clahey for pointing this out.
1096
1097 2001-02-14  Havoc Pennington  <hp@pobox.com>
1098
1099         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1100         "static" to a private function
1101         (gtk_image_menu_item_class_init): remove destroy handler,
1102         add "image" object property
1103
1104 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1105
1106         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1107         Add a shortcut if the window and the current clip_region doesn't
1108         overlap. This is needed when there are a lot of windows in a
1109         window. The layout test in testgtk is a good test.
1110
1111         * gdk/linux-fb/gdkwindow-fb.c:
1112         Whitespace fix.
1113
1114 2001-02-13  Sven Neumann  <sven@convergence.de>
1115
1116         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1117
1118 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1119
1120         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1121         Don't reference last_cursor if it is null. Fixes crash when rotating
1122         the screen before having moved the mouse.
1123
1124         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1125
1126         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1127
1128         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1129         when using 90 or 270 degrees rotation.
1130
1131 2001-02-12  Havoc Pennington  <hp@pobox.com>
1132
1133         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1134         it always set the foreground, even if we were only using
1135         a stipple.
1136         (gdk_draw_layout_line_with_colors): new function, allow
1137         override colors
1138         (gdk_draw_layout_with_colors): new function, allow override
1139         colors
1140         (gdk_pango_layout_line_get_clip_region): function to get the clip
1141         region for a logical text range
1142         (gdk_pango_layout_get_clip_region): get the clip region for a
1143         logical text range
1144
1145         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1146         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1147         the right number of arguments.
1148
1149         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1150         enhance the function to check that node data corresponds to a 
1151         view still belonging to the tree.
1152
1153         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1154         GtkTreePath
1155         (gtk_tree_view_inserted): ditto
1156         (gtk_tree_view_child_toggled): ditto
1157
1158         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1159         simplify this code.
1160
1161         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1162         a PangoAttrList
1163
1164         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1165
1166         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1167
1168         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1169         size in the size request 
1170         (gtk_menu_bar_size_allocate): consider toggle size here
1171
1172         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1173         that displays a widget in the toggle slot
1174
1175         * gtk/testgtk.c: test GtkImageMenuItem
1176
1177         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1178         
1179         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1180         request and allocation
1181
1182         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1183
1184         * gtk/gtkcheckmenuitem.c
1185         (gtk_check_menu_item_toggle_size_request): ditto
1186         
1187 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1188
1189         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1190         reference.
1191
1192         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1193         and refuse to initialize GTK+ if they fail.
1194
1195 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1196
1197         * configure.in: Add check for gtk-doc version.
1198
1199 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1200
1201         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1202         where the xpad/ypad was only being used on one side!
1203
1204 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1205
1206         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1207         function, copied from X11 version.
1208
1209         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1210         DestroyCursor failures. The reason for the problem (despite the
1211         inconsistent messages from GetLastError()) was that
1212         DestroyCursor() cannot be called while a cursor is set in a
1213         window. Set the new cursor first and then destroy the old one.
1214         Thanks to jpe@archaeopteryx.com.
1215
1216         * gdk/win32/gdkcc-win32.c: Remove.
1217
1218         * gdk/win32/Makefile.am: Remove from here, too.
1219         
1220         * gdk/gdk.def
1221         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1222
1223         * gtk/gtk.def
1224         * gtk/makefile.mingw.in: Updates.
1225
1226 2001-02-08  Havoc Pennington  <hp@redhat.com>
1227
1228         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1229         add a widget to a bin that already has a child.
1230
1231         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1232
1233         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1234         
1235         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1236
1237         * gdk/gdk.h: remove gdkcc.h
1238
1239         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1240
1241         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1242         GdkPixbuf, since the previous implementation was GdkColorContext
1243         dependent.
1244
1245         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1246         
1247 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1248
1249         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1250         a sane value!
1251
1252 2001-02-08  Havoc Pennington  <hp@redhat.com>
1253
1254         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1255         lighten them.
1256
1257 2001-02-08  Havoc Pennington  <hp@redhat.com>
1258
1259         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1260         validation idle
1261
1262         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1263         cell renderer
1264
1265         * demos/pixbuf-demo.c (timeout): remove deprecated
1266         gtk_widget_draw
1267
1268         * demos/testpixbuf-save.c (main): remove deprecated
1269         gtk_drawing_area_size
1270
1271         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1272         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1273         at the start of the allocation.
1274         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1275         unsetup or NULL model.
1276
1277         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1278         even/odd/sorted cells in the tree view.
1279
1280         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1281         bugfixes
1282
1283         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1284         backgrounds with draw_flat_box using different detail for even/odd
1285         rows.
1286
1287         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1288         row, so we can draw the alternating colors thing
1289
1290         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1291         property from a synonym property, notify for the synonym.
1292         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1293         (gtk_text_tag_get_property): Always return the font, even if
1294         all its fields aren't set
1295
1296         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1297         store the attr list; it leaves us with no way to change attributes
1298         in _render according to the render flags, and no way to implement
1299         get_property. Instead store all the specific text attributes. 
1300         Separate whether an attribute is enabled from its value. Sync all
1301         properties with GtkTextTag, make them all consistent, etc.
1302
1303         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1304         renderers can highlight the sort row/column     
1305
1306         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1307         accessor functions to get values; this has the side effect of
1308         showing up which accessor functions were missing. Added those.
1309
1310         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1311         set_alignment, to be consistent with GtkLabel, GtkMisc
1312
1313         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1314         arrow.
1315
1316         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1317
1318         * gtk/gtktreesortable.h: updates in here
1319
1320 2001-02-07  Sven Neumann  <sven@convergence.de>
1321
1322         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1323         pango dimensions after painting the background. We used to draw
1324         gigantic flat boxes here.
1325
1326 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1327
1328         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1329         error introduced with earlier commit) (pointed out by
1330         Ollie Lho)
1331
1332 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1333
1334         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1335         which are no longer necessary.
1336
1337 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1338
1339         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1340
1341 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1342
1343         * gdk/gdk.def
1344         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1345         Provide dummy implementations.
1346
1347 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1348
1349         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1350
1351         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1352         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1353         deprecated this function.
1354
1355         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1356         argument.
1357
1358 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1359
1360         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1361
1362 2001-02-03  Havoc Pennington  <hp@pobox.com>
1363
1364         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1365         Mikael Hermansson with patch from Mikael (if there was a toggle
1366         start one after the first character in the range, this function
1367         was broken). Bug #50380
1368
1369 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1370
1371         * configure.in: Remove confusing comment about X11.
1372
1373 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1374
1375         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1376         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1377         
1378 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1379
1380         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1381         it breaks things on BSD. If you want to compile GTK+ with
1382         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1383         when configuring, since GTK+ simply can't be "pure ANSI" 
1384         in the header files it uses. (#8170, Greg Hudson)
1385
1386 2001-02-02  Havoc Pennington  <hp@redhat.com>
1387
1388         * gtk/gtkwindow.c: docs
1389
1390         * gtk/gtkwidget.c: docs
1391         (gtk_widget_set_colormap): add a reference to the colormap
1392         (gtk_widget_get_default_colormap): add a reference to the colormap
1393
1394         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1395
1396         * gtk/gtktextiter.c: docs
1397
1398         * gtk/gtkmain.c (gtk_propagate_event): docs
1399
1400         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1401         (gtk_paned_set_position): docs
1402
1403         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1404         sort interface, no implementation yet.
1405
1406         * demos/testpixbuf.c (new_testrgb_window): replace
1407         gtk_drawing_area_size() with gtk_widget_set_usize()
1408
1409         * demos/testpixbuf-drawable.c (main): ditto
1410         
1411         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1412
1413         * gtk/gtktextbuffer.c: docs
1414
1415         * gtk/gtkstock.c: docs
1416
1417         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1418
1419         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1420
1421         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1422         
1423         * gtk/gtkimage.c: add some docs in here
1424         (gtk_image_size_request): change name of
1425         gtk_widget_render_stock_icon
1426         (gtk_image_get_icon_set): don't dup returned string
1427         (gtk_image_get_icon_set): don't dup returned string
1428
1429         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1430         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1431         and gtkiconfactory.h functions
1432
1433         * gtk/gtkiconfactory.c: add some docs in here
1434
1435         * gtk/gtkmain.c (gtk_get_default_language): document
1436         (gtk_get_current_event): document
1437         (gtk_get_current_event_state): document
1438         (gtk_get_event_widget): document
1439
1440         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1441
1442         * gtk/gtkcontainer.c: Add some documentation
1443         (gtk_container_add): give a more explanatory warning on adding an
1444         already-parented widget, this is kind of a FAQ and also a common
1445         typo that's easier to debug with a nice warning 
1446
1447         * gtk/gtkcellrenderertoggle.c
1448         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1449         adding this, it's useless
1450         (gtk_cell_renderer_toggle_set_active): remove
1451         (gtk_cell_renderer_toggle_get_radio): add
1452
1453         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1454         the NULL cell renderer, that doesn't make any sense to me. 
1455
1456         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1457         demo code should never use deprecated features.
1458
1459         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1460         code should never use deprecated features.
1461
1462         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1463         gtk_widget_queue_clear_area deprecated
1464
1465         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1466         deprecated
1467
1468         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1469
1470         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1471         a GdkImage deprecated, replaced by new consistently-named
1472         functions       
1473
1474         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1475
1476         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1477
1478         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1479         deprecated
1480
1481         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1482         so it won't appear in docs and confuse people.
1483
1484         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1485
1486         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1487         macros deprecated. (can't mark the type itself deprecated, since
1488         GtkProgressBar is not deprecated and we need the type decl to use
1489         GtkProgressBar)
1490
1491         * gtk/gtkpixmap.h: Mark deprecated
1492
1493         * gtk/gtkoldeditable.h: Mark deprecated
1494
1495         * gtk/gtklist.h: Mark deprecated
1496
1497         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1498         for anything anymore.
1499
1500         * gtk/gtkctree.h: Mark deprecated
1501
1502         * gtk/gtkclist.h: Mark deprecated
1503
1504         * gtk/gtkpreview.h: Mark deprecated
1505
1506         * gtk/gtkpacker.h: Mark deprecated
1507
1508         * gtk/gtktipsquery.h: Mark deprecated
1509
1510         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1511
1512         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1513
1514         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1515
1516         * gtk/gtkruler.h: Add comment that it will move out of GTK
1517
1518         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1519
1520         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1521
1522 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1523
1524         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1525         gdk_colormap_sync private since it was never exported
1526         in a header file.
1527
1528         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1529         colormap->colors[] for StaticGray, StaticColor colormaps.
1530
1531         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1532         was being used as if it was image->bits_per_pixel.
1533
1534         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1535         for the image in the GdkImage structure since it isn't
1536         reconstructable, and we need it to handle packed types
1537
1538         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1539         the assumption that on Win32 image->bits_per_pixel == image->depth,
1540         always.
1541
1542         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1543
1544         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1545         warning message if no converter can be found. 
1546
1547 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1548
1549         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1550         chars to isupper() / tolower(). (#567)
1551
1552         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1553         to clear up 64-bit warnings. (#567)
1554
1555 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1556
1557         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1558         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1559
1560         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1561         since some people set $(libdir) separately. (#1290, David Kaelbling)
1562
1563 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1564
1565         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1566         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1567         MAXPATHLEN, but the code here depends on a fixed value.)
1568         (#4524)
1569
1570 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1571
1572         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1573         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1574
1575 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1576
1577         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1578         viewable there is no way that moving the node will cause the 
1579         focus row to become not viewable, so omit check on the visibility
1580         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1581
1582 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1583
1584         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1585         selection before inserting new text.
1586
1587 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1588
1589         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1590         Make the sensitivity of the reparented child track that of
1591         the original parent menu item. (#34218, David Hodson)
1592
1593         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1594         the case where the current item is destroyed properly.
1595
1596         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1597         some edge cases with child-less menuitems.
1598         
1599 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1600
1601         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1602         key pop down window. (#12074, Jon K Hellan)
1603
1604 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1605
1606         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1607         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1608         The solution here isn't perfect - you get an extraneous
1609         emission of "toggle", which could conceivably confuse an app,
1610         but better than the current situation. LXR search seems to
1611         indicate that no apps in GNOME CVS connect to "toggle".
1612
1613 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1614
1615         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1616         gtk_public_h_sources to directly here to avoid warning when
1617         building srcdir != builddir. (#9656)
1618
1619 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1620
1621         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1622         handlers in gtkrange.c return the proper values (TRUE == handled)
1623         (#10316).
1624
1625         This is just the tip of the iceberg, but gtkrange.c is the
1626         most common place where the propagation is problematical,
1627         and also a place where it is almost certainly safe to change
1628         this in the stable branch.
1629
1630         (You don't want right click popups on a range control or anything...)
1631
1632 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1633
1634         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1635         area on focus out, even if a background pixmap isn't set.
1636         (#13941)
1637         
1638 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1639
1640         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1641         to deal with setting the shape properly when scrolling arrows are
1642         turned on, but not visible because there is sufficient space.
1643         (#13432)
1644
1645 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1646
1647         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1648         items with submenus, destroy the item along with the submenu.
1649         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1650         properly.
1651
1652         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1653         later.
1654
1655 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1656
1657         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1658         the focus widget sometimes wasn't drawn with the default if there
1659         was no default widget.
1660
1661         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1662         unreference pixmaps. 
1663
1664         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1665         for some extra safety.
1666
1667 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1668
1669         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1670         the text of a cell to the old pointer value better, by
1671         copying the new text before freeing the old text. Some code
1672         cleanup. (#8079, Karl Nelson)
1673
1674 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1675
1676         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1677         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1678
1679 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1680
1681         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1682         item from a menu, check to see if it matches 
1683         menu->old_active_menu_item, and if so, unref and clear
1684         old_active_menu_item (Patch from Pavel Cisler)
1685
1686         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1687         menu_shell->active_menu_item, if it is the child being
1688         removed. (Patch based on that of Gene Ragan, #50337)
1689
1690 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1691
1692         * gdk/linux-fb/gdkselection-fb.c: 
1693         * gdk/linux-fb/gdkcolor-fb.c: 
1694         * gdk/linux-fb/gdkdrawable-fb2.c: 
1695         * gdk/linux-fb/gdkfont-fb.c: 
1696         * gdk/linux-fb/gdkim-fb.c: 
1697         * gdk/linux-fb/gdkinput.c: 
1698         * gdk/linux-fb/gdkkeyboard-fb.c: 
1699         * gdk/linux-fb/gdkmain-fb.c: 
1700         * gdk/linux-fb/gdkrender-fb.c: 
1701         A bunch of whitespace cleanup.
1702         
1703 2001-01-30  Havoc Pennington  <hp@pobox.com>
1704
1705         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1706         #ifdef GTK_ENABLE_BROKEN.
1707
1708         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1709         GTK_ENABLE_BROKEN just before including the broken headers.
1710         
1711         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1712         deprecated types registered.
1713
1714         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1715         we have to test the broken stuff.
1716
1717         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1718         
1719 2001-01-30  Havoc Pennington  <hp@redhat.com>
1720
1721         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1722         here where prev pointer was set to the wrong thing
1723
1724         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1725         (gtk_tree_path_is_descendant): new function
1726
1727         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1728         cached length
1729         (gtk_list_store_get_iter): don't modify iter if we can't get the
1730         path.
1731
1732         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1733         
1734         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1735         GtkTreeDragDest
1736
1737         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1738         was causing segfault
1739
1740         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1741         pointer to NULL
1742
1743         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1744
1745         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1746         on returning FALSE
1747         (gtk_list_store_iter_children): ditto
1748         (gtk_list_store_iter_nth_child): ditto
1749         (gtk_list_store_iter_nth_child): ditto
1750         (gtk_list_store_iter_parent): ditto
1751
1752         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1753         on iter->user_data != NULL instead of silently accepting it.
1754         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1755         we are returning TRUE.
1756         (gtk_tree_store_iter_children): ditto
1757         (gtk_tree_store_iter_nth_child): ditto
1758         (gtk_tree_store_iter_parent): ditto
1759         (gtk_tree_store_insert): remove handling of parent->user_data ==
1760         NULL, replace with parent == NULL       
1761
1762         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1763         and a comment explaining things
1764
1765         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1766         interface support to GtkTreeStore.
1767
1768         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1769         FALSE if no prev, fix
1770
1771         * gtk/gtktreeview.c (set_source_row): use a row reference
1772         (set_dest_row): use a row reference
1773
1774 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1775
1776         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1777         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1778         (gtk_tree_selection_select_iter): The same as above.
1779
1780 2001-01-26  Havoc Pennington  <hp@redhat.com>
1781
1782         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1783         which holds a handle to a specific row (particular set of values
1784         in the model, i.e. pointer-identity row).
1785
1786         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1787         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1788         Still need to use it for the src/dest row saved on the drag context.
1789
1790 2001-01-26  Havoc Pennington  <hp@redhat.com>
1791
1792         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1793
1794         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1795         not offset by TREE_VIEW_HEADER_HEIGHT
1796         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1797         TREE_VIEW_HEADER_HEIGHT
1798
1799         * configure.in (included_loaders): for me, --with-included-loaders
1800         generates the error "the specified loader yes does not exist",
1801         i.e. the arg defaults to "yes", so change test for value ""
1802         to test for value "yes", and include all loaders in that case.
1803
1804         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1805
1806         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1807         handle TREE_VIEW_VERTICAL_SEPARATOR
1808         (gtk_tree_view_bin_expose): fix to consider the row offset as
1809         pointing halfway into vertical separator.       
1810         (gtk_tree_view_draw_node_focus_rect): ditto
1811
1812         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1813         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1814         (TRUE) to be called.
1815
1816         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1817         debug mode where the invalid region is colored in on invalidate,
1818         so you can see the flicker and know whether your redraw code is 
1819         doing a good job.
1820
1821         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1822         tree window coordinates (clip rect is in tree window coords)
1823
1824         * gtk/Makefile.am: add gtktreednd.[hc]
1825
1826         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1827
1828         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1829         drag-and-drop data operations on a model (so we can set up tree
1830         drag-and-drop automatically)
1831
1832         * gtk/testgtk.c: Add a window to change sensitivity in the
1833         GtkLabel test; add a way to change the entry frame in GtkEntry
1834         test
1835
1836         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1837         (gtk_entry_get_has_frame): new functions to remove the frame
1838         around an entry
1839         (gtk_entry_size_request): shrink requisition if no frame
1840         (gtk_entry_draw_focus): don't draw frame if no frame
1841
1842         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1843         checks inside a cell renderer
1844         (gtk_default_draw_option): ditto for options
1845
1846         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1847         children from the alignment, not the button
1848         (gtk_tree_view_column_init): ref/sink the column, to emulate
1849         GObject refcounting.
1850
1851         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1852         
1853         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1854         Use theme functions to draw the toggles 
1855
1856         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1857
1858         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1859         GdkPangoAttrEmbossed to use in rendering insensitive text
1860
1861         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1862
1863         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1864         using new GDK features
1865         
1866 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1867
1868         * gtk/gtkimage.c:
1869         Splitted gtk_image_clear into gtk_image_clear() and
1870         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1871         to avoid leaks.
1872
1873         * gtk/gtklabel.c (set_markup):
1874         Don't leak text.
1875
1876         * gtk/gtktextlayout.c:
1877         Always free display->shaped_objects.
1878
1879         * gtk/testgtk.c (create_clist):
1880         Don't leak custom style.
1881
1882 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1883
1884         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1885         Don't leak image. Simplify using gdk_colormap_query_color().
1886         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1887
1888         * linux-fb/gdkcolor-fb.c:
1889         Implemented gdk_colormap_query_color.
1890
1891 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1892
1893         * linux-fb/gdkcursor-fb.c:
1894         Don't leak built-in cursors.
1895
1896         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1897         Don't leak tmp_points.
1898
1899         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1900         Don't modify desc. Don't leak font if the PangoFont
1901         isn't found.
1902         
1903         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1904         Free dash_list.
1905
1906         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1907         Don't leak string.
1908         
1909 2001-01-20  Havoc Pennington  <hp@pobox.com>
1910
1911         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1912         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1913         me, matches Pango
1914
1915 2001-01-22  Havoc Pennington  <hp@redhat.com>
1916
1917         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1918
1919         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1920
1921         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1922         Remove, move back to gdk-pixbuf
1923
1924         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1925         to all the word functions
1926
1927         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1928         before doing anything on NULL layout or if we don't have the focus
1929
1930         * gtk/testtext.c (fill_example_buffer): "justification"
1931
1932         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1933         to be called "justification" not "justify"
1934
1935         * demos/gtk-demo/textview.c (create_tags): "justification"
1936         
1937         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1938
1939 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1940
1941         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1942         Don't leak visible_region. Use visible_region instead of region.
1943         
1944         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1945         Don't do extra gdk_drawable_ref(). This is not X.
1946         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1947         gdk_fb_focused_window is ref:ed.
1948         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1949         windows.
1950
1951 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1952
1953         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1954         Don't leak the PangoFontDescriptor.
1955
1956 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1957
1958         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1959         when not realized.
1960         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1961         (gtk_tree_view_realize): add scroll_to support
1962         (gtk_tree_view_finalize): add a finalize method.  Populate.
1963         (gtk_tree_view_insert_column): ref and sink the column.
1964         (gtk_tree_view_append_column): ref and sink the column.
1965         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1966         individual nodes.  Should make the code much more efficient, if
1967         actually used.
1968
1969 2001-01-19  Havoc Pennington  <hp@redhat.com>
1970
1971         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1972         byte_offset variable was being used to mean both "offset into
1973         layout" and "offset into buffer line" which was no longer true
1974         with addition of preedit string; fix
1975
1976 2001-01-19  Havoc Pennington  <hp@redhat.com>
1977
1978         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1979
1980         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1981         function
1982
1983         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1984         implement
1985
1986         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1987         scroll_to_cell, matches TextView scroll functions better
1988         (gtk_tree_view_tree_to_widget_coords): new function
1989         (gtk_tree_view_widget_to_tree_coords): new function
1990         (gtk_tree_view_get_visible_rect): new function
1991         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1992         (gtk_tree_view_draw_node_focus_rect): new function moved from
1993         draw_focus, also, use width of bin_window as width of the focus
1994         rect
1995         (gtk_tree_view_expand_row): fix bug where it didn't recognize
1996         already-expanded rows
1997         (gtk_tree_view_get_cell_rect): new function
1998         (gtk_tree_view_get_path_at_pos): return the click position
1999         relative to the passed-in cell
2000         (gtk_tree_view_set_expander_column): new function
2001
2002         * configure.in: remove gtk-config-2.0 chmod
2003
2004         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2005         and properly handle drags with targets we don't understand
2006         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2007         scrolling anyway
2008         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2009         mark invisible
2010
2011         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2012         function
2013         (gtk_drag_dest_get_target_list): new function
2014         (gtk_drag_dest_set_target_list): new function
2015         
2016         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2017
2018         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2019         related to drag-and-drop
2020
2021 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2022
2023         * gdk/linux-fb/gdkprivate-fb.h:
2024         Define EMULATE_GDKFONT.
2025         Add extra pango_font stuff to GfkFontPrivate.
2026         
2027         * gdk/linux-fb/gdkdrawable-fb2.c:
2028         * gdk/linux-fb/gdkfont-fb.c:
2029         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2030         emulation using PangoFont.
2031
2032 2001-01-17  Havoc Pennington  <hp@pobox.com>
2033
2034         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2035         all the non-deprecated set_foo functions. Added missing object
2036         properties, and added g_object_notify() to setters. 
2037         Wrote docs.
2038         
2039 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2040
2041         * gtk/gtkmain.c
2042         * gtk/gtkrc.c: (Win32) Use the new
2043         g_win32_get_package_installation_(sub)directory() functions.
2044
2045         * config.h.win32.in: New file.
2046         
2047         * config.h.win32: Removed.
2048
2049         * configure.in: Output config.h.win32.
2050
2051         * Makefile.am: Add it to EXTRA_DIST.
2052
2053         * gtk/gtk.def: Update.
2054
2055 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2056
2057         * gtk/gtklabel.c (gtk_label_size_request): Set the
2058         attributes onto the PangoLayout even if they are newly
2059         created from label->pattern.
2060
2061 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2062
2063         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2064
2065         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2066         structures in functions. Fixes bug where gtk_dataset_*
2067         was accidentally still being used in one place, causing
2068         every dest side event to be treated independently.
2069
2070         * gtk/gtkdnd.c: Remove last vestages of handling
2071         ::draw (fixes warning)
2072         
2073         * gtk/gtkentry.[ch]: Add drag and drop support.
2074
2075         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2076         new function gtk_check_drag_threshhold() for checking
2077         to check if (dx,dy) has exceeded the threshhold for starting
2078         a drag and use it everywhere.
2079
2080 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2081
2082         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2083         add -I{includedir}/gtk-2.0.
2084
2085         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2086         gdk/gdk-pixbuf.h: Doc fixups.
2087         
2088         * gtk/gtkobject.h: Remove trailing , from enum
2089
2090 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2091
2092         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2093         Doh! Mixed up x and y.
2094
2095         * gdk/linux-fb/gdkglobals-fb.c:
2096         Removed gdk_fb_pointer_grab_window_events,
2097         added _gdk_fb_pointer_grab_owner_events and
2098         _gdk_fb_keyboard_grab_owner_events.
2099
2100         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2101         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2102         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2103         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2104         Send crossing events after ungrab finished.
2105         (gdk_keyboard_grab): Set ..._owner_events
2106         (type_masks): Move out of function.
2107         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2108         gdk_fb_keyboard_event_window): New functions, return the
2109         window an event should be targeted at. Handles grabs and
2110         event propagation. Can return NULL.
2111         (gdk_event_make): Remove event_mask checking. Now always
2112         returns an event.
2113                 
2114         * gdk/linux-fb/gdkkeyboard-fb.c:
2115         * gdk/linux-fb/gdkproperty-fb.c:
2116         * gdk/linux-fb/gdkselection-fb.c:
2117         Use new event_window/gdk_event_make() behaviour.
2118         
2119         * gdk/linux-fb/gdkmouse-fb.c:
2120         Use new event_window/gdk_event_make() behaviour.
2121         Only send motion events if in the same window.
2122         If grabbed, use cursor from window if sibling of grabbed
2123         window, and cursor from grabbed window otherwise.
2124
2125         * gdk/linux-fb/gdkprivate-fb.h:
2126         Update gdk_fb_window_send_crossing_events, gdk_event_make
2127         and grab varaible declarations. Add gdk_fb_*_event_window().
2128
2129         * gdk/linux-fb/gdkwindow-fb.c:
2130         Use new event_window/gdk_event_make() behaviour.
2131         Keep correct track of focus window.
2132         (gdk_window_set_events): Set all specific button motion masks
2133         if GDK_BUTTON_MOTION_MASK set.
2134
2135         * gtk/gtkdnd.c (gtk_drag_update):
2136         Free info->last_event if gdk_drag_motion returned FALSE.
2137
2138 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2139
2140         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2141         Eliminate redraws when input-only windows are shown or
2142         hidden. Thanks to jpe@archaeopteryx.com.
2143
2144 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2145
2146         * docs/faq/gtk-faq.sgml: FAQ update:
2147           - Update to bugzilla
2148           - Add GTK+ and security/SUID/SGID
2149           - Add DnD question
2150
2151 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2152
2153         * gdk/linux-fb/gdkdnd-fb.c:
2154         Some cleanups.
2155         
2156 2001-01-15  Havoc Pennington  <hp@pobox.com>
2157
2158         * tests/testtreeview.c: add test stuff for CellRendererToggle
2159
2160         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2161         accessor
2162
2163         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2164         only toggle on button press (would do release like GtkButton, but
2165         we'd need implicit grab code for treeview cells)
2166
2167 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2168
2169         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2170
2171         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2172         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2173
2174         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2175         to g_{locale,filename}_{to,from}_utf8 to match current API.
2176
2177         * gtk/makefile.msc.in (gtk_OBJECTS)
2178         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2179
2180         * gtk/gtk.def: Update.
2181
2182 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2183
2184         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2185         implementaion that more closely mimics the events that an X server
2186         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2187         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2188         with nested preview widgets, for instance, more responsive when
2189         you move the mouse quickly into them.
2190         (find_window_for_pointer_event): Make it actually compile.
2191         (gdk_event_translate): Set send_event to the value of
2192         InSendMessage (). This doesn't really mean the same as X11's
2193         send_event flag, but is close enough, says jpe@archaeopteryx.com
2194
2195 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2196
2197         * gdk/linux-fb/gdkdnd-fb.c:
2198         Implemented drag and drop.
2199         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2200         when it tries to free and then copy the same event (info->last_event).
2201         I am not sure about why this happens, but will continue looking.
2202
2203 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2204
2205         * gdk/linux-fb/gdkwindow-fb.c:
2206         Use gdk_window_invalidate_rect instead of
2207         gdk_window_invalidate_rect_clear to minimise flashing.
2208         When hiding windows you need to clear the root window though.
2209
2210 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2211
2212         * gdk/linux-fb/gdkdrawable-fb2.c:
2213         For optization, add an full_shapes argument to gdk_fb_clip_region.
2214         If this is false, only the cliprects of the shapes are used.
2215
2216         * gdk/linux-fb/gdkprivate-fb.h:
2217         Export gdk_fb_window_peek_shape.
2218         Add full_shapes to gdk_fb_clip_region.
2219
2220         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2221         When moving a window, don't clear everything under the it, just the
2222         root window. Makes stuff faster and flash less.
2223         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2224         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2225         offset of the shape.
2226         
2227
2228 2001-01-12  Havoc Pennington  <hp@redhat.com>
2229
2230         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2231         current invalid region, fixes redraw bug while scrolling the 
2232         text widget
2233
2234         * gtk/gtktextview.c, gtk/gtktextview.h:
2235         Rearrange the scrolling/validation/etc. code in a major way, 
2236         so it seems to make sense to me. Probably isn't genuinely that
2237         much better, but...
2238
2239         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2240         notifies
2241
2242         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2243
2244 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2245
2246         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2247         Hide mouse pointer while rotation. Show it afterwards.
2248
2249 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2250
2251         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2252         windows in consideration when generating clip region.
2253
2254         * gdk/linux-fb/gdkfb.h:
2255         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2256
2257         * gdk/linux-fb/gdkprivate-fb.h:
2258         Add shape to GdkWindowFBDatat.
2259         exported gdk_fb_window_get_abs_shape().
2260         removed gdk_fb_draw_lines declaration.
2261
2262         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2263         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2264         send focus changes when there is a grabbed window.
2265         (gdk_window_get_pointer): Handle shaped windows.
2266         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2267         (gdk_fb_window_peek_shape): Returns the shape for a window,
2268         handles GDK_FB_USE_CHILD_SHAPE.
2269         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2270         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2271         (gdk_window_shape_combine_mask): Implement.
2272
2273         * gtk/gtkwindow-decorate.c:
2274         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2275         setting the shape of a window makes the window transparent.
2276
2277 2001-01-11  Havoc Pennington  <hp@redhat.com>
2278
2279         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2280
2281 2001-01-10  Havoc Pennington  <hp@redhat.com>
2282
2283         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2284         add this function, bug 40251
2285
2286         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2287         of type macro   
2288
2289 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2290
2291         * acconfig.h:
2292         Added ENABLE_SHADOW_FB
2293
2294         * configure.in:
2295         Added --disable-shadowfb
2296
2297         * gdk/linux-fb/gdkcursor-fb.c:
2298         Update shadowfb when updating cursor
2299
2300         * gdk/linux-fb/gdkdrawable-fb2.c:
2301         Added wrappers for shadowfb that calls  the normal drawable
2302         methods, but calls gdk_shadow_fb_update(bounding box) when
2303         GdkWindows are drawed to.
2304         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2305         which also returns the bounding box.
2306
2307         * gdk/linux-fb/gdkfb.h:
2308         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2309
2310         * gdk/linux-fb/gdkgeometry-fb.c:
2311         Update shadowfb when scrolling window.
2312
2313         * gdk/linux-fb/gdkglobals-fb.c:
2314         Add _gdk_fb_screen_angle.
2315         
2316         * gdk/linux-fb/gdkkeyboard-fb.c:
2317         Test code for screen rotation. Shift-F2 in the xlate driver
2318         rotates the screen.
2319
2320         * gdk/linux-fb/gdkmain-fb.c:
2321         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2322
2323         * gdk/linux-fb/gdkmouse-fb.c:
2324         Use fb_width/height instead of modeinfo.xres/yres.
2325
2326         * gdk/linux-fb/gdkprivate-fb.h:
2327         Added fb_men, fb_width, fb_height & fb_stride. When using
2328         shadow fb these can differ from the framebuffer stuff.
2329         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2330         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2331         _gdk_fb_screen_angle. Removed CM, RP.
2332
2333         * gdk/linux-fb/gdkrender-fb.c:
2334         Added code for shadowfb handling and screen rotation using
2335         shadowfb.
2336
2337         * gdk/linux-fb/gdkwindow-fb.c:
2338         Use fb_mem, fb_stride, fb_width, fb_height.
2339         Added recompute_rowstride to reset the rowstride of all windows.
2340         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2341         window abs positions and window rowstrides. Usefull when the
2342         rotation has changed.
2343
2344 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2345
2346         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2347
2348 2001-01-10  Havoc Pennington  <hp@redhat.com>
2349
2350         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2351         where sibling == iter
2352         (gtk_tree_store_insert_after): handle sibling == iter
2353         (gtk_tree_store_prepend): remove stamp checks
2354         (gtk_tree_store_insert_before): ditto
2355         (gtk_tree_store_append): ditto
2356         (gtk_tree_store_get_path): ditto
2357         (gtk_tree_store_get_value): ditto
2358         (gtk_tree_store_iter_has_child): ditto
2359         (gtk_tree_store_iter_n_children): ditto
2360         (gtk_tree_store_iter_nth_child): ditto
2361         (gtk_tree_store_insert_after): ditto
2362         (gtk_tree_store_is_ancestor): ditto
2363         (gtk_tree_store_iter_depth): ditto
2364         (gtk_tree_store_insert_before): assert that sibling's parent is
2365         the same as the passed-in parent
2366         (gtk_tree_store_insert_after): assert that sibling's parent is
2367         the same as the passed-in parent
2368
2369         
2370         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2371         function to get the first iterator in a model
2372         
2373         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2374         conventionally the "root" in this sense is just NULL afaict.
2375
2376         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2377         where sibling == iter
2378         (gtk_list_store_insert_after): handle case where sibling == iter
2379
2380         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2381         automated tests for ListStore, TreeStore
2382
2383         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2384         (gtk_list_store_insert): update tail pointer, and fix it to work
2385         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2386         (gtk_list_store_append): use tail to be faster
2387         (gtk_list_store_prepend): fix it, update tail pointer
2388         (gtk_list_store_insert_after): fix it, update tail pointer
2389
2390         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2391         the list
2392
2393 2001-01-09  Havoc Pennington  <hp@redhat.com>
2394
2395         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2396         is NULL due to a pending resize
2397
2398         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2399         column width to values less than 1
2400
2401         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2402         width to be between min/max width, and still set the width 
2403         even if autosize is turned on, so the tree view can use this 
2404         function in order to autosize.
2405         (gtk_tree_view_column_init): set initial width to 1 not 0
2406
2407         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2408         setter function to modify column width, so we get notification
2409         (gtk_tree_view_insert_iter_height): ditto
2410         (gtk_tree_view_calc_size): ditto
2411         (gtk_tree_view_check_dirty): ditto
2412
2413         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2414         properties to change all the interesting attributes of the tree
2415         view column.
2416         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2417         (gtk_tree_view_column_get_clickable): add
2418         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2419         attributes; assume a cell renderer with equivalent object
2420         properties has been swapped in. Do g_object_notify().
2421         (gtk_tree_view_column_set_visible): g_object_notify
2422         (gtk_tree_view_column_get_sizing): rename from get_col_type
2423         (gtk_tree_view_column_set_sizing): g_object_notify
2424         (gtk_tree_view_column_set_width): add g_object_notify
2425         (gtk_tree_view_column_set_min_width): ditto
2426         (gtk_tree_view_column_set_max_width): ditto
2427         (gtk_tree_view_column_set_title): ditto
2428         (gtk_tree_view_column_set_clickable): ditto
2429         (gtk_tree_view_column_set_widget): ditto
2430         (gtk_tree_view_column_set_justification): ditto
2431
2432 2001-01-09  Havoc Pennington  <hp@redhat.com>
2433
2434         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2435         there are no rows in the model
2436
2437         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2438         NULL, then return the start of the list
2439
2440         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2441         if we can't get any rows from an empty model 
2442
2443         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2444         extraneous * after function pointer typedef usage
2445
2446         * Makefile.am: don't specify full path to cp and rm
2447
2448         * gtk/gtkcellrenderertextpixbuf.c
2449         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2450         NULL before dereferencing, fixes a segfault that happened from
2451         time to time
2452
2453         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2454         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2455         and reindent the function
2456         (gtk_cell_renderer_pixbuf_get_size): indentation
2457
2458         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2459         we quit it
2460         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2461         (gtk_dialog_set_default_response): New function, to set default
2462         button
2463         (gtk_dialog_set_response_sensitive): New function, to set 
2464         sensitivity of buttons
2465
2466         * gtk/gtkcellrendererpixbuf.c
2467         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2468         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2469
2470         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2471         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2472         also boxed types.
2473         (_gtk_tree_data_list_value_to_node): ditto
2474
2475         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2476         --gtk-debug=tree
2477
2478         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2479
2480         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2481
2482 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2483
2484         * gdk/win32/gdkevents-win32.c: Implement better mouse
2485         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2486         (find_window_for_pointer_event): New function.
2487         (gdk_event_translate): Use it when handling mouse events.
2488
2489 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2490
2491         * configure.in:
2492         Added --with-included-loaders option
2493
2494         * gdk-pixbuf/Makefile.am:
2495         * gdk-pixbuf/gdk-pixbuf-io.c:
2496         Add support for including selected gdk-pixbuf loaders only.
2497
2498         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2499         gtk_window_set_has_frame):
2500         Added inline documentation.
2501
2502         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2503         * docs/reference/gdk/tmpl/windows.sgml:
2504         Added inline documentation.
2505
2506 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2507
2508         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2509         realizing buttons that have already been realized.
2510
2511 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2512
2513         * tests/testtreeview.c (main): Show menu items before adding to
2514         option menu.
2515
2516         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2517         around if we kill them.
2518
2519         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2520         Return if we pass in a NULL model.
2521
2522 2001-01-08  Havoc Pennington  <hp@redhat.com>
2523
2524         * tests/testtreeview.c: hack on this some
2525
2526         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2527         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2528         list
2529         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2530
2531         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2532         functions
2533
2534 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2535
2536         * gtk/gtkwindow-decorate.[hc]:
2537         * gtk/Makefile.am:
2538         New files. Contains an implementation of a minimal WM for
2539         linux-fb.
2540
2541         * gtk/gtkwindow.h:
2542         Add the possibility for GtkWindows to specify a frame. This
2543         is used for the window decoration code, but could concievably
2544         be used for X programs too (xmms style windows).
2545         GtkWindow->frame is the toplevel window if the window is framed.
2546         The signal frame_event gets all events that are targeted to
2547         GtkWindow->frame.
2548         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2549         
2550         * gtk/gtkwindow.c:
2551         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2552         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2553
2554 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2555
2556         * docs/README.linux-fb:
2557         Correct filename ~/.pangoft2_aliases
2558
2559         * gdk/gdkwindow.h:
2560         Added new function gdk_window_get_decorations.
2561
2562         * gdk/linux-fb/gdkfb.h:
2563         Removed _gdk_window_get_decorations declaration.
2564         Renamed _gdk_window_set_child_handler to
2565         gdk_fb_window_set_child_handler.
2566
2567         * gdk/linux-fb/gdkwindow-fb.c:
2568         Renamed _gdk_window_set_child_handler to
2569         gdk_fb_window_set_child_handler.
2570
2571         * gdk/x11/gdkwindow-x11.c:
2572         New function gdk_window_get_mwm_hints().
2573         Implemented gdk_window_get_decorations.
2574
2575         * docs/reference/gdk/tmpl/windows.sgml:
2576         * docs/reference/gdk/gdk-sections.txt:
2577         Added gdk_window_get_decorations docs.
2578         
2579 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2580
2581         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2582         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2583         gdk_fb_window_send_crossing_events):
2584         Possibly send focus events when the mouse moves from one
2585         window to another.
2586
2587 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2588
2589         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2590         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2591         to match current API.
2592
2593         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2594         environment variable is set, don't call g_error when on a
2595         palettized (PseudoColor) display. Some people want to use GTK+ 
2596         in 256-colour mode even though works only partially.
2597
2598         * gdk/gdk.def
2599         * gtk/gtk.def
2600         * gtk/makefile.mingw.in: Update.
2601
2602 2001-01-05  Havoc Pennington  <hp@redhat.com>
2603
2604         * tests/testtreeview.c: hack on this a bit
2605
2606         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2607         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2608
2609         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2610         was spelled incorrectly
2611         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2612
2613         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2614         from gtk_tree_view_set_headers_active   
2615
2616         * gtk/gtktexttag.c:
2617         (gtk_text_tag_get_property): handle PROP_DIRECTION
2618         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2619         properties, bug 40235
2620
2621         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2622         forward_to_line_end
2623
2624 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2625
2626         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2627         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2628         for unicode,locale,filename conversion functions.
2629
2630 2001-01-05  Havoc Pennington  <hp@redhat.com>
2631
2632         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2633         broken if called on the first position in the buffer.
2634
2635         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2636         forward_to_delimiters to be called only if we aren't already at
2637         the delimiters.
2638
2639 2001-01-05  Havoc Pennington  <hp@redhat.com>
2640
2641         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2642
2643 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2644
2645         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2646         colormap in here. Sync from X port.
2647         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2648         Sync from X port.
2649         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2650         This happens now and then, and i don't think it is a bug.
2651         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2652         != endpoint.
2653         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2654         GDK_LINE_SOLID.
2655
2656         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2657         some of the fields filled in at least.
2658
2659         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2660         miLineArcD is no more, remove it from the function definition.
2661
2662 2001-01-04  Havoc Pennington  <hp@redhat.com>
2663
2664         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2665         this
2666
2667         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2668         user_data instead of tree_node
2669
2670         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2671         TREE_VIEW_COLUMN_SIZE
2672
2673         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2674         "size" field to "width" finishes bug 40061
2675
2676         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2677         for bitfields, bug 40268
2678
2679 2001-01-04  Havoc Pennington  <hp@redhat.com>
2680
2681         Rename some stuff:
2682         
2683         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2684
2685         s/GtkModelSimple/GtkTreeModelSimple/g;
2686         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2687         s/gtk_model_simple/gtk_tree_model_simple/g;
2688         s/gtkmodelsimple/gtktreemodelsimple/g;
2689
2690         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2691
2692         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2693         s/column_set_col_type/column_set_sizing/g;
2694
2695         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2696         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2697
2698         s/GtkCellRendererType/GtkCellRendererState/g;
2699         
2700         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2701         (gtk_cell_renderer_toggle_class_init): change "state" property to
2702         "active", to match GtkToggleButton
2703         (gtk_cell_renderer_toggle_get_active): new function, bug
2704         40269
2705         (gtk_cell_renderer_toggle_set_active): new function
2706         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2707         state through gtk_cell_renderer_set_active
2708
2709 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2710
2711         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2712         temporarily until they work again.  Brought up to date with
2713         changes in the model.
2714         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2715         model.
2716
2717 2001-01-04  Havoc Pennington  <hp@redhat.com>
2718
2719         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2720         equal to the line length, then position iterator before paragraph 
2721         separators. Fixes crash reported by Mikael Hermansson when
2722         pressing left arrow from the start of a line.   
2723
2724         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2725         about byte indexes off the end
2726         (iter_set_from_char_offset): add g_error about char offsets
2727         off the end
2728
2729 2001-01-03  Havoc Pennington  <hp@redhat.com>
2730
2731         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2732
2733         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2734         of private functions; remove inclusion of private headers.
2735
2736         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2737         function, so we don't need private functions in gtktextdisplay.c
2738
2739         * gtk/gtktextiterprivate.h: underscore-ification
2740
2741         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2742         to instead say "only useful to implement widgets"
2743
2744         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2745         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2746         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2747
2748         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2749         This function was completely broken
2750
2751         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2752
2753         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2754
2755         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2756
2757         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2758
2759         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2760
2761         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2762
2763         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2764         gtk_paint_layout
2765
2766         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2767         gtk_paint_layout
2768
2769         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2770         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2771         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2772         which were not implemented.     
2773
2774         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2775         insert_pixbuf signal. Rename delete_text to delete_range since it
2776         also deletes pixbufs and child anchors. This almost closes bug
2777         40245 (still need to deal with child anchors)
2778
2779         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2780         insert_pixbuf, change signal names as appropriate, change types of
2781         signals taking marks/tags to have the specific type, not just
2782         G_TYPE_OBJECT
2783         
2784         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2785         closes bug 40051
2786
2787         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2788         unnecessary remove_contents() call
2789         (gtk_option_menu_class_init): add a "changed" signal, closes
2790         bug 40039
2791         (gtk_option_menu_update_contents): emit "changed" if the 
2792         active menu item changes
2793
2794         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2795         cast to GtkObject, reported by Jonas Borgstrom
2796         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2797         we can't do stuff with side effects in finalize. Instead, spew a
2798         warning if the loader isn't closed.
2799
2800         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2801         colormap in here, non-X ports probably need to sync to this change
2802
2803         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2804         assertion that colormap != NULL, you can set the colormap to NULL
2805         if you like.
2806         
2807         * Makefile.am: remove gtk-config-2.0
2808
2809         * configure.in: Use pkg-config to locate GLib. Remove
2810         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2811         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2812         Use pkg-config to locate Pango. Output correct Pango libs to
2813         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2814
2815         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2816         files
2817         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2818         X11 pc files
2819
2820         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2821         unref from here
2822
2823 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2824
2825         * configure.in:
2826         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2827
2828 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2829
2830         * gtk/gtktextlayout.c
2831         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2832         variable when moving back onto a single line.
2833
2834 2001-01-01  Havoc Pennington  <hp@redhat.com>
2835
2836         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2837
2838         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2839
2840         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2841         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2842
2843 2001-01-01  Havoc Pennington  <hp@redhat.com>
2844
2845         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2846
2847         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2848         GtkTextAttributes
2849
2850         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2851         #40246
2852         (gtk_text_attributes_copy_values): rename from 
2853         gtk_text_attributes_copy
2854         (gtk_text_attributes_copy): a more standard GTK copy function, 
2855         which returns a new object
2856
2857 2001-01-01  Havoc Pennington  <hp@redhat.com>
2858
2859         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2860         
2861         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2862         don't fill in tree_view->priv->selection, kind of an unexpected
2863         side effect
2864
2865         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2866         gtkintl.h
2867         
2868         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2869         gtkintl.h
2870         (gtk_cell_renderer_get_property): remove calls to g_value_init
2871
2872         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2873         gtkintl.h
2874
2875         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2876         and include gtkintl.h
2877         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2878         property names
2879
2880         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2881         GtkTreeSelection
2882         (_gtk_tree_selection_new_from_with_view): rename, return
2883         GtkTreeSelection
2884         (_gtk_tree_selection_set_tree_view): rename with uscore
2885         (gtk_tree_selection_get_selected): fill in the "model" out param
2886         first, so it gets filled in even if we return at the top of the 
2887         function
2888         (gtk_tree_selection_real_select_all): add a comment and an else{}
2889         to clarify this a bit
2890         (gtk_tree_selection_real_unselect_all): add the same else{}
2891
2892         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2893         set_tree_view to have underscore prefixes, move them to the
2894         private header, fix return type of new_with_tree_view
2895         (struct _GtkTreeSelection): mark struct
2896         fields private  
2897
2898         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2899         GtkTreeModelFlags, not a guint
2900         (gtk_tree_path_prev): return gboolean not gint
2901         (gtk_tree_path_up): return gboolean not gint
2902
2903         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2904         return GtkTreeModelFlags, not a guint
2905
2906         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2907         that child model is non-null before unrefing it
2908         (g_value_int_compare_func): make this a qsort compare func, not 
2909         a boolean predicate
2910
2911         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2912         (add -umn to the end), and mark it unimplemented
2913         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2914         I don't see what it's for - doesn't the model always sort itself?
2915         (gtk_tree_model_sort_set_compare): this had the wrong signature
2916
2917         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2918         Fix the docs to say that it destructively replaces existing
2919         attributes (previously said that it added attributes).
2920         (gtk_tree_view_column_set_visible): canonicalize bool before
2921         equality testing. Also, check for realization before
2922         hiding/showing the tree_column->window; if this window could exist
2923         before realization, then it's busted and needs fixing, we can't 
2924         create GDK resources pre-realization. Also, remove
2925         superfluous queue_resize(), since set_size() does that for us.
2926         (gtk_tree_view_column_set_col_type): check realization before 
2927         using tree_column->window
2928
2929         * gtk/gtktreedatalist.c: fix filename in copyright notice
2930
2931 2000-12-31  Havoc Pennington  <hp@pobox.com>
2932
2933         * gtk/gtktextview.c: Rearrange all the
2934         scroll-while-dragging-or-selecting code to be different, not
2935         necessarily better. ;-)
2936         (gtk_text_view_scroll_to_mark): Change this
2937         function to take within_margin as a fraction instead of a pixel
2938         value, and to take alignment arguments (indicating where to align 
2939         the mark inside the visible area)
2940         
2941         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2942         to GtkObject
2943
2944         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2945         behavior so that offsets past the end of the line are not 
2946         allowed, and an offset equal to the line length moves the iterator
2947         to the next line
2948         (gtk_text_iter_set_line_index): make parallel change
2949         (gtk_text_iter_get_bytes_in_line): add this function
2950         
2951         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2952         of byte indexes off the end of the line; byte index at the end of
2953         the line now returns FALSE and doesn't fill in the requested
2954         values, byte index past the end of the line is an error.  Also,
2955         don't allow -1 offset anymore, since its meaning is unclear.
2956
2957         This change exposes some bug in visual cursor motion, where we
2958         end up with a huge invalid byte index; needs fixing. Symptom of 
2959         bug is a crash when you hit up arrow.
2960         
2961         (_gtk_text_line_char_locate): match the change to byte_locate
2962
2963         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2964         from start of line properly. fixes bug reported by Mikael
2965         Hermansson where backspace would delete all text before the
2966         cursor.
2967
2968 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2969
2970         * gdk/win32/gdkwindow-win32.c
2971         (gdk_window_impl_win32_get_visible_region): New function, as in
2972         the X11 backend.
2973         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2974         instead of duplicating the same code here.
2975
2976         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2977         GDK_COLORMAP macro.
2978
2979         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2980         destroy function.
2981         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2982         access that.
2983
2984         * gtk/gtk.def: Update.
2985
2986         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2987
2988 2000-12-30  Havoc Pennington  <hp@pobox.com>
2989
2990         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2991         colormap on input only windows, to avoid special cases all over
2992         the code for these windows.
2993
2994 2000-12-26  Tor Lillqvist  <tml@iki.fi>
2995
2996         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
2997         we are on a palettized display ("PseudoColor" in X11), as the code
2998         for that doesn't work anyway, and never has.
2999
3000 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3001
3002         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3003         Don't use isprint() for chars > 255.
3004
3005 2000-12-21  Havoc Pennington  <hp@redhat.com>
3006
3007         * tests/testtreeview.c: more work
3008
3009 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3010
3011         * docs/README.linux-fb:
3012         Update the docs to the new pangoft2 way.
3013
3014 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3015
3016         * configure.in:
3017         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3018         pango version.
3019         Remove modules/linux-fb/Makefile.
3020
3021         * gdk/linux-fb/gdkdrawable-fb2.c:
3022         Render glyphs using freetype.
3023
3024         * gdk/linux-fb/gdkfb.h:
3025         Add new fb-specific functions needed for managing windows.
3026
3027         * gdk/linux-fb/gdkmain-fb.c:
3028         Remove gdk_font_init/fini() calls.
3029
3030         * gdk/linux-fb/gdkpango-fb.c:
3031         Remove old implementation. Use pangoft2 instead.
3032
3033         * gdk/linux-fb/gdkprivate-fb.h:
3034         Remove PangoFBFont and related stuff.
3035
3036         * gdk/linux-fb/gdkwindow-fb.c:
3037         Implement drawable->get_visible_region.
3038         Implement support for _gdk_window_set_child_handler () and
3039         _gdk_window_get_decorations().
3040
3041         * modules/Makefile.am:
3042         Remove linux-fb subdir.
3043
3044         * modules/linux-fb/*:
3045         Removed all.
3046         
3047 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3048
3049         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3050         calls, as they are no longer needed.
3051
3052         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3053         
3054         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3055         figure out how to emit a signal on an interface.
3056
3057 2000-12-20  Havoc Pennington  <hp@redhat.com>
3058
3059         * tests: new directory to contain tests, gtk/test* should move
3060         here sometime (with appropriate on-cvs-server hackery)
3061
3062         * tests/testtreeview.c, tests/Makefile.am: a test
3063         
3064         * configure.in (AC_OUTPUT): add tests/Makefile
3065
3066         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3067         and "invisible_set" which were missing
3068
3069         * gtk/gtkrbtree.h: some cheesy indentation fix
3070         
3071 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3072
3073         * gtk/gtkinvisible.c (gtk_invisible_realize):
3074         Attach the style to the window so that the style it is not
3075         leaked when unrealizing the window.
3076
3077 2000-12-18  Havoc Pennington  <hp@redhat.com>
3078
3079         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3080         begin/end user action where appropriate
3081         (gtk_text_view_commit_handler): add begin/end user action
3082
3083         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3084         bracket interactive operations with begin/end user action pair.
3085         
3086         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3087         "interactive" arg from insert_text and delete_text signals.
3088         Add begin_user_action, end_user_action signals
3089         (gtk_text_buffer_begin_user_action): 
3090         (gtk_text_buffer_end_user_action): New functions to delimit 
3091         a user-visible action
3092
3093         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3094         signals.
3095         
3096 2000-12-18  Havoc Pennington  <hp@redhat.com>
3097
3098         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3099         was pretty non-working.
3100
3101         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3102         by passing the length to g_utf8_validate().
3103
3104 2000-12-16  Havoc Pennington  <hp@pobox.com>
3105
3106         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3107         Port to GObject, can go back in gdk-pixbuf after setting up 
3108         a gdk-pixbuf-marshal.h header over there.
3109
3110         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3111         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3112         args
3113         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3114         set
3115         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3116         here, do it when we create the buttons later
3117         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3118         (gtk_tree_view_map): paranoia checks that column->button is shown 
3119         and unmapped
3120         (gtk_tree_view_size_request): only request visible children.
3121         Move header size calculation in here, for cleanliness, and 
3122         to maintain invariants for child widgets if we eventually 
3123         let users set different children inside the buttons
3124         (gtk_tree_view_map_buttons): factor out code to map buttons,
3125         since it was being called several times
3126         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3127         windows instead of just moving them; their height may change 
3128         if we allow random widgets in there, or the theme changes.
3129         (gtk_tree_view_size_allocate): move button size allocation 
3130         above emitting the scroll signals, to ensure a sane state when we
3131         hit user code
3132         (gtk_tree_view_button_release): remove queue_resize after
3133         tree_view_set_size(), set_size() will handle any resize queuing
3134         that's needed
3135         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3136         draw_focus goo
3137         (gtk_tree_view_focus): use gtk_get_current_event() and
3138         gdk_event_get_state()
3139         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3140         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3141         semicolon
3142         (gtk_tree_view_create_button): show the button here
3143         (gtk_tree_view_button_clicked): actually emit the clicked signal
3144         on the column
3145         (_gtk_tree_view_set_size): return right away if the size is
3146         unchanged, as a cheesy optimization
3147         (gtk_tree_view_setup_model): rename set_model_realized to 
3148         setup_model to match the flag that indicates whether we've 
3149         called it
3150         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3151         exist, because set_scroll_adjustment does that and it shouldn't
3152         matter what order you call these in
3153         (gtk_tree_view_get_vadjustment): ditto
3154         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3155         for paranoia
3156         (gtk_tree_view_set_headers_visible): call
3157         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3158         (gtk_tree_view_append_column): clarify whether the return value
3159         is the count of columns before or after, and do the increment 
3160         separately from the return statement so you can tell from the code.
3161         (gtk_tree_view_remove_column): ditto
3162         (gtk_tree_view_insert_column): ditto
3163         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3164         outside the existing range, the docs say that outside-range
3165         columns are allowed, so we handle them as documented. (Presumably
3166         this allows a nice loop with column != NULL as test.)
3167         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3168         mean (left/right/center etc.).
3169         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3170         (gtk_tree_view_expand_row): add docs
3171         (gtk_tree_view_collapse_row): add docs
3172
3173         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3174         function to emit the clicked signal on a column
3175         
3176         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3177         state of an event
3178         (gdk_event_get_time): don't treat GDK_SCROLL 
3179         as a button event, remove default case from switch so gcc 
3180         will whine if we don't explicitly handle all event types
3181
3182         * gtk/gtktreeselection.h: added some FIXME 
3183         
3184         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3185         "columns" to "n_columns" and "column" to "columns" for clarity
3186
3187 2000-12-16  Havoc Pennington  <hp@pobox.com>
3188         
3189         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3190         stuff. This should make e.g. the delete key work again in the
3191         text widget...
3192         (gtk_text_iter_forward_cursor_positions): handle negative count
3193         (gtk_text_iter_backward_cursor_positions): handle negative count
3194         (gtk_text_iter_forward_word_ends): handle negative count
3195         (gtk_text_iter_backward_word_starts): handle negative count
3196
3197         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3198         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3199         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3200         GObject. No doubt will cause breakage.
3201
3202         * demos/gtk-demo/textview.c: remove hacks around
3203         non-GObject-ification of the text objects
3204
3205         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3206         the text tag
3207         
3208 2000-12-14  Havoc Pennington  <hp@pobox.com>
3209
3210         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3211         that we have Xrender
3212
3213 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3214
3215         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3216         Add two virtualized functions gdk_drawable_get_clip_region - to
3217         get the clip region when drawing.
3218         
3219         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3220         use invalidate_region.
3221
3222         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3223         region.
3224
3225         * acconfig.h configure.in: Check for Xft. For now, assume
3226         that if Xft is found, Pango was compiled with Xft support
3227         as well.
3228
3229         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3230         gdk_colormap_query_color().
3231         
3232         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3233         with Xft if appropriate.
3234
3235         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3236         a pangoxft context if we have XFT and the environment
3237         variable GD_USE_XFT is set.
3238         
3239         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3240         and also possibly an XftDraw structure.
3241
3242         * gtk/gtkfontsel.c: Handle the case where the font from the
3243         style doesn't match any of the fonts a bit better.
3244         
3245         * gtk/testgtk.c: Add tabs between directional segments for
3246         hebrew/arabic test. (Not really necessary, just a little
3247         prettier.)
3248
3249 2000-12-14  Havoc Pennington  <hp@redhat.com>
3250
3251         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3252         reading a file
3253
3254 2000-12-14  Havoc Pennington  <hp@redhat.com>
3255
3256         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3257         unused call to get_last_line()
3258
3259         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3260         here until boxed is working (and maybe after that - we should
3261         really not gratuitously break old code)
3262
3263         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3264         specific types for font_desc and tabs args, move them to
3265         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3266         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3267
3268         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3269         use GTK_TYPE_POINTER for signal signatures as a hack-around
3270
3271         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3272         PangoTabArray
3273
3274         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3275         make static
3276         (line_display_index_to_iter): make static
3277
3278         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3279         to marshal a string not a boxed
3280
3281         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3282
3283         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3284         since the UTF-8 isn't validated yet
3285
3286         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3287         lines to end in '\n'
3288         
3289         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3290         forward_to_delimiters, and grapheme boundaries
3291         (gtk_text_view_delete_from_cursor): properly handle non-newline
3292         delimiters, and grapheme boundaries
3293
3294         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3295         to gtk_text_iter_forward_to_delimiters, and make it work properly
3296         if empty lines end with a character other than '\n'
3297
3298         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3299         position
3300
3301 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3302
3303         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3304
3305         * gtk/gtk.def
3306         * gdk/gdk.def: Update.
3307
3308         * gdk/win32/gdkmain-win32.c
3309         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3310         gdkmain-win32.c here.
3311
3312         * gdk/win32/makefile.mingw.in (all): No need to make
3313         gdk-win32res.o here, the makefile one step up will call us to make
3314         it.
3315
3316         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3317         gdkkeys-win32.
3318
3319         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3320
3321         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3322         call to g_source_add().
3323
3324         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3325         leak. Thanks to Andreas Kemnade.
3326
3327 2000-12-13  Havoc Pennington  <hp@pobox.com>
3328
3329         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3330
3331         * gtk/gtktext*.[hc]: update accordingly
3332         
3333 2000-12-13  Havoc Pennington  <hp@pobox.com>
3334
3335         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3336         header file
3337
3338         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3339
3340 2000-12-13  Alex Larsson  <alexl@redhat.com>
3341
3342         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3343         Add support for ps2 intellimouse.
3344
3345         * gdkkeyboard-fb.c:
3346         Move shift-F1 repaint handling to xlate handler only.
3347         
3348         * docs/README.linux-fb:
3349         Add imps2 to docs.
3350         Document the new refresh keys.
3351         
3352 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3353
3354         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3355
3356         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3357         ::position and ::padding.
3358
3359         * gtk/gtkcontainer.c: make ::border_width an INT property.
3360
3361         * gtk/gtkpacker.c: make ::position an INT property.
3362
3363         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3364         guard against NULL h/v scrollbars, since this is used at construction
3365         time.
3366
3367         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3368         internal gtk_clist_constructor().
3369
3370         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3371         gtk_ctree_constructor().
3372
3373         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3374         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3375
3376         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3377         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3378
3379         * gtk/gtkwidget.[hc]:
3380         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3381         and gtk_widget_get().
3382         (gtk_widget_new): use g_object_new_valist().
3383         (gtk_widget_set): use g_object_set_valist().
3384
3385         * gtk/gtkobject.[hc]:
3386         removed gtk_object_arg_get_info(), gtk_object_getv(),
3387         gtk_object_query_args(), gtk_object_newv(),
3388         gtk_object_class_add_signals(),
3389         gtk_object_class_user_signal_new(),
3390         gtk_object_class_user_signal_newv(),
3391         gtk_object_arg_set(), gtk_object_arg_get(),
3392         gtk_object_args_collect(),
3393         gtk_object_default_construct(),
3394         gtk_object_constructed(),
3395         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3396         removed nsignals, signals and n_args members from GtkObjectClass.
3397         (gtk_object_new): use g_object_new_valist().
3398         (gtk_object_set): use g_object_set_valist().
3399         (gtk_object_get): use g_object_get_valist().
3400         
3401         * gtk/gtkcompat.h: define gtk_object_default_construct().
3402         
3403         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3404         g_object_new().
3405
3406         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3407         fucntions, cleaned up method assignments (make sure your structures
3408         are setup properly before calling out). removed all GTK_CONSTRUCTED
3409         hacks ;)
3410
3411 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3412
3413         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3414         off-by-one error in checks. (Dave Lambert)
3415
3416 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3417
3418         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3419         Don't free gdk_fb_keyboard twice.
3420
3421 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3422
3423         * gtk/testgtk.c:
3424         (create_tooltips): 
3425         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3426         use GObject swapped_signal:: properties instead.
3427
3428         * gtk/gtkcellrenderertoggle.c: 
3429         * gtk/gtkcellrenderertextpixbuf.c: 
3430         * gtk/gtkcellrenderertext.c: 
3431         * gtk/gtkcellrendererpixbuf.c: 
3432         * gtk/gtkcellrenderer.c:
3433         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3434         missing warnings for invalid property ids, install properties
3435         with g_object_class_install_property() now.
3436         
3437         * gtk/gtksignal.c:
3438         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3439         
3440 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3441         
3442         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3443         to determine if a window is the focus widget within
3444         its toplevel.
3445
3446         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3447         to be boolean.
3448
3449         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3450         of the case where the container CAN_FOCUS to here instead
3451         of having it in each individual move-the-focus place.
3452
3453         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3454         focusing to be geometric in a much more obvious sense. Arrowing
3455         around is still non-intuitive because it isn't perfect and
3456         because entries, etc, grab the arrow keys, but it at least
3457         usually will do what you expect now.
3458         
3459         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3460         file.
3461
3462         * gtk/gtknotebook.c: Change tabs to be a single item in
3463         the focus chain. Make movement of focus on tabs with arrow
3464         keys wrap around.
3465         
3466         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3467         CHECK_FIND_CHILD macro to give informative error messages
3468         instead of silent returns.
3469
3470         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3471         flag since we handle GdkReturn on the tabs.
3472
3473         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3474         windows rather than sending expose events directly.
3475
3476         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3477         definition for GtkNotebookPage into .c file, since it is private.
3478
3479         * gtk/testgtk.c (create_notebook): Add option for 
3480         testing borderless notebook.
3481
3482         * gtk/testgtk.c (page_switch): Removed egregious poking
3483         around in GTK+ internals.
3484
3485         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3486
3487         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3488         properly through gtk_clist_focus. Make the title headers a
3489         single item in the tab-focus chain, and make left-right wrap
3490         around.
3491
3492         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3493         focus method so that wrapping around works properly.
3494
3495         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3496         that is handled for the widget now. 
3497
3498 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3499
3500         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3501         widgets as TOPLEVEL.
3502
3503         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3504         TOPLEVEL widgets are containers.
3505
3506         * gtk/gtkinvisible.h: Remove useless include.
3507
3508 2000-12-11  Havoc Pennington  <hp@redhat.com>
3509
3510         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3511         Handle chopping off \r\n and 0x2029 in addition to \n before
3512         passing to PangoLayout
3513
3514         * gtk/gtkimcontextsimple.c
3515         (gtk_im_context_simple_get_preedit_string): 
3516         return an empty string if no match is pending
3517
3518         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3519         assertion that the returned preedit string was sane
3520
3521         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3522         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3523         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3524
3525 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3526
3527         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3528         Fix up finalizer to chain to its parent.
3529
3530 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3531
3532         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3533         Clearified the difference between the keyboard types. Wrote a note
3534         about the magic sysrq key to get out of raw mode.
3535
3536 2000-12-09  James Henstridge  <james@daa.com.au>
3537
3538         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3539         member to hold masks for detecting the start of a protocol packet.
3540         (mouse_devs): add packet start masks for ps2 and ms device types.
3541         Left the mask for fidmour blank, as I have no idea what it should
3542         be.
3543         (handle_mouse_io): skip bytes until we get to the start of a
3544         packet.  My Logitech mouse seems to be passing an extra NULL pad
3545         byte, and GPM does a similar thing here.
3546         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3547         this is the ms mouse driver.
3548         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3549         completely broken except for button1.  It was checking the wrong
3550         bit in the packet for the status of the right mouse button, and
3551         wrongly assuming right == button2 rather than 3.  I fixed that and
3552         also added support for middle button (button2).
3553
3554 2000-12-08  Havoc Pennington  <hp@redhat.com>
3555
3556         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3557         that cause a segfault on text insertion
3558
3559         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3560         warning
3561
3562         * gtk/gtktextiter.c (test_log_attrs): use
3563         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3564
3565         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3566         Get log attrs for a line, using a cache stored on the buffer
3567         
3568         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3569         reported by Jeff Franks
3570
3571 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3572
3573         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3574         /dev/ttyS0 -> /dev/mouse
3575
3576 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3577
3578         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3579         Added dummy gdk_fontset_load.
3580
3581 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3582
3583         * docs/README.linux-fb:
3584         * docs/Makefile.am:
3585         Initial GtkFB docs.
3586         
3587         * gdk/linux-fb/Makefile.am:
3588         Define GDK_DATA_PREFIX.
3589
3590         * gdk/linux-fb/gdkmain-fb.c:
3591         Fix typo.
3592         Change default display to /dev/fb0.
3593
3594         * gdk/linux-fb/gdkpango-fb.c:
3595         Add $(prefix)/share/fonts/ to font path.
3596         
3597 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3598
3599         * gdk/linux-fb/gdkkeyboard-fb.c:
3600         New file containing the abstracted keyboard driver. Most code
3601         taken from gdkinput-ps2.c
3602
3603         * gdk/linux-fb/gdkinput-ps2.c:
3604         Removed file.
3605         
3606         * gdk/linux-fb/Makefile.am:
3607         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3608
3609         * gdk/linux-fb/gdkcolor-fb.c:
3610         display->fb was renamed to display->fb_fd.
3611
3612         * gdk/linux-fb/gdkcursor-fb.c:
3613         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3614
3615         * gdk/linux-fb/gdkinput.c:
3616         Moved gdk_input_init here from gdkinput-ps2.c
3617
3618         * gdk/linux-fb/gdkmain-fb.c:
3619         display->fb was renamed to display->fb_fd.
3620         Now the tty and the console is opened here instead
3621         of in the keyboard driver. Also check GDK_VT to see what
3622         tty to open.
3623         Move gdk_beep () here from gdkinput-ps2.c
3624         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3625
3626         * gdk/linux-fb/gdkmouse-fb.c:
3627         Add header.
3628         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3629         Return correct keyboard modifiers.
3630         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3631
3632         * gdk/linux-fb/gdkprivate-fb.h:
3633         Add tty and vt info to display.
3634         Add orignal modeinfo storage to display
3635         Update global functions
3636
3637         * gdk/linux-fb/gdkwindow-fb.c:
3638         Added gdk_fb_window_find_focus().
3639         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3640
3641 2000-12-07  Havoc Pennington  <hp@pobox.com>
3642
3643         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3644         function, noticed by Alex
3645
3646 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3647
3648         * configure.in: Detect freetype properly
3649
3650         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3651         above.
3652
3653 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3654
3655         * gdk/linux-fb/Makefile.am:
3656         Add gdkmouse-fb.c
3657         
3658         * gdk/linux-fb/gdkmouse-fb.c:
3659         New file. Abstracted the mouse drivers a bit.
3660
3661         * gdk/linux-fb/gdkcursor-fb.c:
3662         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3663
3664         * gdk/linux-fb/gdkinput-ps2.c:
3665         Removed old mouse handling code. Moved cursor handling code
3666         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3667         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3668         gdk_mouse_get_info.
3669
3670         * gdk/linux-fb/gdkmain-fb.c:
3671         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3672
3673         * gdk/linux-fb/gdkprivate-fb.h:
3674         Removed public gdk_fb_find_common_ancestor, added and renamed
3675         functions for the new mouse handling code.
3676
3677         * gdk/linux-fb/gdkwindow-fb.c:
3678         Moved gdk_fb_window_send_crossing_events here. added global
3679         variable gdk_fb_window_containing_pointer. made
3680         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3681         renamed to gdk_mouse_get_info.
3682
3683 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3684
3685         * gdk/linux-fb/gdkevents-fb.c:
3686         Update to match latest gmain/gsource changes.
3687
3688         * gdk/linux-fb/gdkinput-ps2.c:
3689         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3690         it links. Will be implemented later.
3691
3692 2000-12-03  Havoc Pennington  <hp@pobox.com>
3693
3694         * gdk/Makefile.am: add gdkkeys.[hc]
3695
3696         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3697         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3698
3699         * acconfig.h, configure.in: add checks and command line options
3700         for XKB
3701
3702         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3703         
3704         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3705         and group in the key event
3706
3707         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3708         field with the low-level hardware key code, and a group
3709         field with the keyboard group
3710
3711         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3712         and declare a couple globals used for keymap handling
3713         
3714         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3715         hold down Shift-Control and type a hex number to get a Unicode 
3716         character corresponding to the hex number
3717         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3718         (return bytes not chars)
3719
3720 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3721
3722         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3723         to avoid waste on 64-bit platforms.
3724
3725 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3726
3727         * INSTALL: Fix link to PNG home, remove reference
3728         to fribidi.
3729
3730         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3731         
3732         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3733         tested.)
3734
3735         * gtk/gtkcheckmenuitem.c: Permanently turn on
3736         always_show_toggle.
3737
3738         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3739         be NULL. (Vladimir Klebanov, #26545)
3740
3741         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3742         some signed/unsigned comparison problems. (#6510,
3743         David Kaelbling)
3744
3745         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3746         return type to boolean (Oskar Liljeblad, #18648)
3747
3748 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3749
3750         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3751         Remove bogus colormap setting.
3752
3753 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3754
3755         * gdk/linux-fb/gdkcolor-fb.c:
3756         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3757
3758         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3759         Must set colormap.
3760         
3761 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3762
3763         * docs/tutorial/gtk-tut.sgml: DND updates
3764
3765 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3766
3767         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3768         Remove old debug g_warning().
3769         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3770         or an implementation, just pass the implementation to draw_drawable_2.
3771         
3772         * gdk/linux-fb/gdkprivate-fb.h:
3773         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3774
3775         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3776         clear and invalidate area when window is destroyed.
3777         (send_map_events): Remove old commented out code.
3778
3779 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3780
3781         * gdk/linux-fb/gdkpango-fb.c:
3782         Use italic instead of oblique in font aliases.
3783         
3784         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3785         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3786         other unsupported functions.
3787
3788 2000-12-04  Havoc Pennington  <hp@redhat.com>
3789
3790         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3791
3792         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3793
3794         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3795
3796         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3797         hack to avoid infinite loops (synthetic expose event) - 
3798         Owen has more appropriate fixes in a branch he'll check in later.
3799
3800         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3801         separator, CR, and CRLF as line ends
3802
3803         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3804         into lines using pango_find_paragraph_boundary(); other bits of
3805         the widget are still going to be broken if the boundary isn't '\n'
3806         though
3807
3808 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3809
3810         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3811         multiply.
3812
3813         * gdk/linux-fb/gdkpango-fb.c:
3814         Copied some 26.6 scaling macros from pango to clean up the rounding.
3815         (pango_fb_font_get_glyph_info): Correct sign on x value.
3816
3817         * gdk/linux-fb/gdkprivate-fb.h:
3818         Removed unreferenced external functions.
3819
3820         * modules/linux-fb/Makefile.am: Use ` instead of '.
3821
3822         * modules/linux-fb/basic.c:
3823         Remove dead code. In particular the dummy lang engine which broke all
3824         pango layouts in GtkFB. Don't include tables-big.i anymore.
3825
3826         * modules/linux-fb/tables-big.i:
3827         Upgrade to latest version from pango. Left for reference, basic_ranges
3828         moved to basic.c.
3829         
3830 2000-12-04  Havoc Pennington  <hp@redhat.com>
3831
3832         Fix bugs Alex found:
3833         
3834         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3835         to "draw"
3836
3837         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3838
3839         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3840
3841         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3842         implementation in here, apparently the expose() implementation was
3843         dead code.
3844
3845 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3846
3847         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3848         Return positive descent.
3849
3850 2000-12-02  Havoc Pennington  <hp@pobox.com>
3851
3852         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3853         method and signal
3854         
3855         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3856         calls gdk_window_process_updates() to push the exposes through
3857         (gtk_widget_class_init): No more draw signal, no
3858         gtk_widget_real_draw()  
3859         
3860         * gtk/gtkbin.c (gtk_bin_draw): remove
3861
3862         * gtk/gtkbox.c (gtk_box_draw): remove
3863
3864         * gtk/gtkbutton.c (gtk_button_draw): remove
3865
3866         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3867
3868         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3869
3870         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3871
3872         * gtk/gtkclist.c (gtk_clist_draw): remove
3873
3874         * gtk/gtkentry.c (gtk_entry_draw): remove
3875
3876         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3877
3878         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3879
3880         * gtk/gtkframe.c (gtk_frame_draw): remove
3881
3882         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3883
3884         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3885
3886         * gtk/gtklayout.c (gtk_layout_draw): remove
3887
3888         * gtk/gtklist.c (gtk_list_draw): remove
3889
3890         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3891
3892         * gtk/gtkmenu.c (gtk_menu_draw): remove
3893
3894         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3895
3896         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3897
3898         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3899
3900         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3901
3902         * gtk/gtkpacker.c (gtk_packer_draw): remove
3903
3904         * gtk/gtkrange.c (gtk_range_draw): remove
3905
3906         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3907
3908         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3909
3910         * gtk/gtktable.c (gtk_table_draw): remove
3911
3912         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3913
3914         * gtk/gtktext.c (gtk_text_draw): remove
3915
3916         * gtk/gtktextview.c (gtk_text_view_draw): remove
3917
3918         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3919
3920         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3921
3922         * gtk/gtktree.c (gtk_tree_draw): remove
3923
3924         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3925
3926         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3927
3928         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3929
3930         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3931
3932         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3933
3934         * gtk/gtkwindow.c (gtk_window_draw): remove
3935
3936 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3937
3938         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3939         a GtkToggleButton is both insensitive and active, it was being
3940         drawn by the GtkButton draw handler which doesn't check the
3941         state. Now it's calling gtk_toggle_button_paint instead.
3942         
3943 2000-12-01  Havoc Pennington  <hp@redhat.com>
3944
3945         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3946         dangling pointers to the appearance attributes from the 
3947         line display
3948
3949         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3950         width/height to mean "full width/height of drawable"
3951
3952         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3953         click to select word/line
3954         
3955         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3956         when getting log attrs. Get a slice, so that pixmaps and stuff
3957         are properly handled.
3958
3959         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3960         paste into the selection (replaces selection now, previously
3961         crashed or added to selection). Reveals longstanding btree bug -
3962         select multiple lines, middle-click on the selection, boom. This
3963         isn't related to my changes though.
3964
3965         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3966         PangoLogAttrs changes
3967         (gtk_entry_move_backward_word): ditto
3968
3969         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3970         functions return bool whether the iter moved onto a
3971         dereferenceable position.
3972  
3973         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3974         functions for motion in terms of display lines.
3975
3976         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3977         get the buffer a mark is inside
3978         
3979 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3980
3981         * gdk/linux-fb/Makefile.am:
3982         * modules/linux-fb/Makefile.am:
3983         Freetype 2 final uses freetype-config
3984
3985         * gdk/linux-fb/gdkpango-fb.c:
3986         Upgrade to use Freetype 2 final.
3987         More flexible support for font aliases, this also fixes a bug with
3988         GtkFontSelector, as the aliases must be visible in the font/family list,
3989         or GtkFontSelector reads uninitialized memory.
3990
3991 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3992
3993         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3994         XGetIMValues to properly terminate variable argument list, and do
3995         NULL return check for ic_values and xim_styles.
3996
3997         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
3998         Restore preedit state after XmbResetIC().
3999         
4000         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4001         XvaCreateNestedList() should take XvaNestedList, but not
4002         XvaNestedList*.
4003
4004         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4005         preedit_draw_callback, preedit_caret_callback): Match
4006         "preedit-changed" signal name to "preedit_changed" to be
4007         consistent to the spec.
4008
4009         * gtk/gtkimcontextsimple.c (check_table):
4010         Match "preedit-changed" to "preedit_changed" to be consistent
4011         to the spec.
4012
4013 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4014
4015         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4016         gc->clip_region == NULL>
4017
4018 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4019
4020         Changes by Hans Breuer:
4021         
4022         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4023         Dont't use negative width and height as max_hints. This fixes
4024         Owen's recent testgtk changes for win32.
4025
4026         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4027         gdk_win32_hdc_release): These are exported and may be called with
4028         other drawable types than our GdkDrawableImplWin32 (?).
4029
4030         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4031         so always #define USE_BACKING_STORE.
4032
4033         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4034         of printf for debugging output.
4035
4036         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4037         
4038         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4039
4040         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4041         declaration.
4042
4043         * gtk/gtktexttypes.h: Ditto.
4044
4045         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4046         (GDK_VoidSymbol) also if in case of arg check failure.
4047
4048         * gtk/gtkimcontextsimple.c
4049         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4050         position to the pointer, but to the variable it points to.
4051
4052         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4053
4054         * gtk/gtk.def: Updates.
4055
4056 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4057
4058         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4059         GTK_TYPE_TREE_MODEL.
4060
4061 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4062
4063         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4064         Set the size of the font from the description.
4065         (gdk_text_width): Gross hack that calculates the width
4066         of text by text_length * size/2. This is necessary because
4067         GtkLabel does some ugly gtk_string_width call to calculate
4068         an good size.
4069         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4070
4071 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4072
4073         * docs/tutorial/gtk-tut.sgml: DND updates
4074
4075 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4076
4077         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4078         If you pass width or height == 0 to gdk_window_clear_area they
4079         should be calculated from the window size.
4080
4081 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4082
4083         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4084         a grab, but no grab-cursor, use the cursor from the grabbed
4085         window. (gdk_fb_window_send_crossing_events): Send normal
4086         enter/leave notifications if grab and owner_events == TRUE.
4087
4088 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4089
4090         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4091         Do implicit button grabs, even if the window doesn't
4092         want the event.
4093         (gdk_fb_window_send_crossing_events): If there is a
4094         grab, only the grabbed window gets normal enter/leave
4095         notifications. On ungrab go from grabbed window to current.
4096         Don't send any notification to b when propagating from c -> b.
4097         If setting a grab on window, don't set prev_window.
4098         (handle_mouse_input): Send enter/leave events to the window the
4099         mouse is over, not the grabbed one.
4100         
4101 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4102
4103         * gdk/gdkregion-generic.c: Zap warning.
4104         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4105         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4106
4107 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4108
4109         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4110         The cursor should be hidden if it is part of either the
4111         source or destination region. Not only if it is in both.
4112         (gdk_window_set_transient_for): Silence warnings.
4113
4114 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4115
4116         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4117         The default mode in X is Pie Arcs, therefore that is
4118         what Gtk+ uses.
4119
4120 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4121
4122         * gdk/linux-fb/gdkinput-ps2.c:
4123         Implement correct EnterNotify/LeaveNotify:
4124         (gdk_fb_window_send_crossing_events): New function that sends
4125         all GdkCrossingEvents from the last mouse-window to the specified
4126         destination.
4127         (gdk_fb_window_visibility_crossing): Removed function.
4128         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4129         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4130         instead of gdk_window_get_pointer() for better readability.
4131
4132         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4133         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4134
4135         * gdk/linux-fb/gdkprivate-fb.h:
4136         removed gdk_fb_window_visibility_crossing, added
4137         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4138
4139         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4140         New function that finds the least common ancestor of two windows.
4141         (gdk_window_show, gdk_window_hide):
4142         Use gdk_fb_window_send_crossing_events.
4143         (gdk_fb_window_move_resize): Send configure events to toplevel
4144         windows. Use gdk_fb_window_send_crossing_events.
4145
4146 2000-11-27  Havoc Pennington  <hp@redhat.com>
4147
4148         * gtk/gtkprivate.h (enum): Remove a trailing comma
4149
4150 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4151
4152         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4153         the "changed" callback of the adjustment.  We need to redraw the
4154         spin button's arrows when the adjustment's range changes.
4155         (adjustment_changed_cb): Draw the arrows.
4156         (gtk_spin_button_value_changed): Draw the arrows.
4157
4158 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4159
4160         * gdk/linux-fb/gdkselection-fb.c:
4161         Initial selection implementation.
4162
4163         * gtk/gtkselection.c:
4164         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4165         requestor in gtk_selection_request.
4166         
4167         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4168         Added gdk_selection_property atom.
4169
4170         * gdk/linux-fb/gdkprivate-fb.h:
4171         Export _gdk_selection_window_destroyed.
4172         Removed mask_off_x/y from GdkCursorPrivateFB.
4173         Removed hbearing, added top, left to PangoFBGlyphInfo.
4174
4175         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4176         Call _gdk_selection_window_destroyed
4177         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4178         the root window has been created.
4179         (static_dx_hack, static_dy_hack, compare_draw_rects,
4180         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4181         in region. They are already sorted. Instead just traverse them in
4182         reverse if draw_direction < 0.
4183         
4184         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4185         Double-clicks must be sent after the normal button_press.
4186         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4187         
4188         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4189         Pass _gdk_fb_screen_gc instead of NULL.
4190
4191         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4192         Initialize gdk_selection_property.
4193         (gdk_event_make): Remove unused code.
4194
4195         * gdk/linux-fb/gdkcursor-fb.c:
4196         Make the pixmap for the cursor the same size as the mask. Also remove
4197         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4198         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4199         Now the whole cursor is visible.
4200
4201         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4202         Fix bug where xdest+height instead of ydest+height was used
4203         to calculate if the source and dest overlapped. This fixes the
4204         redraw bug when the main window in testgtk was scrolled when
4205         partially covered by a tall window.
4206         Copy rectangles in region in order depending on draw_direction.
4207         Also moved the draw_direction flipping of start_y and end_y into
4208         the gc functions, as this might not be what all of them want.
4209         (gdk_fb_draw_lines): Support dashed lines.
4210         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4211         so that the text is positioned correctly (was 1 pixel high).
4212
4213         gdk/linux-fb/gdkgc-fb.c:
4214         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4215         all lines were drawn a pixel to short. Also checked the default of
4216         the rest of the values, and they're the same as X now.
4217
4218         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4219         Clean up pixel positioning of the glyphs. Just use bgy->top and
4220         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4221         to all divisions to get correct rounding behaviour.
4222
4223         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4224         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4225         Moved start_y/end_y flip into draw_drawable implementations.
4226         Flip also x rendering when draw_direction < 0.
4227         Remove unneccesary multiply with draw_direction.
4228
4229 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4230
4231         * docs/tutorial/gtk-tut.sgml:
4232           - get rid of gtk_toggle_button_toggled FUD
4233           - start DND section - needs work - based on:
4234                 http://wolfpack.twu.net/docs/gtkdnd/
4235
4236 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4237
4238         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4239         Correct calculation of font metrics. Now GtkEntrys have sane
4240         size.
4241
4242 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4243
4244         * gdk/gdktypes.h:
4245         Add new type GdkSpan
4246         
4247         * docs/reference/gdk/gdk-sections.txt,
4248         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4249         gdk/gdkregion.h:
4250         Implement and document gdk_region_spans_intersect_foreach.
4251
4252         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4253         Add new file gdkrender-fb.c which contains all core
4254         rendering code.
4255         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4256         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4257         (optimized rectangle fillers).
4258
4259         * gdk/linux-fb/gdkdrawable-fb2.c:
4260         Move all rendering code to gdkrender-fb.c.
4261         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4262         Use the new span intersection functions in gdk_fb_fill_spans.
4263         gdk_fb_draw_rectangle() clips filled rectangles and calls
4264         gc->fill_rectangle with the result.
4265         gdk_fb_fill_spans() gets extra argument "sorted".
4266
4267         * gdk/linux-fb/gdkevents-fb.c:
4268         Remove unused includes and defines.
4269         New function gdk_fb_get_time() to get correct time for events.
4270
4271         * gdk/linux-fb/gdkinput-ps2.c:
4272         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4273         Make sure to set the time of all events.
4274
4275         * gdk/linux-fb/gdkmain-fb.c:
4276         Use gdk_fb_get_time ().
4277
4278         * gdk/linux-fb/gdkprivate-fb.h:
4279         New virtual GC calls: fill_span & fill_rectangle.
4280         Export gdk_fb_get_time().
4281         gdk_fb_fill_spans() gets extra argument "sorted".
4282
4283         * gdk/linux-fb/mi*.c:
4284         Use GdkSpan instead of GdkRectangle.
4285         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4286         from XFree 4 source)
4287         
4288 2000-11-22    <jrb@redhat.com>
4289
4290         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4291         reversing the order in an if statement will do.  Doing so managed
4292         to make the treemodelsort half work.  Other half will follow after
4293         I get the insert function fully fixed.
4294
4295 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4296         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4297         more than 2 bits. Besides, I need to implement an evil hack. :)
4298
4299 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4300
4301         * docs/tutorial/gtk-tut.sgml: minor corrections
4302
4303 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4304         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4305           convert to and from relative path's and iters.
4306
4307         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4308           testing sorting functions a bit better.  Currently broken -- will
4309           fix in morning.
4310
4311 2000-11-20  Havoc Pennington  <hp@redhat.com>
4312
4313         * gtk/gtkwidget.c: Documented a bunch of functions in here
4314         (gtk_widget_realize): Warn if you try to realize
4315         a widget with no parent that isn't a toplevel
4316         (gtk_widget_intersect): return a gboolean
4317
4318 2000-11-20  Havoc Pennington  <hp@redhat.com>
4319
4320         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4321         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4322         scrolling to be implemented in GDK to finish. Also, right now
4323         we just size_allocate all children on every layout change,
4324         which is pretty lame. Test commented out of testtext.c, 
4325         until it works better.
4326
4327 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4328
4329         * gdk/linux-fb/gdkdrawable-fb2.c:
4330         Removed unused arguments from gdk_fb_drawable_get_pixel().
4331
4332         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4333         Renamed fidur specific mouse packet data in MouseDevice to
4334         generic. Used it in ps2 mouse handling code to avoid blocking
4335         reads.
4336
4337 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4338
4339         * demos/gtk-demo/main.c: Changed to have the list become
4340         non-italic when the demo window is destroyed through an external
4341         event (like a close button).  Doing so found three bugs in the
4342         widget.
4343
4344         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4345
4346         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4347         we actually set the cell.
4348
4349         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4350
4351         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4352         free a leaked path.  Thanks memprof.
4353
4354 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4355
4356         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4357         off-by-one error when destroying allocated segments
4358         on failure. (Elliot)
4359
4360 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4361
4362         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4363         memleaks found by Evan Martin.
4364
4365 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4366
4367         * Released 1.3.2
4368         
4369         * NEWS: Updates for 1.3.2
4370
4371 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4372
4373         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4374         but in general for window system specific events.
4375
4376         * gtk/gtk.def
4377         * gtk/makefile.mingw.in
4378         * gtk/makefile.msc.in: Update.
4379         
4380         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4381
4382 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4383
4384         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4385         distribute gtk.immodules.
4386
4387         * gtk/Makefile.am (install-data-local): Don't install the
4388         gtk.immodules file created for the uninstalled modules;
4389         instead run gtk-query-immodules after install
4390
4391 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4392
4393         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4394         -rpath to the right install location.
4395
4396         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4397         -export-dynamic.
4398
4399         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4400         properly.
4401
4402 2000-11-15  Havoc Pennington  <hp@pobox.com>
4403
4404         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4405         patch from Mikael Hermansson to temporarily stop blinking while
4406         the user is using the keyboard to type or navigate. 
4407
4408         Also, when blinking, stay on for longer than we stay off. Also,
4409         return from start_cursor_blink if !cursor_visible, to save
4410         checking that flag all over the place before we call
4411         start_cursor_blink.
4412
4413 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4414
4415         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4416         only contain a "fontset" line, which is now ignored.
4417
4418         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4419         double-click-to-select-word work.
4420         
4421 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4422
4423         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4424         Don't move back one char when we are actually at the end of the 
4425         paragraph.
4426
4427 2000-11-15  Robert Brady  <robert@suse.co.uk>
4428
4429         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4430         'o' < 'p'.
4431         
4432         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4433         bind_textdomain_codeset.
4434
4435         (gtk_init_check): Make the warning about translating default:LTR
4436         sterner.
4437         
4438 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4439
4440         * **/Makefile.am : remove unecessary rules for win32-specific
4441         config-substituted targets. If you want these rules, use
4442         --enable-maintainer-mode (called automatically by autogen.sh).
4443         Stops a lot of unneccessary make-time warnings.
4444
4445         * gtk/gtktext{layout,display}.c: Factor in total width as
4446         well as screen when figuring alignment for word-wrap as well as
4447         no wrap; this is necessary to handle lines that cannot be wrapped
4448         at all.
4449
4450 2000-11-15  Havoc Pennington  <hp@redhat.com>
4451
4452         * gtk/testtext.c: Implement essential color cycling feature
4453
4454 2000-11-15  Havoc Pennington  <hp@redhat.com>
4455
4456         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4457         when we invalidate the main window.
4458
4459         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4460         GtkTextView will now invalidate the side windows for us when text
4461         changes.
4462
4463 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4464
4465         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4466         unconditionally, since we may need to update the horizontal
4467         scrollbars even if the height didn't change.
4468
4469         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4470         the extra attrs, since some of them affect size.
4471
4472         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4473         x_offset correctly.
4474
4475 2000-11-15  Havoc Pennington  <hp@redhat.com>
4476
4477         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4478         don't move the first line out into the margin, instead move the
4479         whole paragraph in order to make space for the first line within 
4480         the margin
4481
4482 2000-11-15  Havoc Pennington  <hp@redhat.com>
4483
4484         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4485         xoffset in addition to yoffset, so horizontal scrolling doesn't
4486         break redraws
4487
4488 2000-11-15  Havoc Pennington  <hp@redhat.com>
4489
4490         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4491         from the cursor
4492         (render_layout_line): fix reversed test that caused weird
4493         underlines to get drawn
4494
4495 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4496
4497         * gdk/linux-fb/gdkprivate-fb.h:
4498         Fix debug macros.
4499         
4500 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4501
4502         * gdk/linux-fb/gdkprivate-fb.h:
4503         Added virtual functions set_pixel, get_color,
4504         fill_span and draw_drawable to the GC.
4505         Added global _gdk_fb_screen_gc to use instead of
4506         NULL when drawing to the screen.
4507         Added _gdk_fb_gc_calc_state() prototype.
4508
4509         * gdk/linux-fb/gdkgc-fb.c:
4510         Call _gdk_fb_gc_calc_state() on any gc state change.
4511
4512         * gdk/linux-fb/gdkglobals-fb.c:
4513         Add _gdk_fb_screen_gc
4514                 
4515         * gdk/linux-fb/gdkdrawable-fb2.c:
4516         _gdk_fb_gc_calc_state() calculates best functions
4517         for the GC state and depth.
4518         Moved bpp specialized code to separate functions.
4519         Added optimized 24 bpp AA draw_drawable.
4520
4521         * gdk/linux-fb/gdkevents-fb.c:
4522         Silence gcc warning.
4523
4524         * gdk/linux-fb/gdkimage-fb.c:
4525         Use _gdk_fb_screen_gc
4526
4527         * gdk/linux-fb/gdkwindow-fb.c:
4528         Init and use _gdk_fb_screen_gc
4529
4530         * gdk/linux-fb/mitypes.h:
4531         Remove unused types.
4532
4533 2000-11-14  Havoc Pennington  <hp@pobox.com>
4534
4535         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4536         to pixels
4537
4538 2000-11-14  Havoc Pennington  <hp@pobox.com>
4539
4540         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4541
4542         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4543         unknown char, no real reason we were using a variable. 
4544         Remove gtk_text_unknown_char variable. Fix all the text widget
4545         files accordingly.
4546
4547         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4548         since the Unicode spec seems to prefer that character for our
4549         purposes.
4550
4551 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4552
4553         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4554         value of g_getenv() isn't freeable, so g_strdup it.
4555
4556         * modules/input/inuktitut.c: Inuktitut input method.
4557
4558         * modules/input/Makefile.am: Build this.
4559         
4560 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4561
4562         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4563         of gtk programs.
4564
4565 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4566
4567         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4568         reversed > that was causing Home to go to end of previous line.
4569
4570         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4571         modified-keypresses (leave for bindings.)
4572
4573         * modules/input/Makefile.am: Remove useless -export-dynamic
4574         from module LDFLAGS.
4575
4576 2000-11-14  Havoc Pennington  <hp@redhat.com>
4577
4578         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4579         higher.
4580
4581         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4582         account. Also, render rise, underline, background, etc. for
4583         pixbufs as well as text. Also, draw underlines one pixel higher.
4584
4585         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4586         PangoAttribute for the rise, so it gets drawn properly. Also,
4587         add the GtkTextAppearance attribute for pixbuf/widget segments
4588         as well; we should go ahead and have rise, underline, background,
4589         stipple work for those
4590
4591         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4592         Pango
4593
4594 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4595
4596         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4597
4598         * gtk/gtk.def: Update.
4599
4600         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4601         included.
4602         (gtk_rc_get_im_module_file): Use run-time installation directory
4603         on Win32.
4604
4605         * gdk/win32/rc/gdk.rc: Remove.
4606         * gdk/win32/rc/gdk.rc.in: New file.
4607         * gdk/win32/rc/Makefile.am: New file
4608         * gdk/win32/Makefile.am: Corresponding changes.
4609
4610         * gtk/gtk.rc: Remove.
4611         * gtk/gtk-win32.rc.in: New file.
4612         * gtk/Makefile.am: Corresponding changes.
4613
4614         * configure.in: Corresponding changes.
4615
4616         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4617         has a built gtkcompat.h. Developers using CVS code on Win32 can
4618         hand-edit it from gtkcompat.h.in.
4619
4620         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4621         gtkcompat.h from gtkcompat.h.win32.
4622
4623 2000-11-14  Havoc Pennington  <hp@redhat.com>
4624
4625         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4626         to default to GDK_ACTION_MOVE if the drag is within a single
4627         widget. Defaults to GDK_ACTION_COPY between widgets.
4628
4629 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4630
4631         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4632
4633         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4634
4635         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4636         srcdir != builddir
4637
4638         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4639
4640         * configure.in (GTK_VERSION): Up to 1.3.2
4641
4642         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4643         gtkimcontextxim.h
4644
4645         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4646         missing doc comment.
4647
4648 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4649
4650         * modules/linux-fb/basic.c:
4651         Use the glib iconv wrappers.
4652
4653 2000-11-13  Havoc Pennington  <hp@pobox.com>
4654
4655         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4656         still more bugs.
4657
4658         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4659         scroll the GdkWindows before realization.
4660
4661 2000-11-13  Havoc Pennington  <hp@redhat.com>
4662
4663         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4664         where GC didn't always get updated properly
4665
4666         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4667         of fonts instead of setting the entire font
4668
4669         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4670         setting entire font
4671
4672         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4673
4674         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4675         a bunch of individually-settable font attributes. You can still 
4676         use the "font" and "font_desc" args, they just set all the font
4677         attributes at once.
4678
4679 2000-11-13 Elliot Lee <sopwith@redhat.com>
4680
4681         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4682
4683 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4684
4685         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4686         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4687
4688         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4689         work better.
4690
4691 2000-11-13  Havoc Pennington  <hp@redhat.com>
4692
4693         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4694         the module file.
4695
4696         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4697         dest->language
4698
4699         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4700         settings
4701
4702         * gtk/gtktextview.c: Implement object args and setters/getters for
4703         all the aspects of the GtkTextAttributes that are not set from
4704         GtkWidget attributes. This is spacing, justification, margins,
4705         etc.
4706
4707         (gtk_text_view_set_arg)
4708         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4709         args
4710         (gtk_text_view_class_init): Add args for justify, left_margin,
4711         right_margin, indent, and tabs
4712         
4713
4714         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4715         attribute properly
4716
4717         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4718         replace with indent attribute
4719
4720         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4721         PANGO_SCALE
4722
4723         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4724         rearranging code to do that
4725         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4726         i.e. don't subtract the top_margin first, just to keep
4727         all margin-futzing in one place.
4728
4729         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4730
4731         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4732         special case of last line, Pango now handles this itself.
4733         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4734         Y coordinate
4735         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4736         (find_display_line_above): wasn't moving the byte index as it
4737         iterated over lines, so always returned byte 0. Also, port to use
4738         PangoLayoutIter.
4739         (find_display_line_below): same problem as
4740         find_display_line_above. Also, port to use PangoLayoutIter.
4741
4742 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4743
4744         * gdk/linux-fb/*.[ch]:
4745         Massive reindent to gtk+ standard. My hands hurt.
4746
4747         * gdk/linux-fb/gdkcolor-fb.c:
4748         Move GdkColorPrivateFB from inherited to windowing_data
4749
4750         * gdk/linux-fb/gdkcursor-fb.c:
4751         _gdk_cursor_new_from_pixmap made static
4752
4753         * gdk/linux-fb/gdkdnd-fb.c:
4754         GdkDragContextPrivate moved to windowing_data
4755
4756         * gdk/linux-fb/gdkdrawable-fb2.c:
4757         Removed endian.h, use glib endianness macros instead
4758         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4759         and GDK_DRAWABLE_IMPL_FBDATA
4760
4761         * gdk/linux-fb/gdkfont-fb.c:
4762         Add empty gdk_font_load(). Needed for linking of Gtk+.
4763
4764         * gdk/linux-fb/gdkimage-fb.c:
4765         Removed endian.h, use glib endianness macros instead
4766         Moved GdkImagePrivateFB to windowing_data
4767         gdk_image_new_bitmap didn't always allocate enough
4768         memory.
4769
4770         * gdk/linux-fb/gdkinput-ps2.c:
4771         Added semi-working support for MS serial mice.
4772
4773         * gdk/linux-fb/gdkprivate-fb.h:
4774         s/GdkWindowPrivate/GdkWindowObject/
4775         Removed GdkWindowPrivate typedef
4776         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4777         Removed GDK_DRAWABLE_P
4778         Move GdkColorPrivateFB from inherited to windowing_data
4779         Moved GdkImagePrivateFB to windowing_data
4780
4781         * gdk/linux-fb/gdkvisual-fb.c:
4782         Removed some unused debug code.
4783
4784         * gdk/linux-fb/gdkwindow-fb.c:
4785         Use stock cursors instead of including X headers.
4786         s/GdkWindowPrivate/GdkWindowObject/
4787
4788         * gdk/linux-fb/mitypes.h:
4789         Removed unused types.
4790
4791         * modules/linux-fb/basic.c:
4792         Use the pango fribidi wrappers.
4793
4794 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4795
4796         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4797         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4798         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4799         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4800         GEqualFunc where applicable.
4801         
4802         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4803         pango_font_description_equal as changed in pango.
4804         
4805         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4806
4807         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4808
4809         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4810
4811         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4812
4813         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4814
4815         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4816
4817         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4818         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4819
4820         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4821         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4822
4823 2000-11-12  Havoc Pennington  <hp@pobox.com>
4824
4825         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4826         dir to datadir/gtk+-2.0/demo
4827
4828         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4829         sorts of text widget and Pango font bugs. Urgh.
4830
4831         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4832
4833         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4834         tree that you should double click to see the demo. Fix 
4835         types of variables to reflect changed return values from 
4836         GtkTreeStore and GtkTreeViewColumn constructors.
4837
4838         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4839         newly-created buffer to prepare for GObject semantics
4840
4841         * gtk/testtext.c: don't leak the buffer with GObject semantics
4842
4843         * gtk/testtextbuffer.c: ditto
4844         
4845 2000-11-12  Havoc Pennington  <hp@pobox.com>
4846
4847         Rename this testgtk to gtk-demo to avoid confusion, and 
4848         install it so people can use it as a supplement to 
4849         the documentation.
4850         
4851         * demos/gtk-demo: Moved from demos/testgtk
4852
4853         * demos/testgtk: Removed
4854
4855         * configure.in: make Makefile in gtk-demo
4856         
4857         * demos/gtk-demo/Makefile.am: Install sample source to 
4858         datadir/gtk-demo (maybe there's a better place?), and 
4859         rename the binary to gtk-demo
4860         
4861         * demos/gtk-demo/main.c (load_file): Load installed sample
4862         source if source isn't found in pwd.
4863
4864 2000-11-09  Havoc Pennington  <hp@pobox.com>
4865
4866         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4867         argument to set the char displayed when visibility == FALSE
4868         (gtk_entry_create_layout): If !entry->visible, replace 
4869         all chars with the "invisible char"
4870
4871         * gtk/testgtk.c: Test the invisible_char deal
4872         
4873 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4874
4875         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4876         can't get a native font in the right encoding.
4877
4878 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4879
4880         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4881         respectively.
4882
4883 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4884
4885         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4886         Fix warning when moving between paragraphs.
4887
4888         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4889         delete => delete_from_cursor, insert => insert_at_cursor
4890
4891 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4892
4893         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4894
4895         * modules/input/imthai-broken.c: A Thai input method for use if
4896         Thai keys are really generating Latin1 keysyms.
4897
4898         * modules/input/Makefile.am: Build these.
4899
4900 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4901
4902         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4903         g_filename_{to,from}_utf8 now takes an extra parameter.
4904
4905         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4906         strftime into UTF-8.
4907
4908         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4909         calendars.
4910
4911         (gtk_calendar_paint_day_names): Draw day names in the right 
4912         place.
4913         
4914 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4915
4916         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4917         problem with using result of g_get_charset() backwards -
4918         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4919
4920         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4921         negative min_width/height and max_width/height to
4922         mean "requisition"; this allows setting a window
4923         to be user-resizable in only one direction easily.
4924
4925         * gtk/testgtk.c (create_main_window): Remove hard-coded
4926         usize - set a default size in the vertical direction.
4927
4928 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4929
4930         * gtk/gtkrange.c: Add some missing casts. Support 
4931         2 and 3 button clicks on the arrows to mean 
4932         "move by pages" and "jump to end". (Like gtkspinbutton)
4933
4934 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4935
4936         * gdk/win32/makefile.msc : reflect build module changes
4937
4938         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4939         from GdkPixmap*, cast implementation member instead.
4940
4941         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4942         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4943         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4944         more Gdi functions return value checking. 
4945         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4946         GdkImagePrivateWin32 *.
4947
4948         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4949         menus useable again. Add #pragma message to keep reminded on this issue.
4950         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4951         windows. This allows to enable backing store on Win32!
4952
4953         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4954         in drawable is of impl type. Correct specific type checks appropriate.
4955  
4956         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4957         GDK_WINDOW_DESTROYED before allocating new resources.
4958
4959         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4960
4961         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4962         (gdk_window_foreign_new) initialize parent handle.
4963         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4964
4965         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4966         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4967         problems (e.g. main buttons in testgtk). 
4968
4969 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4970
4971         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4972         gtk_widget_activate for GDK_Return.
4973
4974         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4975         of preedit cursor position.
4976
4977 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4978
4979         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4980         static.
4981
4982 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4983
4984         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4985         out support for multiple locales; that simple doesn't
4986         work reliably with current Xlib
4987
4988         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4989         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4990         Add support for positioning the cursor within the preedit string.
4991
4992 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4993
4994         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
4995         at XIM input method module.
4996
4997         * gtk/gtktextview.c: Check for bindings after passing
4998         events to im context filter.
4999
5000 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5001
5002         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5003         empty attribute lists properly.
5004
5005 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5006
5007         * gtk/queryimmodules.c (main): Return non-zero exit
5008         status if errors were encountered querying any
5009         modules.
5010
5011         * modules/input/Makefile.am (moduledir): remove
5012         leftover bin program target.
5013
5014         * docs/make-todo: Fix typo in error message.
5015
5016 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5017
5018         * configure.in: Add modules/input/Makefile
5019
5020 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5021
5022         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5023         don't include gtkthemes.h.
5024
5025         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5026         to point
5027
5028         * gtk/Makefile.am: Add new .c and .h files, build 
5029         gtk-query-immodules and use it to create a gtk.immodules
5030         file for use of test programs.
5031
5032         * gtk/gtkpreview.c: remove extra blank line.
5033
5034 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5035
5036         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5037         Add the ability to add extra tables beyond the default
5038         one, and also the ability to have compose sequences 
5039         that are prefixes of other compose sequences. 
5040
5041         * gtk/gtkimcontextsimple.c: Export a preedit string which
5042         consists of possible candidates for keystrokes that have
5043         been entered but not yet committed.
5044
5045         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5046         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5047
5048         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5049         Add a function to add input-method switching menu items
5050         to a menu.
5051
5052         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5053         when switching input methods.
5054
5055         * gtk/gtkimcontextsimple.[ch]: Change the format of
5056         the compose table to allow compose tables of different
5057         lengths / sequence.
5058
5059 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5060
5061         * gtk/gtkimmodule.[ch]: Support routines for loading
5062         GtkIMContext implementations dynamically at runtime.
5063
5064         * modules/input/imcyrillic-translit.c: A sample input
5065         method (based on GtkIMContextSimple with an extra table),
5066         which demonstrates preedit strings and the module
5067         system for input modules
5068
5069         * gtk/queryimmodules.c: Program to query the available
5070         input modules and write the results into a file.
5071          
5072         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5073         extra config options "im_module_file" (cache file for
5074         input method modules), and "im_module_path" - path
5075         to look for modules when generating cache file.
5076
5077         This doesn't scale.
5078
5079 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5080
5081         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5082         generic code from gtkthemes into a new abstraction
5083         GtkModule which has the logic for implementing
5084         a loadable module which implements a number of 
5085         GObject types.
5086
5087 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5088
5089         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5090         a class into an interface  
5091         
5092         * gtk/gtkoldeditable.[ch]: Move the old editable
5093         implementation into here, so legacy widgets can
5094         still rely on the implemenation. GtkOldEditable
5095         exports GtkEditable. Make selection handling
5096         code use new text conversion functions (and
5097         handle UTF-8 as a side-effect). Use GtkClipboard
5098         for CLIPBOARD.
5099
5100         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5101         Adopt to match above changes.
5102
5103         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5104         avoid GtkOldEditable implementation. Restructure
5105         to reduce number of places that modify state directly.
5106         Move to GtkBindingSet. Display the preedit string.
5107         Queue recomputation of PangoLayout and scroll position
5108         to improve effiency of doing complex changes naively.
5109         Add a menu with cut/copy/paste and input method selection.
5110
5111 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5112
5113         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5114         to set preedit string and attributes; display preedit string by
5115         inserting string and attributes at cursor when creating the
5116         GtkTextLineDisplay.
5117
5118         * gtk/gtktextlayout.c: Move all conversions between byte
5119         positions in PangoLayout and GtkTextIter into new functions
5120         line_display_iter_to_index/index_to_iter that properly
5121         handle the preedit string.
5122
5123         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5124         it to return const char * (eventually will end up
5125         as GCONST char *, most likely.)
5126
5127         * gtk/gtktextview.[ch]: Handle the preedit string, call
5128         gtk_im_context_reset() as necessary, add a menu to switch
5129         input methods.
5130         
5131         * gtk/gtktextlayout.[ch]: Remove useless
5132         gtk_text_layout_get_log_attrs() function.
5133
5134 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5135
5136         * gdk/gdk.def
5137         * gtk/gtk.def: Update.
5138
5139         * gdk/win32/*.c: Add last argument to g_type_register_static()
5140         calls.
5141
5142         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5143
5144         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5145         generated by older wheel mouse drivers. Get the correct y
5146         coordinate from WM_MOUSEWHEEL messages.
5147
5148         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5149         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5150         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5151         Debugging functions.
5152
5153         * gdk/win32/gdkprivate-win32.h: Declare them.
5154
5155         * gdk/win32/gdkinput-win32.h: Add declaration for
5156         gdk_input_window_destroy().
5157
5158         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5159
5160 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5161
5162         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5163         function to help handle keeping things in sync.
5164
5165 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5166
5167         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5168         BOXED marshallers.
5169
5170         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5171         (gtk_list_store_class_init): use the new BOXED marshallers.
5172
5173         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5174         new_with_values to new_with_types.
5175         (gtk_tree_store_get_column_type): add this.
5176         (gtk_tree_store_class_init): use the new BOXED marshallers.
5177
5178         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5179         mirror some POINTER marshallers.
5180
5181 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5182
5183         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5184         allow more interesting iterators.  Also, made the lifecycle of
5185         iterators more explicit.
5186
5187         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5188
5189         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5190         types.
5191
5192 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5193
5194         * demos/testgtk/menus.c:
5195         Changes to make the new testgtk compile after
5196         gtk_menu_append was removed.
5197
5198         * gdk/linux-fb/gdkdrawable-fb2.c
5199         (gdk_fb_get_depth, gdk_fb_get_visual,
5200         gdk_drawable_impl_fb_class_init): Implement
5201         these drawable functions. Now GtkImages work again.
5202
5203         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5204
5205         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5206         
5207         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5208         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5209         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5210         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5211
5212 2000-11-08  Havoc Pennington  <hp@pobox.com>
5213
5214         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5215         visible_set args, don't know where these had gone, I thought they
5216         used to be there
5217
5218         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5219         now we can test the feature and see that it's totally broken.
5220
5221 2000-11-08  Havoc Pennington  <hp@pobox.com>
5222
5223         Make DND copy pixbufs and tags when source and target share a 
5224         tag table.
5225         
5226         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5227         in-process GTK_TEXT_BUFFER_CONTENTS target
5228         (gtk_text_view_drag_data_received): Paste from
5229         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5230
5231 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5232
5233         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5234         API changes.
5235
5236         * gtk/gtkmenu.c: Add support for scrolling menus.
5237         Remove gtk_menu_append/prepend/insert, these have been moved to
5238         gtkcompat.h as #defines.
5239
5240         * gtk/gtkcompat.h.in:
5241         Add compatibility #defines for gtk_menu_append/prepend/insert
5242
5243         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5244         GtkMenuPositionFunc gets an extra argument push_in.
5245         gtk_menu_append/prepend/insert removed.
5246         
5247         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5248         positioning behaviour to fit to scrolling menus.
5249
5250         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5251         into menuitem->submeny. That is wrong, and broke torn
5252         off submenus of torn off menus, since they were unrealized
5253         when the first menu was unrealized.
5254
5255         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5256         gtk_menu_shell_select_item() since these need to be overridden in
5257         GtkMenu.
5258
5259         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5260         positioning behaviour to fit to scrolling menus.
5261         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5262         the current item so that it is prelighted when the menu pops up.
5263         This is a workaround to the fact that the menu doesn't get the
5264         initial enter event (due to grabs).
5265
5266         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5267         s/gtk_menu_append/gtk_menu_shell_append/
5268
5269         * gtk/gtknotebook.c:
5270         s/gtk_menu_insert/gtk_menu_shell_insert/
5271
5272         * gtk/testgtk.c (create_menu, create_menus):
5273         Create the first menu with 50 items so that menu scrolling
5274         can be tested.
5275         
5276         
5277         Patch from Jonathan Blandford  <jrb@redhat.com>
5278
5279         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5280         system to handle size requests.  First, we ask what the size of
5281         the toggle is.  Then, when allocating the size, we allocate the
5282         toggle_size first.  This way we can have multiple menu-item
5283         classes w/o needing a seperate class for each.
5284
5285         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5286         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5287
5288         * gtk/gtkcheckmenuitem.c
5289         (gtk_check_menu_item_toggle_size_request): New function to handle
5290         the toggle size-request.
5291
5292 2000-11-07  Havoc Pennington  <hp@redhat.com>
5293
5294         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5295         Half-ass somewhat fix this function, so that scrolling to the
5296         insertion point works. Pango hacking is in the future to really
5297         fix it.
5298
5299         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5300         length of data, no longer used.
5301
5302         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5303         method contents in here, get rid of destroy method
5304         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5305         that were backward. Remove debug spew.
5306         (cut_or_copy): Make the clipboard work with insert_range to
5307         preserve tags and pixbufs, not just the primary selection.
5308
5309 2000-11-07  Havoc Pennington  <hp@redhat.com>
5310
5311         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5312         to gtk_text_mark_get_visible
5313
5314         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5315         bug that was generating an invalid iterator
5316
5317         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5318         ensure_char_offsets() in front of code placing the iter in an
5319         invalid state.
5320
5321         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5322         make override_location arg const
5323         (paste): Replace the selection if we paste into the 
5324         current selection
5325
5326         * gtk/gtkselection.h: Remove "GtkSelectioData"
5327         (struct _GtkSelectionData): move the definition here.
5328
5329         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5330         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5331
5332         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5333
5334         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5335         (gtk_text_buffer_insert_range_interactive): implement
5336         (gtk_text_buffer_get_tags): Remove, replaced by
5337         gtk_text_iter_get_tags()
5338
5339         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5340         limit parameter, to avoid infinite linear scan.
5341         (gtk_text_iter_backward_search): Add search limit
5342         (gtk_text_iter_forward_find_char): Add search limit
5343         (gtk_text_iter_backward_find_char): Add search limit
5344
5345 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5346
5347         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5348         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5349         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5350         gdk/linux-fb/gdkwindow-fb.c:
5351         use g_object_new() instead of g_type_create_instance() which
5352         is a private function for fundamental type implementations.
5353
5354         * gdk/linux-fb/gdkinput-ps2.c:
5355         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5356         instead just store the current modifier state. Add a (somewhat broken)
5357         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5358         Rename exported function gdk_input_ps2_get_mouseinfo to
5359         gdk_input_get_mouseinfo.
5360
5361         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5362         gdk/linux-fb/gdkwindow-fb.c:
5363         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5364         
5365
5366 2000-11-02  Havoc Pennington  <hp@redhat.com>
5367
5368         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5369         use stock buttons. Should be 100% source compatible, appropriate
5370         filesel fields now point to dialog->vbox and dialog->action_area.
5371         On the bizarre side, dialog->action_area and filesel->action_area
5372         are not the same widget.
5373         (gtk_file_selection_init): Put some padding around the selection
5374         entry, so it isn't touching the GtkDialog separator.    
5375
5376         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5377         use stock buttons, etc. Should also be source compatible.
5378         Set the dialog default title in _init not _new().
5379         
5380         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5381         Use stock buttons; don't put a button box inside the existing
5382         dialog button box. Don't bother with push/pop colormap anymore.
5383
5384         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5385         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5386         for message dialog, and necessary for the font selection and color
5387         selection with help and apply buttons.
5388         
5389         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5390         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5391         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5392         between buttons, put less padding around the action area.
5393         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5394         This will also exit the loop if the widget is hidden.
5395         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5396         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5397         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5398         special-case delete event.
5399
5400         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5401         formatting
5402         
5403 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5404
5405         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5406         button to temporarily disable position recording in the
5407         "saved position" test.
5408
5409 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5410
5411         * gtk/gtkthemes.c: added compat code that temporarily implements
5412         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5413         going to be revamped by owen's upcoming GtkModule patches, but
5414         untill then people want gtk to build, right? ;)
5415
5416 2000-11-04  Havoc Pennington  <hp@pobox.com>
5417
5418         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5419         list
5420
5421         * docs/Changes-2.0.txt: Add note about
5422         gtk_container_get_toplevels()
5423
5424         * gtk/gtktextview.h: formatting
5425         
5426         * gtk/gtktextview.c: don't start descriptions with "Returns",
5427         confuses gtk-doc
5428
5429 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5430
5431         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5432         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5433
5434 2000-11-03  Havoc Pennington  <hp@redhat.com>
5435
5436         * gtk/gtktexttagtable.c: Docs
5437         (gtk_text_tag_table_size): return a signed int
5438
5439         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5440         (gtk_text_tag_event): make the event_object a GObject
5441
5442         * gtk/gtktextview.c: Write API docs for all functions.
5443
5444         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5445         for gtk_text_view_get_window_type() called on one of the private
5446         windows.
5447
5448         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5449         directly, call get_buffer() which demand-creates a default
5450         buffer. So gtk_text_view_new() can be used to create a view with a
5451         default buffer in it, if you just want an empty text box users can
5452         put data in. Useful for GUI builders also.
5453
5454 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5455
5456         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5457         the charset encodign portion MUST be in lowercase.
5458         * gtk/gtkrc.az: added file for Azeri language
5459
5460 2000-11-03  Havoc Pennington  <hp@redhat.com>
5461
5462         Get widgets working on the btree/buffer side. Display of them 
5463         still doesn't work.
5464         
5465         * gtk/gtktextview.c: start implementing child widget stuff
5466
5467         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5468
5469         * gtk/gtktextlayout.c: handle embedded widgets
5470
5471         * gtk/gtktextdisplay.c: handle embedded widgets
5472
5473         * gtk/gtktextchild.c: Implement all the child anchor goo
5474
5475         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5476         function
5477
5478         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5479         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5480         creating a child anchor or a pixbuf segment.
5481         (gtk_text_btree_create_child_anchor): new function
5482         (gtk_text_btree_unregister_child_anchor): new function
5483
5484         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5485         allocate_child signal on GtkTextLayout
5486
5487         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5488         values
5489         (gtk_text_iter_get_child_anchor): new function
5490
5491         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5492         default handler for the changed signal, which calls
5493         gtk_text_buffer_set_modified(), instead of just always emitting
5494         changed then calling set_modified() manually. I guess this is
5495         maybe more flexible. It seems logical.
5496
5497 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5498
5499         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5500         now.
5501
5502         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5503
5504 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5505
5506         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5507         been marked static.
5508
5509 2000-11-02  Havoc Pennington  <hp@redhat.com>
5510
5511         * gtk/testgtk.c (create_labels): had a test backward
5512
5513         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5514         fields, so the dest GC ends up with the correct clip origin, 
5515         etc. Fixes a bug where colored labels didn't redraw 
5516         properly.
5517
5518 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5519
5520         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5521         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5522         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5523         Add last argument to t_type_register_static call.
5524         
5525         * gdk/linux-fb/gdkdrawable-fb2.c:
5526         Add last argument to t_type_register_static call.
5527         export the get_image drawable virtual function.
5528
5529         * gdk/linux-fb/gdkimage-fb.c:
5530         Add last argument to t_type_register_static call.
5531         rename gtk_image_get to _gdk_fb_get_image and
5532         export it for use by gdkdrawable-fb2.
5533
5534         * gdk/linux-fb/gdkprivate-fb.h:
5535         export _gdk_fb_get_image.
5536
5537         * gdk/linux-fb/gdkselection-fb.c:
5538         Add new api call stubs.
5539
5540         * gtk/Makefile.am:
5541         Missing ( in linux-fb part.
5542
5543         * modules/linux-fb/Makefile.am:
5544         Must link with gdk_pixbuf or get unresolved symbol.
5545
5546 2000-11-01  Havoc Pennington  <hp@pobox.com>
5547
5548         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5549         GTK_TYPE_TEXT_ITER and BOXED marshallers
5550
5551         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5552
5553         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5554         
5555         * gtk/gtk-boxed.defs: add GtkTextIter
5556
5557         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5558         properly use OBJECT and BOXED
5559
5560 2000-11-01  Havoc Pennington  <hp@redhat.com>
5561
5562         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5563
5564         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5565         before returning it. 
5566         
5567 2000-11-01  Havoc Pennington  <hp@redhat.com>
5568
5569         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5570         Clip the rectangle to be rendered to the drawable, since
5571         get_from_drawable() requires a region within the drawable
5572
5573 2000-11-01  Havoc Pennington  <hp@redhat.com>
5574
5575         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5576         from coordinates.
5577
5578 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5579
5580         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5581         it isn't NULL.
5582
5583 2000-11-01  Havoc Pennington  <hp@pobox.com>
5584
5585         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5586         on a label
5587         (gtk_label_finalize): unref the attr list if any.
5588
5589         * gtk/testgtk.c (create_get_image): close test on second click
5590         (make_message_dialog): close dialog if it exists
5591
5592         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5593
5594         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5595         gdk-pixbuf
5596
5597         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5598         from Pango markup format
5599         (gtk_label_set_markup_with_accel): ditto but with accelerator
5600         parsing
5601
5602         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5603
5604         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5605         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5606         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5607         call gdk_window_get_origin().
5608
5609         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5610         implement GDK_PIXBUF_ALPHA_FULL
5611         
5612 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5613
5614         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5615         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5616         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5617         multiple handlers respectively, instead of only treating the
5618         first handler found (bug reported by owen).
5619
5620 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5621
5622         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5623
5624         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5625
5626         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5627         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5628         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5629
5630         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5631         widget.  Needs writing someday.
5632
5633         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5634         the docs.
5635
5636 2000-10-30  Havoc Pennington  <hp@redhat.com>
5637
5638         * gtk/gtktextview.h, gtk/gtktextview.c:
5639         Rename delete_at_cursor delete_from_cursor, and 
5640         move to move_cursor.
5641
5642 2000-10-30  Havoc Pennington  <hp@redhat.com>
5643
5644         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5645         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5646         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5647         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5648         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5649         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5650         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5651         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5652         gtktexttypes.h, gtktextview.c, gtktextview.h:
5653
5654         Massive reindentation and reformatting. Arg alignment and comments
5655         still need fixing in various places.
5656
5657 2000-10-30  Havoc Pennington  <hp@redhat.com>
5658
5659         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5660         to be named insert_at_cursor and delete_at_cursor so C++ can
5661         handle them.
5662
5663 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5664
5665         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5666         to get a double directory separator in case the home directory
5667         ends with one. This would cause trouble especially on Windows,
5668         where the path will be confused with the syntax for an an UNC
5669         (network share) path \\server\share\path.
5670         (gtk_rc_add_initial_default_files): Ditto.
5671
5672 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5673
5674         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5675
5676         * gtk/gtktextview.c: Use correct marshallers.
5677
5678 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5679
5680         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5681         use new iter stuff, and added all the appropriate signals et al.
5682
5683         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5684         code is internal to gtk only.
5685
5686 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5687
5688         * gtk/gtk.def
5689         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5690         glib-genmarshal etc.
5691
5692 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5693
5694         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5695         parallel builds.
5696
5697 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5698
5699         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5700
5701 2000-10-27  Robert Brady  <robert@suse.co.uk>
5702
5703         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5704         en_GB (British), ia (Interlingua).
5705
5706 2000-10-26  Havoc Pennington  <hp@redhat.com>
5707
5708         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5709
5710         Fixed output of:
5711         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5712         
5713         * gtk/gtktextsegment.c (char_segment_new): rename
5714         (_char_segment_new_from_two_strings): rename
5715         (_toggle_segment_new): rename
5716         
5717         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5718         (make_clipboard_widget): make it static
5719         (text_get_func): static
5720         (text_clear_func): static
5721
5722         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5723         static
5724         (hex_changed): make it static
5725         (hsv_changed): make it static
5726         (opacity_entry_changed): make it static
5727
5728         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5729         (toggle_segment_check_func): rename with _gtk
5730
5731         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5732         (_widget_segment_new): rename
5733         (_widget_segment_add): rename
5734         (_widget_segment_remove): rename
5735         (_widget_segment_ref): rename
5736         (_widget_segment_unref): rename
5737
5738         * gtk/gtktextmark.c (_mark_segment_new): Rename
5739         _gtk_mark_segment_new   
5740
5741 2000-10-26  Havoc Pennington  <hp@redhat.com>
5742
5743         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5744         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5745         types
5746
5747         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5748         marshaller types
5749
5750         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5751         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5752         license on these files.
5753
5754         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5755         work.
5756
5757         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5758         runtime random number different for each tree, instead of 
5759         a constant I made up.
5760
5761 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5762
5763         * gtk/Makefile.am: buncha cleanups, kludged build sources
5764         dependencies with a Makefile: oldest-source-stamp dependancy
5765         for the moment. automake is really fighting us here, with
5766         intentionally not allowing user-defined rules or dependancies
5767         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5768
5769         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5770         to public headers. tehy have a comment stating that they are
5771         "semi-public" aren't included by gtk.h and if enums popup there,
5772         they can be /*< skip >*/-ed.
5773
5774         * gtk/gtktextlayout.h: 
5775         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5776         added LGPL... <SIGH>
5777
5778 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5779
5780         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5781         GtkTreeIter.  Added iterators everywhere.
5782
5783         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5784
5785         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5786
5787         * gtk/gtktreestore.c: Changed to use the iterators.
5788
5789         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5790         iterators tomorrow.
5791
5792         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5793         iterators tomorrow.
5794
5795         * gtk/treestoretest.c: Changed to use iterators.
5796
5797         * demos/testgtk/main.c: Moved to use the new iterator system.
5798
5799 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5800
5801         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5802         localization misbehaviour.
5803
5804         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5805         a useless type without copy/free.
5806
5807         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5808         of GTK_TYPE_CTREE_NODE.
5809
5810 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5811
5812         * gtk/gtksignal.c:
5813         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5814         applicable.
5815
5816         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5817         gtk_selection_data_copy and gtk_selection_data_free
5818         do GtkSelectionData work as params in signals.
5819
5820 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5821
5822         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5823         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5824         couldn't they at least give it a non-standard name?
5825         
5826         * gtk/gtktextlayout.c: arg! yet another implementation of
5827         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5828
5829         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5830         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5831         home. now i know this _is_ a conspiracy.
5832
5833         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5834         ::state-changed.
5835
5836         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5837         (gtk_accel_group_create_add): marshaller signature fixups.
5838
5839         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5840         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5841
5842         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5843         anymore.
5844
5845 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5846
5847         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5848         due to the signal system changes, it wouldn't build currently. to
5849         be fixed soon.
5850
5851         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5852
5853         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5854         so it needs gtk_marshal_VOID__ENUM() instead of
5855         gtk_marshal_NONE__UINT().
5856
5857         * gdk/gdk*.c: adapted type registration functions.
5858
5859         * gtk/gtkbindings.c:
5860         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5861         gone.
5862
5863         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5864
5865         * gtk/gtkobject.c:
5866         (gtk_object_destroy):
5867         (gtk_object_shutdown): fixed recursion guards. basically we have to
5868         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5869         is called during ::destroy, and avoid recursion there.
5870
5871         * gtk/gtktypeutils.c:
5872         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5873         boxed_copy/boxed_free. this needs a more general solution based on a
5874         publically installed code-generator utility.
5875
5876         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5877         glib's gobject has support for that now.
5878         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5879
5880 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5881
5882         * gtk/gtksignal.[hc]:
5883         * gtk/gtkmarshal.[hc]:
5884         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5885         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5886         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5887         care of that.
5888
5889         * *.c: marshaller name fixups.
5890
5891         * gtk/gtkmarshal.list: added a comment briefing the format.
5892
5893 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5894
5895         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5896         compatibility macros here now. more specifically, most of
5897         the API is preserved (yes, _most_, nonwithstanding the
5898         following exceptions listed, the API is stil lHUGE ;)
5899         things that got removed completely:
5900         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5901         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5902         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5903         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5904         gtk_signal_remove_emission_hook().
5905         non-functional functions variants:
5906         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5907         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5908         not supported anymore.
5909         (gtk_signal_compat_matched): new internal function to aid
5910         implementation of the compatibility macros, it  provides
5911         functionality to block/unblock/disconnect handlers based
5912         on func/data.
5913
5914         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5915
5916         * *.c: adaptions to new type registration API signatures.
5917
5918 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5919
5920         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5921
5922 2000-10-25  Robert Brady  <robert@suse.co.uk>
5923
5924         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5925         gdk_property_delete): If window == NULL, assume the root window.
5926         (restoring the behaviour that was in 1.2).
5927         
5928         * gtk/testtext.c (save_buffer): Allow creation of new files when
5929         saving.
5930
5931         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5932         calls to read().
5933
5934 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5935
5936         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5937
5938         * gdk/win32/gdkdrawable-win32.c
5939         * gdk/win32/gdkimage-win32.c
5940         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5941         X11 backend.
5942
5943         * gdk/win32/gdkcc-win32.c
5944         * gdk/win32/gdkcolor-win32.c
5945         * gdk/win32/gdkfont-win32.c
5946         * gdk/win32/gdkinput-win32.c
5947         * gdk/win32/gdkmain-win32.c
5948         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5949
5950 2000-10-24  Havoc Pennington  <hp@redhat.com>
5951
5952         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5953         it a static function
5954
5955         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5956         redraw text when a tag is applied to it.
5957
5958         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5959         (gtk_text_tag_affects_nonsize_appearance): private functions to
5960         see if a tag requires various kinds of redraw/layout to be queued
5961         up.
5962
5963         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5964
5965         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5966         at the start of the buffer, so search works by default
5967
5968         * gtk/gtktextiter.c (lines_match): init match_start always
5969
5970         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5971         function, get iter at a line + a byte index
5972
5973         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5974         to set byte position within a line
5975         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5976
5977 2000-10-23  Havoc Pennington  <hp@redhat.com>
5978
5979         * gtk/testtext.c: Re-enable the "find" dialog
5980
5981         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5982         
5983         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5984         the arguments to gdk_draw_drawable were in the wrong order
5985         (gdk_window_paint_init_bg): This function was ignoring the
5986         init_region, instead of clipping to it, so the entire backing
5987         pixmap was cleared on every begin_paint()
5988         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5989         was in here again, the loop kept using the same GtkWindowPaint
5990         over and over.
5991         (gdk_window_begin_paint_region): Fix a bug where we had two
5992         x_offset instead of x_offset and y_offset
5993
5994         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
5995         before we get the image.
5996         (gdk_draw_drawable): get the composite before we draw the drawable.
5997         (gdk_drawable_real_get_composite_drawable): default
5998         get_composite_drawable implementation that returns the drawable 
5999         itself
6000
6001         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6002         get_composite_drawable virtual function
6003
6004         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6005         list-walking bug
6006
6007         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6008         make this work if the source drawable is a GdkDrawableImplX11
6009         instead of a public drawable type. This is really broken; the
6010         problem is that GdkDrawable needs a virtual method get_xid(), but
6011         of course that doesn't work in practice. Enter RTTI.
6012
6013         Also, improve mismatched depth message.
6014
6015         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6016         GdkPixmap
6017
6018         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6019         install _gdk_x11_get_image as our implementation of get_image
6020         
6021         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6022         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6023
6024         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6025         gdk_drawable_get_image
6026
6027         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6028
6029         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6030         get_image
6031
6032         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6033         trailing semicolon after for loop
6034
6035 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6036
6037         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6038         where font_desc for widget's context lagged widget's font_desc by
6039         one step.
6040
6041 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6042
6043         * gdk/win32/gdkgc-win32.c
6044         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6045
6046         * gtk/makefile.mingw.in
6047         * gtk/gtk.def: Updates.
6048
6049         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6050         library.
6051
6052         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6053
6054         * gtk/makefile.msc: Remove
6055
6056         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6057
6058         * gtk/Makefile.am: Add it.
6059
6060         * configure.in: Generate it.
6061
6062         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6063         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6064         something even if not implemented, to satisfy picky MSVC.
6065
6066         Patches by Hans Breuer:
6067         
6068         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6069         SetBkMode() and SetTextAlign() before calling
6070         pango_win32_render().
6071
6072         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6073         Set hcliprgn to NULL after destroying it.
6074         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6075
6076         * gdk/win32/gdkgeometry-win32.c
6077         (_gdk_windowing_window_queue_antiexpose): More effective
6078         implementation.
6079
6080         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6081         depth as default, not the visual's.
6082
6083         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6084         against empty title.
6085
6086         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6087         IMAGE_PRIVATE_DATA.
6088
6089         * gdk/win32/gdkimage-win32.c: Use it.
6090
6091 2000-10-22  Robert Brady  <robert@suse.co.uk>
6092
6093         * configure.in: Check for bind_textdomain_codeset
6094
6095         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6096         present, make use of it.
6097
6098         Add a translatable string "default:LTR" which, if translated
6099         to "default:RTL", will cause the default direction to be
6100         Right-to-Left.
6101
6102         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6103         direction if marked as flippable.
6104
6105         * gtk/gtkhscale.c: Mark widget as flippable.
6106         
6107 2000-10-04  Havoc Pennington  <hp@redhat.com>
6108
6109         * gtk/testgtk.c (create_buttons): create some stock buttons
6110         with the default accel group
6111         (create_image): test some new GtkImage features
6112         (make_message_dialog): test GtkMessageDialog
6113         (create_modal_window): fix someone's bizzarro indentation
6114
6115         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6116         GTK_WIN_POS_CENTER_ON_PARENT. 
6117         Add "destroy with parent" setting, which means the window goes
6118         away with its transient parent.
6119         (gtk_window_get_default_accel_group): get the default accel group
6120         for the window.
6121         (gtk_window_set_destroy_with_parent): set/unset destroy with
6122         parent flag
6123         (gtk_window_read_rcfiles): invalidate icon set caches
6124         after reloading rcfiles 
6125
6126         * gtk/gtkenums.h (GtkWindowPosition): add
6127         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6128         on its parent window when the dialog is mapped for the first time.
6129
6130         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6131         a simple message dialog class
6132         
6133         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6134         handler to emit response signal, and maybe later it would
6135         honor a hide_on_delete flag - though that isn't there yet.
6136         Set border width on the vbox to 2, so we get some padding.      
6137         Use a button box for the action area.
6138         (gtk_dialog_key_press): synthesize a delete event if Esc
6139         is pressed and the GtkWidget key press handler didn't 
6140         handle the escape key.
6141         (gtk_dialog_new_with_buttons): new function creates a dialog
6142         with some default buttons in it.
6143         (gtk_dialog_add_action_widget): add an activatable widget
6144         as a button in the dialog - you can also add a non-activatable
6145         widget by accessing the action area directly.
6146         (gtk_dialog_add_button): add a simple button - stock ID or 
6147         label - to the action area
6148         (gtk_dialog_response): emit response signal
6149         (gtk_dialog_run): block waiting for the dialog, return 
6150         the response. Override normal delete_event behavior, so that 
6151         delete_event does nothing inside gtk_dialog_run().
6152
6153         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6154         emitted when an action widget is clicked or the dialog gets
6155         delete_event
6156
6157         * gtk/gtk.h: add gtkmessagedialog.h
6158
6159         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6160
6161 2000-10-18  Havoc Pennington  <hp@redhat.com>
6162
6163         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6164         where any number of empty lines would get skipped
6165
6166         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6167         edge.
6168
6169         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6170         warning about invalid iterators (explain more thoroughly)
6171         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6172
6173         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6174         big
6175
6176         * demos/*.c: Add error handling
6177
6178         * gtk/gtktextbuffer.c: don't modify const iterators
6179
6180         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6181
6182         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6183         on file load
6184
6185         * gtk/gtkiconfactory.c: Update to reflect addition of error
6186         handling to gdk-pixbuf loaders
6187
6188 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6189
6190         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6191         move to new modularized testgtk.
6192
6193 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6194
6195         * gtk/gtktreeview.c: Draw the arrows correctly.
6196
6197         * gtk/gtktreemodel.c: Added user docs.
6198
6199         * gtk/gtk.h: remove gtktreedatalist.h.
6200
6201         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6202         parent when generating my type.
6203
6204         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6205         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6206
6207 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6208
6209         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6210         GtkTreeModel from object to interface.
6211
6212 2000-10-16  Havoc Pennington  <hp@redhat.com>
6213
6214         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6215         compilation
6216
6217 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6218
6219         * gtk/gtktreeselection.c: Add API documentation to all public
6220         functions.
6221
6222         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6223         functions.
6224
6225 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6226
6227         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6228         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6229         docs to all public functions.
6230
6231         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6232         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6233         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6234         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6235         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6236         issue.
6237
6238 2000-10-14  Robert Brady  <robert@suse.co.uk>
6239
6240         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6241
6242 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6243
6244         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6245         values other then G_TYPE_STRING.
6246         * gtk/gtktreeselection.c: Minor commenting updates.
6247         * gtk/gtktreeview.c: Format updates.
6248
6249 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6250
6251         * README.win32: Update.
6252
6253         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6254         lines that had been deleted by mistake (?).
6255
6256         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6257         also the case fg==white and bg==black (but still not randomly
6258         coloured cursors). Thanks to Wolfgang Sourdeau.
6259
6260         * gdk/win32/*.c: Silence gcc -Wall.
6261
6262         * gtk/gtk.def: Add missing entry points.
6263
6264         Fixes by Hans Breuer:
6265
6266         * gdk/makefile.msc
6267         * gdk/win32/makefile.msc: Update.
6268
6269         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6270         some MSVC thing, presumably), cause breakpoint on failures. Add
6271         GDK_NOR case. Call g_log_set_always_fatal.
6272
6273         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6274         should be pased by reference.
6275         
6276         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6277         
6278         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6279
6280         * gdk/win32/gdkevents-win32.c
6281         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6282
6283         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6284         implementation object.
6285
6286         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6287         not just windows.
6288         
6289         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6290         Use the wrapper object.
6291         
6292 2000-10-06  Havoc Pennington  <hp@redhat.com>
6293
6294         * Makefile.am (SRC_SUBDIRS): contrib subdir
6295
6296         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6297         so it can be used in Xlib version
6298
6299         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6300         tree
6301
6302         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6303         change from 1.0 tree that returns first frame of animation
6304         if the loaded file is an animation.
6305
6306         * contrib: add new directory to hold stuff that comes with GTK+
6307         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6308         
6309         * configure.in: add contrib/*
6310
6311 2000-10-05  Havoc Pennington  <hp@redhat.com>
6312
6313         * demos/testpixbuf-save.c: add pixbuf save test
6314
6315         * demos/Makefile.am: add testpixbuf-save.c
6316
6317 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6318
6319         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6320         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6321         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6322         * gtk/gtktreeselection.[ch]: Replaced
6323         "node_selected"/"node_unselected" signal with "selection_changed"
6324         signal.
6325
6326 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6327
6328         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6329         tree widget.
6330
6331 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6332
6333         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6334         drawing.
6335
6336 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6337
6338         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6339         Move list pointer forwards before removing item from
6340         list. (Crash reported by Salmaso Raffaele)
6341
6342         * gdk/gdkwindow.h: Remove spurious trailing ,
6343
6344         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6345         dependencies on uninstalled libraries, sorry folks.
6346
6347 2000-10-04  Havoc Pennington  <hp@redhat.com>
6348
6349         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6350         gtk/gtkiconfactory.c: Fix copyrights    
6351
6352         * demos/testpixbuf.c: add inline pixbuf test
6353         
6354 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6355
6356         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6357         Add gdk_window_iconify.
6358
6359         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6360         (gdk_window_set_geometry_hints): Add win_gravity
6361         to geometry structure.
6362
6363         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6364         Implement _NET_WM_PING.
6365
6366         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6367         Set _NET_WM_PID on the client leader.
6368
6369         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6370         Handle UTF-8 better.
6371
6372         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6373         UTF-8 better, set _NET_WM_NAME as well. Only set
6374         icon name if it hasn't previously been explicitely 
6375         set.
6376
6377 2000-10-03  Havoc Pennington  <hp@redhat.com>
6378
6379         * gtk/testtextbuffer.c: clean up trailing whitespace,
6380         add extensive tests for tag toggle iteration.
6381         
6382         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6383         distance
6384
6385         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6386         optimize case where the tag root is on level 1
6387         (gtk_text_line_previous_could_contain_tag): attempt to implement
6388         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6389         functionality
6390
6391         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6392         Implement this, though not very efficiently.
6393
6394         * gtk/gtktextiterprivate.h: reformat
6395
6396         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6397         iterator
6398
6399         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6400         this to properly revalidate the iterators.
6401
6402         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6403         properly at the end of the line (and therefore on empty lines)
6404
6405         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6406         maybe we should return a value...
6407
6408 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6409
6410         * config.h.win32: Guard definition of alloca(). glib.h now handles
6411         that.
6412
6413         * gdk/gdk.def
6414         * gtk/gtk.def: Add new entry points.
6415
6416         Changes just to make GTK+ build without errors on Win32. No hope
6417         of it working in its current state, though...:
6418         
6419         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6420         some functions from the X11 backend, just to make GTK+ build.
6421
6422         * gdk/makefile.mingw.in
6423         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6424         number. Add new object files.
6425
6426         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6427         GetMessageTime to get timestamp (where on X11 uses
6428         gdk_x11_get_server_time()).
6429
6430 2000-10-02  Havoc Pennington  <hp@pobox.com>
6431
6432         * gtk/gtktextview.c: text_window_* weren't static and should have
6433         been.
6434         Start work on child widgets; not yet complete, syncing to 
6435         office computer.
6436
6437         * gtk/gtktextchild.h: change this to contain a public interface,
6438         starting work on child interfaces.
6439         * gtk/gtktextchildprivate.h: move private interfaces here
6440
6441         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6442
6443         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6444         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6445         gtk/gtktextmark.c: copyright notices
6446
6447         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6448         internal functions      
6449
6450         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6451         internal function
6452
6453         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6454         Reformatting    
6455
6456 2000-09-30  Havoc Pennington  <hp@pobox.com>
6457
6458         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6459         NULL start/end pointers
6460
6461         * gtk/gtktextbuffer.c: Write some docs
6462         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6463         NULL, so you can just check whether there's a selection.        
6464
6465         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6466         cleanup_line or segments_changed ourselves, it gets done 
6467         in unlink_segment
6468
6469         * gtk/gtktextmark.h:
6470         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6471         
6472         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6473
6474         * gtk/gtktextmark.c: delete some more old Tk cruft
6475
6476         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6477         mark before removing it, so we can emit MARK_DELETED with a valid
6478         pointer.
6479         (gtk_text_buffer_mark_set): hold ref across signal emission
6480
6481         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6482         whining about attempts to delete special marks
6483
6484         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6485         underscore, since it's internal.
6486
6487         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6488         now implemented in terms of iterators in gtktextiter.h
6489
6490         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6491         New function, destructively sets contents of buffer. Also 
6492         a convenient way to clear the buffer by setting text to ""
6493
6494         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6495         multiline string literal
6496
6497         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6498         text changes.
6499
6500         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6501         is not dereferenceable
6502         (gtk_text_iter_forward_lines): fix return value
6503
6504 2000-09-29  Havoc Pennington  <hp@redhat.com>
6505
6506         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6507
6508         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6509         that set border window size to have nicer name
6510         (gtk_text_view_mark_set_handler):  Fix this to have the 
6511         right signature.
6512
6513         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6514
6515         * gtk/testtext.c: Update with API changes, put line numbers on 
6516         both sides.
6517         
6518         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6519         with this
6520
6521         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6522         pixbuf; delete a big block of #if 0 Tk code
6523
6524         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6525         insert_pixmap with insert_pixbuf
6526
6527 2000-09-29  Martin Baulig  <baulig@suse.de>
6528
6529         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6530         confusion with the GdkPixbuf of the GNOME 1.x platform.
6531
6532 2000-09-29  Havoc Pennington  <hp@pobox.com>
6533
6534         * gtk/gtktextview.c: Implement the side windows.
6535
6536         * gtk/testtext.c: Implement simple line numbering in the 
6537         left side window; seems to make scrolling sloooow. Oops.
6538         Also, cursor blink is for some reason causing redraws
6539         of the line numbers. Should investigate...
6540
6541 2000-09-28  Havoc Pennington  <hp@redhat.com>
6542
6543         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6544         scrolling child windows, and draw focus rectangle properly.
6545         
6546         (gtk_text_view_buffer_to_window_coords):
6547         Coordinate transformation to deal with all these freaking windows
6548         and offsets
6549         (gtk_text_view_window_to_buffer_coords): transform the other way
6550
6551         * gtk/testtext.c (create_buffer): Update to match Pango API change
6552
6553         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6554         anonymous tags
6555         (foreach_unref): don't emit remove signal from finalize, just
6556         set tag's parent to NULL
6557
6558 2000-09-26  Havoc Pennington  <hp@redhat.com>
6559
6560         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6561         Fix some warnings       
6562
6563 2000-09-26  Havoc Pennington  <hp@redhat.com>
6564
6565         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6566         headers into the private header list
6567
6568         * Makefile.am (pkgconfig_DATA): install pkg-config files
6569
6570         * configure.in: add pkg-config files
6571
6572         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6573
6574         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6575         outstanding icon caches on theme change.
6576
6577         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6578         important types:
6579
6580         (GtkIconSource): Specification for creating a pixbuf 
6581         appropriate for a direction/state/size triplet from 
6582         a source pixbuf or filename
6583
6584         (GtkIconSet): List of GtkIconSource objects that are used to
6585         create the "same" icon (e.g. an OK button icon), and cache for
6586         rendered icons
6587
6588         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6589         up the icon set for a given stock ID.  GTK maintains a stack of
6590         GtkIconFactory to search, and applications or libraries can add
6591         additional icon factories on top of the stack
6592         
6593         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6594         the set of GtkIconSource specified for a given stock ID into 
6595         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6596         RcStyle, under the specified stock ID.
6597
6598         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6599         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6600         This allows people to theme how prelight, insensitive, etc. are
6601         done.
6602
6603         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6604         icon factories for a style, and return the resulting 
6605         icon set if any.
6606
6607         (gtk_style_render_icon): Render an icon using the render_icon 
6608         method in the GtkStyleClass.
6609
6610         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6611         Use the style for a given widget to look up a stock ID, get the
6612         icon set, and render an icon using the render_icon method 
6613         of the style
6614
6615         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6616         (contains information about a stock item), the built-in stock item
6617         IDs, and functions to add/lookup stock items.
6618
6619         * gtk/stock-icons/*: Stock icons that come with GTK
6620
6621         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6622         a button based on a GtkStockItem
6623         (gtk_button_new_accel): Takes a uline string and accel group, and
6624         installs the accelerator.
6625
6626         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6627         image-display widget.
6628
6629 2000-09-25  Havoc Pennington  <hp@redhat.com>
6630
6631         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6632
6633         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6634         Fix a bug when removing node data, we didn't properly 
6635         re-splice the linked list after removing the data.
6636
6637         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6638         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6639
6640         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6641
6642         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6643         for the layout from the GtkTextTag.
6644
6645         * gtk/gtktexttypes.h: delete tab and search cruft, 
6646         remove g_convert() in favor of GLib version
6647
6648         * gtk/gtktexttypes.c: remove tab implementation from here,
6649         move to Pango
6650
6651         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6652         tab stuff using new PangoTabArray from Pango
6653
6654         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6655         unused border_width stuff
6656
6657 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6658
6659         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6660         glib) and now useless utf_to_latin1() latin1_to_utf()
6661
6662         * gtk/gtktextview.[ch]: Change ::move_insert and
6663         ::delete_text action signals to ::move and ::delete;
6664         create the signals with the right enumeration type,
6665         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6666         C-v bindings, change Home, End to move to beginning/end
6667         of line, Add C-Home C-End to move to beginning/end
6668         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6669         combine ::scroll_text into ::move; use new GtkSelectionData
6670         functions to simplify DND text handling.
6671         
6672         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6673         deletion enumerations here, rename enumeration values to 
6674         be consistently plural.
6675
6676         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6677         for cut/copy/paste and primary selection.
6678
6679         * gtk/gtktextbuffer.[ch]: Remove excess time and
6680         'interactive' arguments from cut/copy/paste;
6681         rename cut to cut_clipboard, etc; remove
6682         gtk_text_buffer_get_clipboard_contents().
6683
6684         * gtk/gtktextlayout.[ch]: Add 
6685         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6686         line ends.
6687
6688         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6689         Functions to set or get a UTF-8 string on the selection
6690         data.
6691
6692         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6693         interfaces.
6694
6695         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6696         created widgets - one of these is useless if we don't.
6697
6698         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6699         a public function clear all targets registered for the
6700         widget.
6701
6702         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6703         Never call gtk_widget_realize() - that was just asking
6704         for bizarre side-effects.
6705
6706         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6707         gdk_selection_owner_set even if the widget is the
6708         same so that we reliably update the timestamp on
6709         the server.
6710
6711         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6712         gdk_x11_get_server_time() function.
6713         
6714         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6715         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6716         Add some tricky filtering on serial numbers for
6717         selection clear events to fix up long-standard
6718         race condition FIXME's in gtkselection.c.
6719
6720         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6721         routines to convert from utf8 to compound text or
6722         STRING and from a text property to UTF-8.
6723
6724         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6725         a convenience function gdk_get_current_event_time().
6726
6727         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6728         and free selection_data->data properly
6729
6730 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6731
6732         * gtk/gtkthemes.c: Remove some unecessary includes.
6733
6734 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6735
6736         * gtk/gtktextdisplay.c
6737         * gtk/gtktextlayout.c
6738         * gtk/gtktexttag.c
6739         * gtk/gtktexttag.h
6740         * gtk/testtext.c: Change the overstrike property to strikethrough,
6741         to closer match pango.
6742
6743 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6744
6745         * gtk/gtktextview.c: Fix up visibility so that focus,
6746         cursor_visible and blink interact properly.  Reenable cursor blink
6747         which had been roughly disabled. Make blink and focus
6748         properly per-view.
6749
6750         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6751         Add a flag for whether to display insertion cursor and
6752         a function to set the flag.
6753
6754         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6755         get_line_y() to get_line_yrange(), to be a bit more generally
6756         useful.
6757
6758 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6759
6760         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6761           do stop_navigating_submenu, to clear last timeout properly.
6762           Also in gtk_menu_motion_notify move ignore_enter above
6763           the conditional to make it always happen as suggested by Owen
6764
6765 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6766
6767         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6768
6769         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6770         w32api headers.
6771
6772         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6773         declarations.
6774
6775         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6776         (gdk_win32_get_colormap): A line had been deleted by mistake.
6777
6778         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6779         (gdk_event_translate): Handle more virtual keycodes to be able to
6780         generate GDK events for Control-comma, Control-period, etc.
6781
6782         * gtk/gtk.def: Add some missing entry points.
6783
6784 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6785
6786         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6787         Doc comment fixing. (Mostly non-matching parameter names.)
6788
6789         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6790         comments a little to avoid looking like a doc comment.
6791
6792         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6793         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6794         conversions be changed to GError?)
6795
6796         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6797         Move private #defines into .c file.
6798
6799         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6800         order of argument addition, remove duplicates.
6801
6802         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6803         parent class is FrameClass, not BinClass.
6804
6805         * gtk/gtk.h: Add gtkinvisible, which was missing.
6806         (It's occasionalyl useful for client apps, if seldom.)
6807
6808         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6809         #define.
6810
6811 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6812
6813         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6814         coordinates when creating window, instead of GDK-space
6815         coordinates. (Avoid BadValue on too large windows.)
6816
6817 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6818
6819         * configure.in (use_mmx_asm): Remove conftest* after use along the
6820         lines of AC_TRY_COMPILE.        
6821         
6822         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6823         of g_dirname, which is deprecated.
6824         (gtk_rc_parse_any): Removed calls to
6825         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6826
6827         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6828         Removed calls to g_hash_table_{freeze,thaw}, as they are
6829         deprecated now.
6830
6831         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6832         instead of g_basename.
6833         
6834 2000-09-04 Elliot Lee <sopwith@redhat.com>
6835         
6836         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6837         ANSI warning.
6838
6839 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6840
6841         * gtk/gtkwidget.h:  Add some documenting comments about 
6842           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6843           just as owen said on irc.
6844
6845         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6846           set HAS_DEFAULT.  Only set it if there isn't another window
6847           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6848           it if the widget is not the focused window with RECEIVES_DEFAULT.
6849           This fixes weird double default bugs in dialogs which has things
6850           call gtk_window_set_default at times.
6851
6852 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6853
6854         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6855         Nils Barth and David Santiago to improve submenu
6856         navigation. The patch does this by creating a triangular
6857         region from the point where the pointer leaves the
6858         menu to the submenu.  While the pointer is in
6859         that region and a timeout has not expired, events 
6860         that would cause the active submenu to change are
6861         ignored.
6862
6863 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6864
6865         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6866         moving a toplevel window immediately after sizing it would
6867         result in it being sized back to the old size since 
6868         impl->width, impl->height aren't updated until we hear
6869         back from the server. There is still a (longstanding) bug
6870         here that gdk_window_get_size() will give the wrong size
6871         until we do hear back.
6872
6873 2000-08-31  Havoc Pennington  <hp@redhat.com>
6874
6875         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6876         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6877         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6878         Rename GtkTextStyleValues to GtkTextAttributes
6879
6880 2000-08-31  Havoc Pennington  <hp@pobox.com>
6881
6882         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6883         for rapid testing whether an iterator is the end iterator
6884         (gtk_text_btree_new): init end line cache
6885         (gtk_text_line_is_last): use fast cached line to 
6886         see if we're the last line.
6887         (get_last_line): use cached line here too, should 
6888         speed up some random unrelated code.
6889         
6890 2000-08-30  Havoc Pennington  <hp@pobox.com>
6891
6892         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6893         signals.
6894
6895         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6896         delete_text signals. This allows the signals to be used for
6897         implementing undo.
6898
6899         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6900         provide "interactive" argument when emitting insert_text or
6901         delete_text signal.
6902         
6903 2000-08-30  Havoc Pennington  <hp@pobox.com>
6904
6905         * gtk/gtktextbuffer.c: Docs
6906
6907 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6908
6909         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6910         from switch statements, since Tor removed the enumeration
6911         value.
6912         
6913         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6914         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6915
6916 2000-08-29 Elliot Lee <sopwith@redhat.com>
6917         * */*.h: Use G_GNUC_CONST.
6918
6919 2000-08-27  Havoc Pennington  <hp@pobox.com>
6920
6921         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6922         minor indentation fixes, inserted some FIXME about stuff I
6923         realized was broken while documenting it.
6924         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6925         GTK convention  
6926
6927 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6928
6929         * gtk/testgtk.c (create_styles): Fix double free of
6930         font desc.
6931
6932 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6933
6934         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6935         
6936         * gtk/testgtk.c (create_styles): Add a test for modifying
6937         the style through gtk_widget_modify_*.
6938
6939         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6940         a function to get the current modifier style.
6941
6942         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6943         of the passed in GtkRcStyle instead of ref'ing it.
6944
6945         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6946
6947 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6948
6949         * gdk/gdkimage.h
6950         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6951         shared memory image+pixmap GdkImage type, or
6952         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6953         I am dropping that.
6954
6955         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6956         actually call gtk_init_abi_check(), passing also
6957         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6958
6959         * gtk/gtk.def
6960         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6961         New functions, used to check that the GTK+-using code has been
6962         compiled using the correct compiler and switches. In particular,
6963         with gcc one has to use the -fnative-struct switch as GTK+ is
6964         compiled with that.
6965
6966 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6967
6968         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6969         ->prev fields when merging lists. (Found simultaneously
6970         by Pawel Salek and Jakub Jelinek)
6971
6972 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6973
6974         * gdk/gdk.def
6975         * gtk/gtk.def: Add missing entries.
6976
6977         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6978         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6979
6980         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6981         function. Dummy implementation at this point.
6982
6983         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6984         rules. Undefine GTK_COMPILATION when compiling the test programs.
6985         
6986         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6987
6988 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6989
6990         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6991         to convert back and forth from UTF-8 and the "system" (or "current
6992         locale") charset when necessary. Indentation/spacing cleanup.
6993
6994 2000-08-10  Havoc Pennington  <hp@redhat.com>
6995
6996         * Makefile.am (snapshot): Change the format of the snapshot
6997         version to match glib
6998
6999         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7000         from EXTRA_DIST since it doesn't seem to exist
7001
7002 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7003
7004         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7005         version of the directory name (not the UTF-8 one) when building
7006         the path name to stat().
7007
7008 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7009
7010         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7011         PANGO_ATTR_SHAPE set.
7012
7013 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7014
7015         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7016         Peter Osterlund to simplify the code while keeping the
7017         functionality the same.
7018
7019 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7020
7021         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7022         is_viewable() test further inside the function, since removing the 
7023         window from the redraw list without clearing ->update_area
7024         was also very broken.
7025
7026 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7027
7028         * configure.in: Check for <unistd.h>.
7029
7030 2000-08-01  Martin Baulig  <baulig@suse.de>
7031
7032         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7033         to display the message that this is a development version of GTK+.
7034
7035 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7036
7037         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7038         was depending on widget->allocation instead of the width of text_area,
7039         which was incorrect for subclasses like GtkSpinButton.
7040
7041         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7042         with width == 1 tests that should be width == -1.
7043
7044 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7045
7046         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7047         (broken, Elliot, every single window blank on X) custom code with call
7048         to gdk_window_is_viewable() which a) prevents code duplicate and
7049         b) works. 
7050
7051 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7052
7053         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7054         to get the GDK_PARENT_ROOT() macro to work.
7055         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7056         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7057         of, windows that aren't shown.
7058         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7059         pointer grab stuff.
7060
7061 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7062
7063         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7064           s/gtk_main_iteration/g_main_iteration/
7065
7066           Did this already in change:
7067                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7068           don't know how it got reverted.
7069
7070 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7071
7072         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7073         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7074
7075         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7076         not gdk_pixbuf.
7077
7078 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7079
7080         * configure.in,po/{sp,sr}.po: Added Serbian files
7081
7082 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7083
7084         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7085
7086         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7087         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7088         GIOChannel implementation.
7089
7090         * gdk/win32/gdkinput.c
7091         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7092
7093         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7094         definition to match prototype.
7095
7096         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7097
7098 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7099
7100         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7101         function, to allow handling image formats that cannot be detected
7102         by looking at content alone.
7103
7104 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7105
7106         * docs/tutorial/*.gif *.jpg *.eps
7107           Update these to the same look-n-feel.
7108           Why does including images in DocBook suck so badly?
7109
7110 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7111
7112         * gtk/gtktable.c: applied patch from Phil Thompson
7113         <phil@river-bank.demon.co.uk> that enables space settings for
7114         the last row/columns as well.
7115
7116 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7117
7118         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7119         updates the license headers to the GNU Lesser General Public License,
7120         as well as updating the copyright year to 2000.
7121
7122 2000-07-26  Robert Brady  <rwb197@zepler.org>
7123
7124         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7125           and po/Makefile, was installing and looking for them under gtk20
7126           and gtk2 respectively.
7127
7128 2000-07-25  Havoc Pennington  <hp@redhat.com>
7129
7130         * gtk/testtext.c: Comment out some stuff that depends on the rest
7131         of my patches.
7132
7133 2000-07-25  Havoc Pennington  <hp@redhat.com>
7134
7135         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7136         buffer
7137
7138 2000-07-25  Havoc Pennington  <hp@redhat.com>
7139
7140         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7141         widget changes.
7142
7143         * gtk/gtktextview.h: To be consistent with usage of "line"
7144         throughout the API to mean "newline-terminated thingy", change
7145         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7146         to MOVEMENT_LINE.
7147
7148         (GtkTextView): Add flags for default editability, and whether to
7149         show the cursor. Add functions to get/set that. Add 
7150
7151         (gtk_text_view_get_iter_location): new function
7152
7153         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7154         gtktextlayout.h
7155         (g_convert): Add g_convert temporarily, will go in glib in a bit
7156         
7157         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7158         GtkTextTagTableForeach instead of brokenly using GHFunc.
7159         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7160
7161         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7162         moved to public header.
7163
7164         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7165         "invisible", since "elide" was a bad name.
7166         (gtk_text_tag_get_priority): Added
7167
7168         (GtkTextStyleValues): put this in public header, along with
7169         functions to use it.
7170
7171         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7172         longer include gtktextbtree.h.
7173
7174         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7175         gtk_text_mark_deleted
7176
7177         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7178         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7179         to make this possible. Now we only need to install
7180         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7181         (However the Makefile.am isn't changed yet because of the
7182         logistics of merging gtk-hp-patches piecemeal)
7183
7184         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7185         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7186         gtk_text_iter_get_line is now used in the public API for a
7187         different purpose.
7188
7189         * gtk/gtktextiter.h: Clean up function names to be more
7190         consistent. Always call char offset "offset" and byte index
7191         "index". A "line" is always a line number. 
7192
7193         (gtk_text_iter_is_last): new function, more efficient than 
7194         the existing way to check
7195         (gtk_text_iter_is_first): new function, also more efficient
7196
7197         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7198
7199         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7200         gtk_text_iter_forward_char, etc.
7201
7202         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7203         forward_find_tag_toggle, since this isn't a linear search
7204
7205         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7206
7207         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7208         New functions, search for a buffer substring.
7209
7210         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7211         interactive and default editable (since we need to store that info
7212         until we receive the selection data).
7213
7214         Remove all the _at_char and at_line etc. versions of functions;
7215         only have iterator versions.
7216
7217         Add _interactive() versions of functions, that consider the
7218         editability of text. (FIXME add interactive flag to the 
7219         insert/delete signals per Darin's suggestion)
7220
7221         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7222         tag table if necessary
7223
7224         Remove declaration of gtk_text_buffer_get_iter_from_string
7225
7226         (_gtk_text_buffer_get_btree): private/internal function, added.
7227         
7228
7229         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7230         (gtk_text_line_is_last): new function
7231
7232 2000-07-25  Havoc Pennington  <hp@redhat.com>
7233
7234         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7235         using GtkProgressBar. See Changes-2.0.txt for details.
7236
7237         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7238         "pulse_step" which are the equivalent of
7239         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7240         Implement new API.
7241         
7242         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7243         (use_text_format) to mark whether text set on the progress bar is
7244         a format string. Deprecate entire GtkProgress interface.
7245
7246         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7247         (gtk_progress_build_string): make this a no-op if use_text_format
7248         is FALSE
7249
7250         * docs/Changes-2.0.txt: Describe progress bar changes.
7251
7252 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7253
7254         * Makefile.am: Include the build directory.
7255
7256         * configure.in: Generate build/Makefile, build/win32/Makefile,
7257         gdk/, gdk/win32/, and gtk/makefile.mingw.
7258
7259         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7260         Add GETTEXT_PACKAGE.
7261         
7262         * gdk/gdk.def
7263         * gtk/gtk.def: Updates.
7264
7265         * gdk/gdkfont.h
7266         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7267         need them any longer.
7268
7269         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7270
7271         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7272         PANGOWIN32_LIBS and gdk_pixbuf.
7273
7274         * gdk/win32: Compiles, but no doubt doesn't work at all.
7275
7276         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7277
7278         * gdk/win32/gdkinput.c: New file, temporarily.
7279         
7280         * gdk/win32/gdkinput-win32.h: New file
7281
7282         * gdk/win32/gdkinputprivate.h: Remove.
7283
7284         * gdk/win32/gdkpango-win32.c: New file.
7285
7286         * gtk/makefile.mingw.in: New file
7287
7288         * gtk/makefile.cygwin: Removed
7289         
7290         * gtk/Makefile.am: Update accordingly.
7291
7292         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7293         made externally visible.
7294
7295         * gtk/gtkmain.c: Use it.
7296         
7297         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7298         is enough.
7299
7300         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7301
7302 2000-07-24 Elliot Lee <sopwith@redhat.com>
7303         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7304         individual backends already.
7305         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7306         again. Yes, there really is a good reason for this, if you are using the gdkregion
7307         internals, and if you're not, why do you care?
7308         * gdk/gdkwindow.c: Fix inverted condition
7309         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7310         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7311         * gtk/gtkrange.c: Redraw trough when moving.
7312         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7313         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7314
7315 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7316
7317         * configure.in: Check for mkstemp and sigsetjmp. Output
7318         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7319
7320         More work on GDK for Win32. Still in an intermediate state.
7321
7322         * gdk/makefile.cygwin
7323         * gdk/win32/makefile.cygwin: Removed.
7324         
7325         * gdk/makefile.mingw.in
7326         * gdk/win32/makefile.mingw.in: New files.
7327
7328         * gdk/Makefile.am
7329         * gdk/win32/Makefile.am: Generate and distribute them.
7330
7331         * gdk/win32/gdkwindow-win32.h
7332         * gdk/win32/gdkdrawable-win32.h
7333         * gdk/win32/gdkpixmap-win32.h: New files.
7334
7335         * gdk/win32/gdkcolor-win32.c
7336         * gdk/win32/gdkcursor-win32.c
7337         * gdk/win32/gdkdrawable-win32.c
7338         * gdk/win32/gdkgc-win32.c
7339         * gdk/win32/gdkimage-win32.c
7340         * gdk/win32/gdkprivate-win32.h
7341         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7342         Rename fields and variables called xcursor, xid, etc (these names
7343         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7344
7345 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7346
7347         * gtk/gtkentry.[ch]: Fix some problems with vertical
7348         alignment.
7349
7350         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7351         char/byte confusion.
7352
7353 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7354
7355         * gtk/gtktextview.c (changed_handler): Fix bug where
7356         redraw wasn't being done properly when height of
7357         dirty region changed.
7358
7359         * demos/Makefile.am: Remove various references to
7360         -lgmodule
7361
7362 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7363
7364         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7365         PangoAttrShape to reserve space for pixmaps, add 
7366         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7367         in the display functions.
7368         
7369         * gtk/testgtk.c (create_layout): Set some more exotic
7370         scrolled window options
7371
7372         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7373         Add function to set the shadow type of a window, to allow
7374         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7375         which don't draw their own frame.
7376
7377 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7378
7379         * docs/tutorial/package-db-tutorial.sh: New file for
7380           packaging DocBook format tutorial
7381
7382 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7383
7384         * docs/tutorial/gtk-tut.sgml: Minor updates
7385
7386         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7387
7388 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7389
7390         * gtk/gtksignal.c: Fix C++ comment.
7391
7392         * gtk/gtkimmulticontext.c
7393         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7394         don't return value from void functions.
7395
7396         * gtk/gtk.def: Add gtk_rc_style_unref.
7397
7398 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7399
7400         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7401         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7402         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7403         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7404         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7405         gtk/gtktypeutils.h: Include files outside of the extern "C"
7406         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7407         <vakatov@peony.nlm.nih.gov>.
7408
7409 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7410
7411         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7412           Completes first pass. Hurrah!
7413
7414 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7415
7416         * docs/tutorial/gtk-tut.sgml: More clean ups.
7417
7418 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7419
7420         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7421         paint the background of the text area which was accidentally
7422         removed at some point.
7423
7424         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7425           
7426          - Move most of the functionality from the theme vtable
7427            into GtkRcStyleClass and GtkStyleClass. The moved
7428            vtable functions were changed a bit in the move to
7429            work better in their new home.
7430
7431          - Get rid of the engine and engine_data fields from
7432            GtkRcStyle and GtkStyle; instead the theme
7433            engine derives theme-specific subclasses of GtkRcStyle
7434            and GtkStyle
7435
7436          - Add extra dlsym() found entry point to themes,
7437            theme_create_rc_style().
7438
7439         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7440         in gtk_style_real_copy.
7441
7442         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7443         to register a type associated with an engine. (The engine
7444         won't be unloaded as there is an instance of the type.)
7445
7446
7447 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7448
7449         * docs/tutorial/gtk-tut.sgml: Clean ups.
7450
7451 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7452
7453         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7454           of cleaning up to do.
7455
7456 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7457
7458         * gdk/testgdk.c: New file, quick hack to test backends for
7459         pixel-by-pixel correctness of the most simple graphic operations.
7460
7461 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7462
7463         * Really release 1.3.1
7464         
7465         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7466         include structure.
7467
7468 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7469
7470         * Released 1.3.1
7471
7472 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7473
7474         * gtk/gtktextlayout.c: use FALSE for size_only most
7475         of the time when calling gtk_text_layout_get_line_display()
7476         to avoid causing double reshapes when a redraw follows
7477         immediately after.
7478
7479 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7480
7481         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7482         appropriate region and gdk_window_process_updates() so trough
7483         updating doesn't lag behind the window being scrolled.
7484
7485         * gdk/gdkgc.c: Make parent_class pointer static.
7486          
7487 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7488
7489         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7490         include <string.h>.
7491          
7492         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7493         cut-and-paste error in computing memory offset for 4 channels.
7494
7495 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7496
7497         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7498         gtk_rc_append_default_pixmap_path(), since it wasn't
7499         adding an interesting path and we don't have a meaningful
7500         default for this value.
7501
7502 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7503
7504         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7505         gtk-config to gtk-config-2.0 move gtk_.m4 to
7506         gtk-2.0.m4
7507
7508         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7509         gdk/Makefile.am demos/Makefile.am: Change 
7510         library names to libgtk-1.3.la, etc, so that we
7511         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7512
7513         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7514         gdk/Makefile.am gdk/x11/Makfile.am
7515         Move include files into /usr/include/gtk-2.0, 
7516         /usr/lib/gtk-2.0/include/
7517          
7518         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7519         gtk/gtkintl.h: Change package for gettext from 
7520         gtk+ to gtk20. Put hack in autogen.sh to modify
7521         po/Makefile.in.in after gettextize to make this
7522         possible.
7523
7524         * gtk+.spec: Some updates, not tested.
7525
7526         * gdk-pixbuf/Makefile.am: Move loaders into
7527         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7528
7529         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7530         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7531         to THEMENAME/gtk-2.0/. Move engine directory  to
7532         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7533         
7534 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7535
7536         Win32 changes, still doesn't build though.
7537
7538         * gdk/makefile.cygwin
7539         * gdk/win32/makefile.cygwin
7540         * gtk/makefile.cygwin: Updates.
7541
7542         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7543         default values for fg and bg pixel as X11 does (0 and 1), not
7544         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7545         Use 0 for pen width by default (treated as 1 anyway later, but for
7546         apps that might check the value in the GdkGC).
7547         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7548         interface to gdk_gc_predraw and _postdraw.
7549
7550         * gdk/win32/gdkwin32.h
7551         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7552
7553         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7554         extraneous semicolon.
7555
7556         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7557
7558         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7559         not the Win32 bitspixel value.
7560
7561         * gdk/win32/gdkcc-win32.c:
7562         * gdk/win32/gdkcolor-win32.c 
7563         * gdk/win32/gdkprivate-win32.h
7564         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7565         GDK object structure.
7566
7567 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7568
7569         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7570         * docs/tutorial/gtk_tut_it.sgml (name): 
7571         * docs/tutorial/gtk_tut_fr.sgml (name): 
7572         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7573         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7574
7575 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7576
7577         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7578           small changes.
7579
7580 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7581
7582         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7583         a bug here, never been here and never fixed anything ;(
7584         (don't segfault if tree->root_tree is NULL, which happens prior
7585         to widget realization, but puke instead).
7586
7587 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7588
7589         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7590         add the necessary tokens.
7591
7592         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7593         (gtk_rc_style_to_style): copy thicknesses.
7594         (gtk_rc_init_style): apply thicknesses.
7595         (gtk_rc_parse_style): parse xthickness and ythickness.
7596
7597         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7598
7599         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7600         (gdk_window_new): 
7601         (_gdk_windowing_window_init): 
7602         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7603         (gdk_pixmap_create_from_data): 
7604         (gdk_bitmap_create_from_data): 
7605         (gdk_pixmap_new): 
7606         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7607         (gdk_image_new): 
7608         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7609         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7610         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7611         (gdk_colormap_get_system): 
7612         (gdk_colormap_new): 
7613         * gdk/gdkwindow.c (gdk_window_init): 
7614         * gtk/gtkstyle.c (gtk_style_new):
7615         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7616         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7617         * gtk/gtkrc.c (gtk_rc_style_new):
7618         use g_object_new() instead of g_type_create_instance() which
7619         is a private function for fundamental type implementations.
7620
7621 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7622
7623         * configure.in: Add check for db2html
7624
7625 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7626
7627         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7628         hack to set glib_debug_objects based on gtk_debug_flags.
7629
7630 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7631
7632         * INSTALL.in: Update the Prerequisites section.
7633
7634         * Makefile.am demos/Makefile.am docs/Makefile.am
7635         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7636         gdk/linux-fb/Makefile.am: Dist fixes
7637
7638 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7639
7640         * NEWS: 10,000 foot view of 1.3.1 changes.
7641
7642 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7643
7644         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7645         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7646         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7647         gdk/x11/gdkmain-x11.c: 
7648
7649         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7650         as a return value of gdk_*_grab(). Previously, we just
7651         returned the X11 values directly.
7652
7653 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7654
7655         * gdk/x11/Makefile.am: Patch from George Lebl to 
7656         install all the headers in the right place.
7657
7658 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7659
7660         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7661           initial conversion to DocBook.
7662
7663 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7664
7665         * README.win32: Improve a bit.
7666
7667         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7668         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7669         Alt+0nnn on the numpad (used to enter characters by numeric code
7670         from current DOS or ANSI codepage) working correctly, as in other
7671         Windows apps.
7672
7673         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7674         same argument validity tests as in X11 version.
7675         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7676
7677         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7678         definitions in case missing from headers.
7679
7680         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7681         destroy the window-specific cursor.
7682         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7683         calling GetModuleHandle(NULL).
7684         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7685         with CopyCursor before setting it as the window-specific
7686         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7687         also its Windows cursor) after calling this function. Destroy any
7688         previous window-specific cursor.
7689
7690 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7691
7692         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7693         font charset is iso8859-1, not iso-8859-1.
7694
7695 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7696
7697         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7698         Use g_get_charset() instead of g_get_codeset().
7699
7700         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7701         Comment out some strdup'ing functions to keep timj
7702         happy until we finish fighting this out.
7703
7704 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7705
7706         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7707         <= width or height.
7708
7709         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7710         from 1.2 for parent/child states.
7711
7712         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7713         of typos.
7714
7715         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7716         event structures, replace with a generic axes field. Replace 
7717         deviceid/sourec with GdkDevice *device.
7718
7719         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7720         to extract particular axis use value from event. (Also
7721         can be used for normal X/Y.)
7722
7723         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7724         allow for arbitrary number of axes, namespace everything
7725         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7726         everywhere.
7727
7728         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7729         Get rid of the gdk_input_vtable setup if favor of simply
7730         defining the functions in gdkinput-none/gxi/xfree.c in
7731         a similar fashion to the way that the port structure is 
7732         done.
7733
7734         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7735         for new event structures. 
7736
7737         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7738         new device interfaces.
7739
7740 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7741
7742         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7743         set the initial text.
7744
7745         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7746         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7747         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7748         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
7749
7750         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7751         pango_layout_set_font_description to simplify.
7752
7753 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
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:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7759
7760         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7761         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7762         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7763
7764         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7765         PANGO_PIXELS() macro.
7766
7767 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7768
7769         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7770         that returns a PangoContext owned by the widget and updated to
7771         match future changes in the widget. Also, make 
7772         gtk_widget_create_pango_layout() use this context. If we ever
7773         add a ::changed signal to PangoContext, this will make things
7774         much more convenient. 
7775
7776         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7777         in the appropriate places instead of destroying the layouts and
7778         creating new ones.
7779
7780         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7781         in a few strategic places.
7782
7783 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7784
7785         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7786         gtk_widget_size_request() on reparented child, if one. Otherwise,
7787         queue_resize() on the child never results in it getting size-requested
7788         at all.
7789
7790         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7791         in option menus, so that (with luck) people won't copy it into
7792         their apps in the future.
7793
7794         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7795         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7796         a lot of problems with changing the size of the menu's menu
7797         items after adding it to the option menu.
7798
7799         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7800
7801         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7802         the text direction for a widget changes.
7803
7804         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7805         ::direction_changed to get rid of various hacks.
7806
7807 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7808
7809         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7810         name.
7811
7812 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7813
7814         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7815         flag to the structure. Do not call XFreePixmap on pixmaps created
7816         by gdk_pixmap_foreign_new().
7817
7818 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7819
7820         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7821         value using GdkRGB functionality given GdkColormap and GdkColor.
7822         (name not final, waiting for inspiration.)
7823         
7824         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7825         set the foreground/background of a GC using the GC's colormap
7826         and GdkRGB. (name not final, waiting for inspiration.)
7827
7828         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7829         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7830
7831         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7832         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7833         purely a function of the corresponding colormap. Make
7834         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7835
7836         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7837         gdk_pixbuf_*create_from_xpm_* in terms of
7838         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7839         code.
7840
7841         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7842         advantage of the new draw_rgb_32_image_dithalign.
7843
7844         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7845
7846         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7847         on each created GC.
7848
7849         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7850
7851         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7852         which we initialize from the drawable when the GC is created,
7853         if the drawable has a colormap.
7854
7855         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7856
7857         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7858
7859         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7860
7861 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7862
7863         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7864         actually returning expose events, make sure to set
7865         the count field properly.
7866
7867         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7868         accidentally reintroced bug which always cleared
7869         the graphics_exposures value. 
7870
7871 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7872
7873         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7874
7875 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7876
7877         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7878
7879 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7880
7881         * docs/faq/gtk-faq.sgml: Start of Section 6.
7882
7883 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7884
7885         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7886         
7887         (Fixes problem with drawing childless frames. Pointed out
7888         by and a first patch from Anders)
7889         
7890         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7891         compute a child_allocation, even if we don't have a child.
7892
7893         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7894         Always chain to the parent's impl, even if we don't have a child.
7895
7896 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7897
7898         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7899         use multiple parts of it instead of creating a bunch of separate
7900         segments, since the maximum number of segments per system is not
7901         large. (This might be worth backporting to GTK+-1.2.x if we make a
7902         new release )
7903
7904         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7905         structure in preparation for per-colormap GdkRGB.
7906
7907         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7908         to False when we get EINVAL from shmget so that the caller of
7909         gdk_image_new can retry with a smaller segment size.
7910
7911 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7912
7913         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7914
7915 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7916
7917         * configure.in: make the current version number 1.3.1 (binary age 0,
7918         interface age 0).
7919         
7920         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7921         gtkcompat.h is all we want.
7922
7923         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7924         GLib primitive types. fixed g_type_register_fundamental() argument
7925         ordering.
7926
7927         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7928         compiles.
7929
7930         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7931         object code cleanup, comment trigraph fixes, etc...
7932
7933 2000-06-23  Havoc Pennington  <hp@redhat.com>
7934
7935         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7936         instead of making up a bogus name for first_para_mark
7937
7938         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7939         0 as a context ID
7940
7941 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7942
7943         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7944
7945 2000-06-21  Havoc Pennington  <hp@pobox.com>
7946
7947         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7948         we didn't check window->bg_pixmap != GDK_NO_BG.
7949
7950         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7951         gdk-pixbuf
7952
7953 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7954
7955         * docs/faq/gtk-faq.sgm: Move file to here.
7956           TODO: Update Makfile.am 
7957
7958 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7959
7960         * docs/gtk-faq.sgm: Add Section 2
7961
7962 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7963
7964         * docs/gtk-faq.sgm: New file. Start of DocBook
7965           version of the FAQ.
7966
7967 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7968
7969         * configure.in (GDK_PIXBUF_MAJOR): Define version
7970         numbers for GDK_PIXBUF_*, as they get substituted
7971         into a header file. Need to consider versioning
7972         for gdk-pixbuf more carefully later.
7973
7974 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7975
7976         Work with srcdir != builddir.   
7977         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7978         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7979         * demos/testpixbuf.c: Likewise.
7980         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7981         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7982         <gdk/x11/gdkx.h>.
7983         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7984         "gdk-pixbuf.h".
7985         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7986
7987 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7988
7989         * TODO.xml: Change 1.4 version numbers to 2.0.
7990
7991 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7992
7993         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7994         fixups to GTK+ standard.
7995
7996 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
7997
7998         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
7999         gdk-pixbuf.
8000
8001         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8002         fixups for GObject.
8003
8004         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8005         gdk-pixbuf with GDK dependencies moved into GDK.
8006         
8007         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8008         move gdk-pixbuf-loader here until GObject has signals.
8009
8010         * demos/: New directory of demos. Move demos from
8011         gdk-pixbuf here.
8012
8013         * demos/pixbuf-init.c: Small bit of code to check for
8014         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8015         set GDK_PIXBUF_MODULEDIR appropriately.
8016
8017         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8018         define which no longer makes sense.
8019
8020 2000-06-21  Havoc Pennington  <hp@redhat.com>
8021
8022         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8023         gtk_get_default_language
8024
8025         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8026         new function to get the default language
8027
8028         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8029         s/gtk_text_view_style_values/gtk_text_style_values/
8030
8031         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8032         Add a "language" field to tags.
8033
8034         (gtk_text_tag_set_arg): Fix bug in setting
8035         "bg_full_height_set" tag.
8036
8037 2000-06-21  Havoc Pennington  <hp@redhat.com>
8038
8039         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8040         in the interfaces
8041
8042         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8043         stuff instead when possible.
8044
8045         * gtk/gtktexttypes.h: Delete some unused constants
8046
8047         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8048         testtextbuffer.c: use glib instead of custom unicode routines
8049
8050 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8051
8052         * docs/es/: Removed mistakenly added generated sgml
8053
8054         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8055         Remove outdated info files.
8056
8057         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8058         Moved tutorial files into subdir
8059
8060         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8061         subdir.
8062
8063         * docs/man/gtk_button.pod: Remove. (contents will be
8064         integrated into gtk-reference button page.)
8065
8066         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8067         docs/faq/Makefile.am: Adjust for new organization
8068
8069 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8070
8071         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8072         not $(MKINSTALLDIRS)
8073
8074 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8075
8076         * gtk/testgtk.c (create_text): Finish the job Elliot started
8077         of removing font setting test for text widget. (Since text widget
8078         and GdkFont are not deprecated, and cause portability problems.)
8079
8080 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8081
8082         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8083         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8084         Remove use of libunicode in favor of new GLib functions.
8085
8086         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8087         nano-x, framebuffer. The X11 include is just a hack until we get
8088         the necessary functions in gdkcolor.h, so there is no reason to
8089         add other includes of platforms.
8090
8091         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8092         window bigger than the screen change.
8093
8094         * gtk/testgtk.c: Revert some random changes from Elliot
8095         that had no particular point and were causing testgtkrc
8096         not to function correctly.
8097         
8098         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8099         because GdkSegment and GdkRegionBox have the same fields,
8100         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8101         results in clearer code.
8102
8103         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8104         gdk_input_translate_coordinates): Fix missed GdkObjectification
8105
8106 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8107
8108         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8109         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8110
8111 2000-06-20  Havoc Pennington  <hp@redhat.com>
8112
8113         * modules/linux-fb/Makefile.am: Make this compile
8114         without framebuffer enabled
8115
8116         * gdk/linux-fb/Makefile.am: Add conditional to not build
8117         framebuffer unless specified in configure
8118
8119         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8120         the size of the target instead of source if -1 was passed for
8121         width/height
8122
8123         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8124         width/height confusion.
8125
8126 2000-06-19  Havoc Pennington  <hp@redhat.com>
8127
8128         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8129         GDK_DRAWABLE_XID. In the future, we probably want to make it
8130         faster with G_DISABLE_CHECKS turned on.
8131
8132 2000-06-14  Havoc Pennington  <hp@redhat.com>
8133
8134         * gdk/Makefile.am: add gdkpixmap.c
8135
8136         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8137         s/gdk_image_init/_gdk_windowing_image_init
8138
8139         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8140         ref/unref
8141
8142         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8143
8144         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8145         GdkWindowType is now non-deprecated; 
8146         change gdk_window_get_type() compat to be
8147         gdk_window_get_window_type().
8148
8149         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8150
8151         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8152         virtual GObject. Make all functions call into the vtable.
8153         Move gdk_image_put() guts in here. Remove GdkDrawableType
8154         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8155         draw_image, get_depth, get_size, set_colormap, get_colormap,
8156         get_visual added to the vtable.
8157         
8158         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8159         GObject. Virtualize everything. 
8160         (gdk_gc_new_with_values): remove check for destroyed window,
8161         because now GdkWindow::create_gc will check this.
8162         (gdk_gc_set_values): New function to set GC values, this 
8163         was already implemented but wasn't in the header
8164
8165         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8166
8167         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8168         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8169         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8170         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8171         _gdk_windowing_window_init, rename gdk_image_init to
8172         _gdk_windowing_image_init.
8173         
8174         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8175         (gdk_draw_layout): Remove check for destroyed window, 
8176         because all the drawable methods already check it.
8177         
8178         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8179         Add gdkpixmap.c which contains implementation of GdkDrawable
8180         virtual table (by chaining to a platform-specific implementation
8181         object).
8182         
8183         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8184         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8185         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8186         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8187         GdkColormapPrivate. 
8188
8189         * gdk/gdktypes.h: #include <glib-object.h>
8190
8191         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8192         Move most functionality to platform-specific implementation
8193         object. GdkWindow itself now handles the backing store, then
8194         chains to the platform-specific implementation.
8195         (gdk_window_get_window_type): return GdkWindowType of the window.
8196         (gdk_window_peek_children): New routine, returns the children of 
8197         a GdkWindow
8198         (gdk_window_get_children): Was in X11-specific code and did 
8199         XQueryTree. Changed to simply return a copy of window->children; 
8200         so it can go in cross-platform code.
8201         
8202         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8203
8204         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8205         GdkColormap; just changed to use the new private data instead
8206         of casting to GdkColormapPrivate.
8207
8208         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8209         gdk_cursor_new().
8210
8211         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8212         (private data member in the GObject). 
8213         (xdnd_manager_source_filter): Function had broken 
8214         error handling, fix it (use gdk_error_trap_push).
8215
8216         * gdk/x11/gdkdrawable-x11.c: This file now implements
8217         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8218         base class is purely for the convenience of the X port,
8219         and not part of the interface to cross-platform GDK.
8220
8221         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8222         
8223         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8224         specific to X, and returned by the create_gc virtual method
8225         of GdkDrawableImplX11. 
8226         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8227         rather than gchar, this was also changed in the GdkGC vtable.
8228         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8229         mask is 0, return immediately, instead of checking every flag.
8230         This is faster, and keeps us from segfaulting if values is NULL
8231         and the mask contains some nonzero flags.
8232
8233         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8234         GdkWindow.
8235
8236         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8237         GdkWindowPrivate is gone.
8238
8239         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8240
8241         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8242         remove the image_put stuff that got transferred to GdkDrawable.
8243         
8244         * gdk/x11/gdkinput.c: renamings
8245
8246         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8247
8248         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8249
8250         * gdk/x11/gdkprivate-x11.h: indentation fixes
8251
8252         * gdk/x11/gdkproperty-x11.c: renamings
8253
8254         * gdk/x11/gdkselection-x11.c: renamings
8255
8256         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8257         implements the platform-specific "impl" object.
8258         Moved gdk_window_get_children to gdk/gdkwindow.c
8259
8260         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8261         that no longer exist. Add declaration of GdkGCX11 object here.
8262         Fix all the macros to still work. 
8263
8264         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8265         GdkDragContext from the boxed types since they are now GObjects.
8266
8267         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8268         moved xthickness/ythickness into the instance. GtkStyleClass
8269         functions are now in the standard vtable for GtkStyle, so you have
8270         to create a GObject subclass to write a theme engine.
8271         (gtk_style_copy): fixed a leaked PangoFontDescription
8272         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8273         can be the standard GObject function.
8274         
8275         * Throughout GTK:
8276         s/style->klass->[xy]thickness/style->[xy]thickness
8277         s/pango_layout_unref/g_object_unref/
8278
8279         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8280         
8281         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8282         accessing GDK internals.
8283
8284         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8285         accessing GDK internals.
8286
8287 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8288
8289         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8290
8291         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8292         problem by calculating event position relative to the trough
8293         rather than the slider.
8294         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8295
8296         * gdk/gdkgc.h: Add GDK_NOR.
8297
8298         * configure.in, Makefile.am: Add modules top level dir
8299         * configure.in: Only use pangox library if building x11 target.
8300         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8301
8302 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8303
8304         * gtk/gtkcolorsel.c: Change private class member to be named
8305         private_data throughout the file.
8306
8307         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8308         private_data to avoid clashing with keyword.
8309
8310 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8311
8312         * gdk/gdkdnd.h: Add comment to remove warning.
8313
8314 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8315
8316         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8317         Byelorussian language; changed the Makefile and file names 
8318         to reflect that.
8319
8320 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8321
8322         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8323         rather than gdk_window_hide; this makes things work
8324         correctly if the window is programmatically hidden while
8325         iconified.
8326
8327 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8328
8329         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8330         cut and paste typo where wrong pixmap was being
8331         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8332
8333 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8334
8335         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8336         Add helper function to compute format / bytes 
8337         relationship. Use in a couple places to fix up
8338         errors which assume 8 * format.
8339
8340         * gtk/gtkselection.c (gtk_selection_request): Use 32
8341         rather than 8 * sizeof (GdkAtom), to work correctly
8342         on Alpha.
8343
8344 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8345
8346         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8347         libgtk.la
8348         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8349         versions
8350
8351         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8352         checking macros return NULL since the function has a return value.
8353
8354 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8355
8356         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8357         GTK+ from building at all.
8358
8359         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8360
8361 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8362
8363         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8364         gtk/Makefile.am: make it possible to configure gtk for different
8365         targets on the same platform. The library name is now 
8366         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8367         flag. Only the x11 target compiles right now.
8368         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8369         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8370         * gdk/nanox/gdk*generic*: delete generic region code.
8371         * gdk/linux-fb/gdk*generic*: delete generic region code.
8372         * README.nanox: update information.
8373         
8374 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8375
8376         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8377         prepend not append. (Pointed out by Brett Hall.)
8378
8379 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8380
8381         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8382
8383 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8384
8385         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8386         need this later, and this makes sure that the atexit for
8387         glib gets called after that for GDK, so atexits are
8388         properly ordered for object leak checking.
8389
8390         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8391
8392         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8393         pango_x_shutdown_display()
8394
8395         * gtk/simple.c (main): Close window on destroy.
8396
8397 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8398
8399         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8400         to treat initial creation different from setting with 
8401         regards to the graphics-exposures parameter, so add a parameter
8402         indicating whether this is initial or not.
8403
8404 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8405
8406         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8407         to sort of work by adding an extra return_exposes arg
8408         to gdk_event_translate() - it might be better to simply
8409         deprecate the function altogether and force people to rewrite
8410         without it. gdk_window_scroll() handles most of it, and where
8411         gdk_window_scroll() doesn't work, simply redrawing more does.
8412
8413         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8414         assertion.
8415
8416         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8417
8418         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8419         bunch of pretty much useless /* Print debugging info */ comments 
8420         which had drifted away from the code they were commenting.
8421
8422 2000-06-02  Havoc Pennington  <hp@pobox.com>
8423
8424         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8425         is in working order.
8426         
8427         * gtk/testtext.c: Change to reflect anonymous mark API
8428
8429         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8430
8431         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8432         field, which was unused.
8433
8434         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8435         saves some typing.
8436
8437         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8438
8439         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8440         flag on the insertion point and selection bound
8441
8442         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8443         make mark-manipulation functions take a GtkTextMark* instead of a
8444         mark name.
8445         
8446         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8447         GtkTextMarkBody; will be used to detect attempts to delete
8448         the permanent marks (insert and selection bound)
8449
8450         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8451
8452 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8453
8454         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8455         flag to on.
8456
8457         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8458         Honor DOUBLE_BUFFRED_FLAG
8459
8460         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8461         function to set the DOUBLE_BUFFERED flag.
8462
8463         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8464         or not exposes done on the widget should be double-buffered.
8465
8466         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8467         to be what would be expected. (Fixes problem with a
8468         g_return_if_fail() validating a TextDirection enumeration)
8469
8470 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8471
8472         * gtk/gtkwidget.c: Remove all references to 
8473         offscreen flag which was no longer used.
8474
8475         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8476
8477         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8478         for non-null label_widget->parent.
8479
8480         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8481         which no longer was used.
8482
8483         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8484
8485         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8486         for null arguments.
8487
8488         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8489         check for destroyed windows.
8490
8491 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8492
8493         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8494         the slave context there.
8495
8496         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8497         identical to GtkWindow.
8498
8499 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8500
8501         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8502         pangox to here, so we can write them independent of rendering
8503         system, using GDK primitives.
8504
8505         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8506         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8507         since we have a rendering-system independent implementation in
8508         terms of draw_glyphs().
8509         
8510         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8511         function to render a single line.
8512
8513         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8514         into ../gdkpango.c, which simplifies things, since we
8515         don't have to deal with raw X gc's.
8516
8517 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8518
8519         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8520         get the logical attributes for a given GtkTextLine.
8521
8522 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8523
8524         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8525         g_locale_get_codeset() to g_get_codeset() change.
8526
8527 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8528
8529         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8530         descriptions.
8531
8532         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8533         the entry.
8534
8535         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8536         redoing (vastly simplifying) for Pango. Still needs quite
8537         a bit of work. (Size selection is currently poor. List of 
8538         predefined sizes is not a good idea, since all of these
8539         sizes won't necessarily be distinct.)
8540
8541 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8542
8543         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8544         CODESET results for LANG=C.
8545
8546 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8547
8548         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8549         which takes a stringized pango font description;
8550         ignore the older 'font' and 'fontset' declarations.
8551
8552         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8553         field with a GdkFont derived via gdk_font_from_description(),
8554         for compatibility. (Should we just remove it entirely?
8555         Probably too much compatibility breakage, but people
8556         should be migrating to the new Pango stuff as quickly
8557         as possible.)
8558
8559 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8560
8561         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8562
8563 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8564
8565         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8566         redoing; there are some bugs in size allocation right
8567         now, the semi-existant distinction between header / day
8568         fonts was removed, but, with Pango, could actually
8569         be made functional in a nice way.
8570         
8571         * gtk/testcalender: Move calender from examples into this
8572         directory as a test program. (We really need to restrcture
8573         testgtk into a whole directory full of tests for every
8574         widget or functionality group, separated into multiple .c
8575         files.)
8576
8577 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8578
8579         * gtk/testgtk.c (file_exists): Fix stupid typo that
8580         was keeping RC file from being loaded.
8581
8582         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8583         RC file font code.
8584
8585 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8586
8587         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8588         Add function to load a GdkFont from a PangoFontDescription.
8589
8590 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8591
8592         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8593         variable should be of type GdkEventPrivate.
8594
8595 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8596
8597         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8598         to have any widget for the label, use a GtkLabel widget
8599         to display the text. (Based partially on a patch from
8600         Anders Carlson.)
8601
8602         (Quite a bit of code reorganization - strip 90% of the
8603         guts out of gtkaspectframe and add a single virtual
8604         func to GtkFrameClass - compute_child_allocation.)
8605
8606 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8607
8608         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8609         (Removed clist->row_center_offset field because caching
8610         it wasn't saving time or code, added private function
8611         _gtk_clist_create_cell_layout()).
8612
8613 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8614
8615         * gtk/gtkaccellabel.c: Pangoized.
8616
8617         * gtk/[hv]ruler.c: Pangoized
8618
8619 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8620
8621         * gtk/gtkfilesel.c (gtk_file_selection_init):
8622         Use gtk_clist_set_column_auto_resize() to remove need
8623         need for manual column width computations.
8624
8625 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8626
8627         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8628         ensuring Pango correctness, and considerably simplifying the
8629         code.
8630         
8631         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8632
8633         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8634         getting of numbers of lines.
8635
8636         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8637         to the actual requested width of the lable, not to the wrap
8638         width we set.
8639
8640         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8641
8642         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8643           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8644
8645         * gtk/gtktextview.c: Fix structure inheritance.
8646
8647         * gtk/gtkprogressbar.c: Pangoize.
8648
8649 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8650
8651         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8652         in a function.
8653
8654         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8655         bug with computing line tops.
8656
8657         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8658
8659 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8660
8661         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8662         and y_offset coordinates to do what we need now. (The offset between
8663         buffer and layout coordinates has been reintroduced, but is a 
8664         bit different than before.)
8665
8666         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8667         handle the adjustments ourselves, and scroll as necessary using
8668         the new gdk_window_scroll().
8669         
8670         The advantage of this is that when we are incrementally revalidating,
8671         we are essentially rearranging things around the visible portion
8672         of the screen. With the old setup, the visible portion of the
8673         screen was moved around in the layout, so scrolling and redrawing
8674         to track that caused jumping of the display. Since we now
8675         control the scrolling ourselves, we can suppress this and
8676         only redraw when things actually change.
8677
8678 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8679
8680         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8681         the region not just redisplay it after-all, since we store the
8682         cursors in the LineDisplay. (Ugly interactions here between
8683         GtkLayout and GtkTextBTree here.)
8684         
8685         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8686
8687 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8688
8689         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8690         Added function to scroll contents of a window while keeping the
8691         window constant. Works by XCopyArea or guffaw-scrolling depending
8692         on the details of how the window is set up. (guffaw-scrolling
8693         still needs to be filled in.)
8694
8695 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8696
8697         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8698         move the debugging that was tied to a global variable
8699         to that.
8700
8701         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8702
8703         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8704         validated flag, in line data instead of setting height/width to
8705         -1. This allows us to perform operations with partially invalid
8706         buffer (using the old size for invalid lines) and thus to do
8707         incremental vaidation. Keep height/width aggregates up to date
8708         when deleting text and rebalancing the tree.
8709
8710         * gtk/gtktextbtree.[ch]: Add functions validate a line
8711         (gtk_text_btree_validate_line), and to validate up
8712         to a number of pixels (gtk_text_btree_validate).
8713
8714         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8715         that indicates that something is changed and a revalidation
8716         pass is needed. Change ::need_repaint to ::changed, and
8717         make it take old and new yranges instead of a rectangle.
8718
8719         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8720         the line_data_destroy() function from 
8721         gtk_text_btree_add_view() to a virtual function in 
8722         GtkTextLayout
8723
8724         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8725         since we are handling partial repaints in a different fashion
8726         now.
8727
8728         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8729         of the selection instead of queueing a repaint on the
8730         entire widget.
8731
8732         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8733         get_selection_bounds() down to btree, make the function
8734         in buffer a wrapper around the btree function.
8735
8736         * gtk/gtktextlayout.[ch]: Add functions to check if the
8737         layout is valid and to recompute either a range of pixels
8738         aroudn a line or a certain total number of pixels.
8739
8740         * gtk/gtktextlayout.[ch]: Cache a single line display;
8741         now that we only redraw the needed portions, the hit rate
8742         for this cache is quite high.
8743         
8744         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8745         on the screen so that when re-laying-out the buffer, we can
8746         keep the same place. This requires connecting to ::value_changed
8747         on the adjustments
8748
8749         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8750         the buffer after we receive an ::invalidated signal.
8751         
8752 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8753
8754         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8755         to max of allocation and layout size, not just to the
8756         layout size.
8757
8758         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8759         Invalidate window so it gets redrawn properly.
8760
8761         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8762         to mean the entire window.
8763
8764         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8765         into public header.
8766
8767 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8768
8769         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8770         to get the name of a mark.
8771
8772         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8773         to find the paragraph from a y position.
8774
8775 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8776
8777         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8778         nodes have width/height >= 0, not > 0.
8779
8780 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8781
8782         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8783         Add a size_only flag, so when we only need the size, we don't create
8784         useless appearance attributes.
8785
8786         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8787         duplicate setting of font description.
8788
8789         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8790
8791 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8792
8793         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8794         EXTRA_DIST. It does not work well when the file that
8795         everything depends on is not in the tarball.
8796
8797 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8798
8799         * gtk/testgtk.c: Some hacks and fixes so that it basically
8800         works when not sitting in the GTK+ build tree.
8801
8802 2000-05-03  Havoc Pennington  <hp@redhat.com>
8803
8804         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8805         Properly determine the ordering of the tag root and the current
8806         line within the tree. Previous algorithm only worked if the tag
8807         root's immediate parent was the common root of both the current
8808         line and the tag root.
8809
8810 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8811
8812         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8813         alignment.
8814
8815         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8816         the widget text directional dynamically.
8817
8818         * gtk/gtktextview.[ch]: Added functions to get and set default
8819         wrap mode.
8820
8821 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8822
8823         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8824         in cursor location computation.
8825
8826 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8827
8828         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8829         vadjusment values properly when layout gets smaller.
8830
8831         * gtk/gtktextview.c (need_repaint_handler): Areas being
8832         passed in are far completely inaccurate, and sometimes
8833         too small, so, for now, just queue a redraw on the
8834         whole visible region.
8835
8836 2000-04-25  Havoc Pennington  <hp@redhat.com>
8837
8838         * gtk/gtktextbtree.c (summary_destroy): new function to 
8839         destroy tag summary nodes
8840         (gtk_text_line_next_could_contain_tag): this function was 
8841         totally broken if the line passed in wasn't below the tag
8842         root. Fix it.
8843         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8844         "wildcard" case, we have to do a linear scan. Blah.
8845         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8846         we have to do the linear scan
8847         (tag_removed_cb): When a tag is removed from the tag table, 
8848         remove the GtkTextTagInfo node from the btree.
8849         (gtk_text_btree_spew): Implement the spew function, for 
8850         our debugging pleasure.
8851
8852 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8853
8854         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8855         a problem with referring to the wrong buffer.
8856
8857         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8858
8859         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8860         font description to gtk_style_new() - otherwise things
8861         don't work without a .gtkrc file.
8862
8863         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8864         tags table if we create it ourself, too.
8865
8866         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8867         it was conflicting with XKB modifiers.
8868
8869         * gtk/gtktextview.[ch]: Add simple support for 
8870         GtkIMContext.
8871
8872 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8873
8874         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8875         with deletion from last commit.
8876
8877 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8878
8879         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8880         in the context from the current locale.
8881         
8882         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8883         context, not hardcoded value.
8884
8885         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8886         not logical.
8887
8888 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8889
8890         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8891         attributes - that doesn't handle partial-glyph selection
8892         properly. Instead use new pango_layout_line_get_x_ranges()
8893         functionality to draw the selection.
8894
8895         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8896         now properly handles out-of-range coordinates.
8897
8898         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8899
8900         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8901         public.
8902
8903         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8904         for paragraphs opposite to the base direction of the widget.
8905
8906         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8907
8908         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8909         causes Arabic words to reshape as you cursor through.
8910
8911         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8912         cursor position when moving vertically with the arrow keys and
8913         scrolling with page-up/page-down. (Arrow keys save only the X,
8914         scrolling saves both X and Y.)
8915
8916         This means you can line-up / line-down or page-up / page-down
8917         without losing your place, and also that moving vertically
8918         with the cursor keys keeps the same X position, not the same
8919         character count:
8920
8921         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8922         arrow keys move by display lines, not paragraphs.
8923
8924 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8925
8926         * gtk/gtklayout.c: Make sure that the bin window is at least
8927         as big as the allocation. (Should we also make sure that the
8928         bin window is big enough to completely cover widget->window?)
8929
8930         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8931         function to get the onscreen rectangle.
8932
8933         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8934         for offsets in window coordinates.
8935
8936 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8937
8938         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8939         confusion.
8940
8941         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8942         from the widget direction.
8943
8944         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8945         Add a "direction" attribute.
8946
8947         * gtk/gtktextview.c: global s/tkxt/text_view/.
8948
8949         * gtk/testtext.c: Added long block of text in Arabic, to test out
8950         the direction attributes. (Some problems with the shaping system
8951         for arabic become obvious - like the fact the cursor splits words
8952         into unjoined pieces.)
8953
8954 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8955
8956         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8957
8958         * gtk/gtktextlayout.c: Fix up alignment.
8959
8960         * gtk/testtext.c: Add some tests for centering, wrapping.
8961
8962 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8963
8964         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8965         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8966         If we wrote GTK+-specific layout-render function this could just replace
8967         the draw_layout() operation in the vtable.
8968
8969         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8970         pango_layout_get_cursor_pos() and use that function.
8971
8972         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8973         is a non-static symbol.
8974
8975         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8976         with gtk_text_btree_find_line_by_y()
8977
8978         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8979         renderer that handles GtkTextAppearance attributes.
8980
8981         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8982
8983           - Move the values in the style that don't affect geometry into a
8984             GtkTextAppearance structure.
8985           - Change underline to take a PangoUnderline and "font" a string
8986             representation of a font description
8987           - Add a "font_desc" attribute which takes a FontDescription structure.
8988
8989         * gtk/gtktextlayout.[ch]:
8990
8991           - Get rid of the display-line list per each line. Instead, we
8992             generate, on demand, a GtkTextLineDisplay structure which]
8993             contains a PangoLayout * and other necesary information
8994             (offsets, cursor locations) for displaying a paragraph.
8995           - Get rid of the code to wrap lines, create display chunks,
8996             etc. Instead, we just go through a paragraph and convert
8997             it into the necessary inputs to a PangoLayout.
8998           - Implement a new attribute type, GtkTextAttrAppearance. This
8999             holds a GtkTextAppearance, and is used to pass colors, 
9000             stipple, etc, through from the layout to the display without
9001             having to use lots and lots of individual attributes.
9002           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9003             in terms of PangoLayout functions.
9004         
9005         * gtk/gtktextview.c: 
9006          
9007           - Handle passing the necessary PangoContext to the layout
9008           - Some fixups in painting to deal with the automatic backing store
9009             and offsetting of GTK+-1.4
9010           - Add a style_set handler so that the default style reacts
9011             properly to theme changes.
9012         
9013         * gtk/gtktext?*.[ch]: Random code-style fixes.
9014
9015         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9016
9017 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9018
9019         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9020         in original form preparatory to Pango-ization and gdkimcontext-ization.
9021
9022 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9023
9024         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9025         so that we can derive from gtkimcontext in language bindings properly.
9026
9027 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9028
9029         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9030         Add a compose table including (almost) all the compose combinations
9031         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9032         data in the XIM implementation.
9033
9034         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9035         Moved functions to convert keyvalues from and to unicode here from
9036         the win32 port and made them public.
9037
9038 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9039
9040         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9041
9042 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9043
9044         * gtk/gtkimcontext.[ch]: Base class for new input context system
9045
9046         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9047         the real input context implementation to be loaded from modules
9048         and switched on the fly.
9049
9050         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9051         context that just does direct keysymbol => unicode translation.
9052
9053         * gtk/gtkentry.[ch]: Start switching editing over to using
9054         GtkInputContext. (No handling of preedit yet.)
9055
9056 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9057
9058         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9059         many substitutions. (klass should not be subsituted.)
9060
9061 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9062
9063         * configure.in: Add checks for Pango
9064
9065         * configure.in docs/Makefile.am: Add test for sgml2html
9066         and allow 'make dist' without building html, but print out
9067         warnings in that case. (For making snapshots)
9068
9069         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9070         Add Pango libraries and C flags
9071
9072         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9073         Add function (gdk_draw_layout) to draw a pango layout.
9074
9075         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9076         for getting Pango contexts for GDK.
9077
9078         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9079
9080         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9081         editing.
9082
9083         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9084         keysym => unicode translations. More languages can be added
9085         here, but real input-method support is needed.
9086
9087         * docs/Changes-1.4.txt: Added note about entry behavior.
9088         
9089         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9090         to set the reading direction for a widget and the global direction.
9091         Add test which allows toggling the global direction. Two private
9092         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9093
9094         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9095           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9096
9097         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9098
9099         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9100         underlining now handled by Pango.
9101
9102         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9103         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9104         is temporary.)
9105
9106         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9107         convenience functions for creating contexts and layouts for widgets.
9108
9109         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9110
9111 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9112
9113         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9114         titles to be active, even if they aren't visible.
9115         (gtk_clist_column_titles_passive):  Ditto.
9116
9117 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9118
9119         * gtkmenu.c:
9120         * gtkmenu.h:
9121         * gtktypeutils.h: Spelling/grammar fixes in comments.
9122
9123 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9124
9125         * gdk/nanox/*.h: add missing header files.
9126
9127 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9128
9129         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9130         send_event to TRUE.
9131         (gtk_drawing_area_size): queue a resize.
9132
9133 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9134
9135         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9136         the handlers, also invalidate them. bug nailed down by Karl Nelson
9137         <kenelson@ece.ucdavis.edu>.
9138
9139 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9140
9141         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9142         "(nil)" foundries, patch from Grigorios Magklis.
9143
9144         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9145         on non-available fonts, based on a patch by Grigorios Magklis
9146         <maglis@cs.rochester.edu>.
9147
9148 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9149
9150         * gdk/x11/gdkregion-generic.c: If a region does not have any
9151         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9152         instead of GDK_OVERLAP_RECTANGLE_IN.
9153
9154 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9155
9156         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9157         OFFSCREEN, as it is no longer necessary.
9158
9159 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9160
9161         * gtk/gtkcolorsel.c: Patch from David Santiago
9162         <mrcooger@cyberverse.com> to change things so that the 
9163         indicator of the active palette entry is done independently,
9164         not via the focus, since it should always be visible.
9165
9166 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9167
9168         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9169         refcount leaks as in the X11 backend.
9170
9171         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9172         cosmetics.
9173
9174         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9175         backend. Add _gdk_windowing_window_destroy().
9176
9177         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9178         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9179         either, but these probably do exist on nanox?)
9180         
9181         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9182         which isn't necessarily defined by <math.h>.
9183
9184         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9185         ancestry past GtkObject.
9186
9187         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9188         from DLL on Win32.
9189
9190         * gtk/gtk.def: Update corresponding to recent changes.
9191
9192         * gtk/makefile.{cygwin,msc}: Updates.
9193
9194 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9195
9196         * docs/Changes-1.4.txt: A bit of editing.
9197
9198         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9199         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9200         to clear the update area for the window, and clear it
9201         when hiding a window.
9202
9203         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9204         if window destroyed.
9205
9206         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9207
9208         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9209         gdk_window_destroy() to the generic code, since there was a lot of 
9210         window-system-independent logic it in. Add a function:
9211         
9212          _gdk_window_destroy() 
9213
9214         to the internal API to destroy a window without unreferencing it.
9215         Add a function:
9216
9217          _gdk_windowing_window_destroy()
9218
9219         That does the windowing-system-dependent part of destroying 
9220         the window.
9221
9222 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9223
9224         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9225
9226 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9227
9228         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9229         Make gtk_widget_shape_combine_mask() keep a reference count on
9230         the pixmap since it keeps it around.
9231
9232 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9233
9234         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9235         leak.
9236
9237         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9238         leak with event filters.
9239
9240 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9241
9242         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9243         signal handlers with the right data arguments. (Fixes
9244         some warnings when a widget was repeatedly set as a drag
9245         destination.)
9246
9247         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9248         window so we can avoid avoid setting the DND properties on the
9249         toplevel window repeatedly.
9250
9251 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9252
9253         * gdk/win32/gdkwin32.h: Define more message types missing from
9254         mingw headers.
9255
9256         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9257         call gdk_window_destroy_notify(). It was never called. This
9258         probably meant that the GdkWindow was never freed. Thanks Owen for
9259         noticing (!).
9260
9261         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9262         window as destroyed before calling DestroyWindow(). DestroyWindow()
9263         causes a call to the window procedure (gdk_WindowProc), which
9264         calls gdk_event_translate(), which calls
9265         gdk_window_destroy_notify(), which gets confused unless the window
9266         is set as destroyed.
9267
9268         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9269         this function to indicate it's win32 only. Put inside #ifdef
9270         G_ENABLE_DEBUG.
9271
9272         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9273         debugging function. (gdk_event_translate:) Add a default branch
9274         that uses the above function to print debug messages with all
9275         Windows messages symbolically.
9276
9277         * gdk/win32/gdkprivate-win32.h: Declare it, and
9278         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9279
9280 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9281
9282         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9283         public header file.
9284
9285 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9286
9287         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9288
9289         * gtk/gtktext.c: made the adjustments no-construct args, simply
9290         provide default adjustments.
9291         (gtk_text_destroy): release adjustments.
9292
9293         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9294         adjustment argument non-construct.
9295
9296         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9297         instead of in finalize.
9298         (gtk_progress_get_text_from_value): 
9299         (gtk_progress_get_current_text): 
9300         (gtk_progress_set_value): 
9301         (gtk_progress_get_percentage_from_value): 
9302         (gtk_progress_get_current_percentage): 
9303         (gtk_progress_set_percentage): 
9304         (gtk_progress_configure): ensure an adjustment is present.
9305
9306 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9307
9308         * gtk/gtkcolorsel.[hc]:
9309         * gtk/gtkcolorseldialog.[hc]:
9310         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9311         their parent implementation, use bit fields for boolean values, don't
9312         create unused widgets, usage of glib types, braces go on their own
9313         lines, function argument alignment, #include directives etc. etc. etc..
9314
9315         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9316
9317 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9318
9319         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9320
9321         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9322         of NULL.
9323
9324         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9325         to freed data.
9326         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9327
9328         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9329         to NULL when the toplevel is getting destroyed.
9330         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9331         (gtk_menu_destroy): 
9332         (gtk_menu_init): store the information of whether we have to
9333         readd the initial child ref_count during destruction in a new
9334         GtkMenu field needs_destruction_ref_count.
9335
9336         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9337         here, those reading: learn from my mistake! ;)
9338         in order for set_?adjustment to support a default adjustemnt if
9339         invoked with an adjustment pointer of NULL, the code read (pseudo):
9340         if (v->adjustment) unref (v->adjustment);
9341         if (!adjustment) adjustment = adjustment_new ();
9342         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9343         now imagine the first unref to actually free the old adjustment and
9344         adjustment_new() creating a new adjustment from the very same memory
9345         portion. here, the latter comparision will unintendedly fail, and
9346         all hell breaks loose.
9347         (gtk_viewport_set_hadjustment):
9348         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9349         after unreferencing it.
9350
9351         * gtk/gtkcontainer.[hc]: removed toplevel registration
9352         functions: gtk_container_register_toplevel(),
9353         gtk_container_unregister_toplevel() and
9354         gtk_container_get_toplevels() which had wrong semantics
9355         anyways: it didn't reference and copy the list.
9356
9357         * gtk/gtkwindow.c: we take over the container toplevel registration
9358         bussiness now. windows are registered across multiple destructions,
9359         untill they are finalized. the initial implicit reference count
9360         users are holding on windows is removed with the first destruction
9361         though.
9362         (gtk_window_init): ref & sink and set has_user_ref_count, got
9363         rid of gtk_container_register_toplevel() call. add window to
9364         toplevel_list.
9365         (gtk_window_destroy): unref the window if has_user_ref_count
9366         is still set, got rid of call to
9367         gtk_container_unregister_toplevel().
9368         (gtk_window_finalize): remove window from toplevel list.
9369         (gtk_window_list_toplevels): new function to return a newly
9370         created list with referenced toplevels.
9371         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9372
9373         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9374         adjustment a non-construct arg.
9375         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9376         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9377         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9378
9379         * gtk/gtkrange.c: added some realized checks.
9380         (gtk_range_destroy): get rid of the h/v adjustments in the
9381         destroy handler instead of finalize. remove timer.
9382         (gtk_range_get_adjustment): demand create adjustment.
9383
9384         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9385         we simply create them on demand now and get rid of them in
9386         the destroy handler.
9387         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9388         destroy handler instead of finalize.
9389         (gtk_viewport_get_hadjustment): 
9390         (gtk_viewport_get_vadjustment): 
9391         (gtk_viewport_size_allocate): demand create h/v adjustment
9392         if required.
9393
9394         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9395         gtk_widget_real_destroy () functionality.
9396         (gtk_widget_real_destroy): reinitialize with a new style, instead
9397         of setting widget->style to NULL.
9398
9399 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9400
9401         * gtk/gtkcalendar.c:
9402         * gtk/gtkbutton.c: ported _get_type() implementation over to
9403         GType, either to preserve memchunks allocation facilities,
9404         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9405
9406         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9407         over. prepare for ::destroy to be emitted multiple times.
9408         removed reference tracer magic. chain into GObjectClass.shutdown()
9409         to emit ::destroy signal.
9410
9411         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9412         fundamental.
9413
9414         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9415         cludge.
9416
9417         * gtk/gtksocket.c:
9418         * gtk/gtkplug.c:
9419         * gtk/gtklayout.c:
9420         * gtk/gtklabel.c:
9421         * gtk/gtkargcollector.c:
9422         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9423         not being a fundamental anymore, and to work with the new
9424         type system (nuked fundamental type varargs clutter).
9425
9426         * gtk/*.c: install finalize handlers in the GObjectClass
9427         part of the class structure.
9428         changed direct GTK_OBJECT()->klass accesses to
9429         GTK_*_GET_CLASS().
9430         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9431
9432         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9433         GType. made most of the GTK_*() type macros and Gtk* typedefs
9434         simple wrappers around macros and types provided by GType.
9435         most notably, a significant portion of the old API vanished:
9436         GTK_TYPE_MAKE(),
9437         GTK_TYPE_SEQNO(),
9438         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9439         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9440         GTK_TYPE_ARGS,
9441         GTK_TYPE_CALLBACK,
9442         GTK_TYPE_C_CALLBACK,
9443         GTK_TYPE_FOREIGN,
9444         GtkTypeQuery,
9445         gtk_type_query(),
9446         gtk_type_set_varargs_type(),
9447         gtk_type_get_varargs_type(),
9448         gtk_type_check_object_cast(),
9449         gtk_type_check_class_cast(),
9450         gtk_type_describe_tree(),
9451         gtk_type_describe_heritage(),
9452         gtk_type_free(),
9453         gtk_type_children_types(),
9454         gtk_type_set_chunk_alloc(),
9455         gtk_type_register_enum(),
9456         gtk_type_register_flags(),
9457         gtk_type_parent_class().
9458         replacements, where available are described in ../docs/Changes-1.4.txt.
9459         implemented compatibility functions for the remaining API.
9460
9461         * configure.in: depend on glib 1.3.1, use gobject module.
9462
9463 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9464
9465         * TODO.xml: Various updates to current status.
9466
9467 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9468
9469         * gtk.m4: Print out version when test succeeds.
9470
9471 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9472
9473         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9474         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9475         
9476         (Original triangle color selector from Simon Budig
9477         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9478         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9479         Santiago <mrcooger@cyberverse.com>)
9480
9481         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9482         out into a separate widget.
9483
9484         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9485         and opacity controls.
9486
9487 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9488
9489         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9490         snuck in prematurely.
9491
9492 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9493
9494         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9495         had deleted a ! operator by mistake, which caused
9496         GDK_SELECTION_CLEAR events never to be generated, which caused
9497         only the first copy to the clipboard from an gtkeditable to
9498         actually cause a copy to the Windows clipboard.
9499
9500 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9501
9502         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9503         compilation, too. Current mingw gcc distributions include the
9504         necessary headers. Also the necessary IIDs are now in mingw
9505         headers/libraries, and own definitions unnecessary.
9506
9507         More hacking on OLE2 DND, still doesn't work though, and thus
9508         ifdeffed out.
9509
9510         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9511         here, too.
9512
9513 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9514
9515         * gdk/nanox/*: nano-X port work in progress.
9516         * gdk/simple.c: simple test for Gdk.
9517         * README.nanox: notes about the port: read this first!
9518         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9519         with nano-X.
9520
9521 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9522
9523         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9524         gdk_window_clear() into common code, implement in terms of
9525         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9526         not redirected to the backing rectangle.
9527
9528 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9529
9530         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9531         EXTRA_DIST. It does not work well when the file that
9532         everything depends on is not in the tarball.
9533
9534 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9535
9536         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9537         with recursion where process_updates() is called from
9538         an expose handler. (GtkTextView is highly broken in
9539         doing this, but it should work, so it is a nice test
9540         case.)
9541
9542 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9543
9544         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9545         handle the case where updates are queued during processing of
9546         updates.
9547
9548 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9549
9550         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9551         window is on gdk_display - use that instead of segfaulting.
9552
9553 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9554
9555         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9556         broken and require an empty arg, give it to them.
9557
9558 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9559
9560         * gtk/gtklabel.h: indentation fixes.
9561
9562 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9563
9564         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9565         draw too narrow or too low arcs, they seem to fail, at least with
9566         some display drivers.
9567
9568         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9569
9570         Large changes to the Win32 backend, partially made necessary by
9571         the changes to the backend-independent internal
9572         structures. Attempts to implement similar backing store stuff as
9573         on X11. The current (CVS) version of the Win32 backend is *not* as
9574         stable as it was before the no-flicker branch was merged. A
9575         zipfile with that version is available from
9576         http://www.gimp.org/win32/. That should be use by "production"
9577         code until this CVS version is usable. (But note, the Win32
9578         backend has never been claimed to be "production quality".)
9579
9580         * README.win32: Add the above comment about versions.
9581
9582         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9583
9584         * gdk/gdk.def: Update.
9585
9586         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9587         presumably be replaced by some more better mechanism as 1.4 gets
9588         closer to release shape.
9589
9590         * gdk/makefile.{cygwin,msc}: Update.
9591
9592         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9593         internal headers. Change code according to changes in these. Use
9594         gdk_drawable_*, not gdk_window_* where necessary.
9595
9596         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9597         our old DND.
9598
9599         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9600         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9601         Use correct function name in warning messages.
9602
9603         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9604         GSourceFuncs gdk_event_prepare and gdk_event_check.
9605         (gdk_event_get_graphics_expose): Do implement, use
9606         PeekMessage. Thanks to Hans Breuer.
9607         (event_mask_string): Debugging function to print an GdkEventMask.
9608         (gdk_pointer_grab): Use it.
9609
9610         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9611         (old) book I used claimed was Hangul actually is CJK Unified
9612         Ideographs Extension A. Also, Hangul Syllables were missing.
9613         Improve logging.
9614
9615         * gdk/win32/gdkgc-win32.c: Largish changes.
9616
9617         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9618         g_win32_getlocale() from GLib, and not setlocale() to get current
9619         locale name.
9620
9621         * gdk/win32/gdkprivate-win32.h
9622         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9623         gdkwin32.h, similarily as in the X11 backend.
9624
9625         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9626         assignment was used instead of equals in if test. Thanks to Hans
9627         Breuer.
9628
9629         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9630         the X11 version.
9631
9632         * gdk/win32/makefile.{cygwin,msc}
9633         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9634         path to the Win32 headers that works also with the mingw compiler.
9635
9636         * gtk/gtkstyle.c: Include <string.h>.
9637
9638 2000-04-26  Havoc Pennington  <hp@redhat.com>
9639
9640         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9641         replacing the broken gtk_label_get ()
9642
9643 2000-04-15  Havoc Pennington  <hp@pobox.com>
9644
9645         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9646         this keeps scanner scripts from getting confused.
9647
9648         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9649         data, rather than void
9650
9651 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9652
9653         * gtk/gtkclist.c (gtk_clist_motion)
9654         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9655         with is_hint FALSE, get x and y from the event. They used to be
9656         used uninitialised. The Win32 backend never sends motion events
9657         marked as hints. This for instance fixes the annoying file and
9658         font selector behaviour in the Win32 version.
9659
9660 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9661
9662         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9663         gtk_private_n_signals variables, they are used by some software,
9664         sigh.
9665
9666         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9667         installation directory from the Registry, where the installer
9668         should have put it.
9669
9670 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9671
9672         * gdk/x11/Makefile.am: Fix problem with installation directory for
9673         gdkx.h
9674
9675         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9676         <mrcooger@cyberverse.com> so that when selecting menus with the
9677         mouse, the first item will not be selected, but when selecting
9678         with an accelerator, or navigating left-right on a menubar with
9679         the menus popped up, the first item will be selected.
9680
9681 2000-04-05  Dan Damian  <dand@dnttm.ro>
9682
9683         * configure.in: Added "ro" to ALL_LINGUAS.
9684
9685 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9686
9687         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9688         indentation.
9689
9690         * Makefile.am (EXTRA_DIST): Fix typo.
9691
9692         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9693         to catch gdkconfig.h
9694
9695         * gtk/gtkitemfactory.c: Added FIXME.
9696
9697 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9698
9699         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9700         s/return_if_fail/return_val_if_fail/g and add a return value.
9701
9702 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9703
9704         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9705         merge slipup.
9706
9707         * gdk/gdkinput.h: Fix missing line from merge.
9708
9709 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9710
9711         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9712         instead of gdkprivate.h.
9713
9714 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9715
9716         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9717         parent class to correctly be GtkDialogClass.
9718
9719 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9720
9721         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9722         toplevel windows and their immediate children by their parents,
9723         since the size of toplevel windows is out of our immediate
9724         control and we don't get any real benefit from trying to track
9725         this size for clipping.
9726
9727         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9728         for input_only windows.
9729
9730         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9731         to fix some hacks and make sure that we don't try to set the
9732         background of input only windows.
9733
9734 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9735
9736         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9737         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9738         stuff that we've traditionally exposed.
9739
9740         * gdk/**.c: Use gdkinternals.h where appropriate.
9741
9742         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9743         not include gdkprivate-x11.h, move all stuff of conceivable public
9744         interest into gdkx.h; keep all really private stuff in
9745         uninstalled header gdkprivate-x11.h.
9746
9747         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9748         image->image_put on windows through a new function _gdk_window_draw_image()
9749         to allow us to do backing store for images. (Sort of ugly)
9750
9751         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9752         contexts locally so that we can offset them properly when drawing 
9753         onto backing pixmaps.
9754
9755         * gdk/gdkinput.h: Reindented
9756
9757         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9758         pixmap or color for the window, so we can properly initialize
9759         our double-buffer pixmaps, and also so that we temporarily set
9760         a background of None while scrolling.
9761
9762         * gdk/gdkregion.h: Revise region boolean operators to have an
9763         interface that is actually convenient - switch from creating new
9764         regions on every op, to "methods" that modify existing regions
9765         (A = A OP B). 3 argument forms which allow dest == src, would also
9766         be possible, but the current interfaces seem to map nicely
9767         onto what needs to be done. (There is quite a lot of region
9768         code in GDK now.)
9769
9770         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9771         operator.
9772
9773         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9774         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9775         to 32 bit coordinates, modify it to be mostly GTK+ style
9776         and to have interfaces that match gdkregion.h.
9777
9778         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9779         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9780         create a backing pixmap and redirect all drawing to
9781         that backing pixmap until a matching gdk_window_end_paint().
9782
9783         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9784         Create a special drawable class for GtkWindow's that 
9785         redirects the drawing to the backing pixmap as necessary
9786         and then calls the real operations in _gdk_windowing_window_class.
9787
9788         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9789         Store invalid region for each window. Generate expose events for invalid
9790         region in an idle. This replaces both the expose compression
9791         and the redrawing queuing in GTK+. It is both more efficient and
9792         simpler than either one individually and far more so then the
9793         combination.
9794
9795         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9796         Emulate 32 bit coordinates for windows with 16 bit coordinates
9797         by offsetting drawing, guffaw scrolling techniques and
9798         mapping/unmapping child windows as necessary.
9799
9800         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9801         where, when invalid regions are processed, the region is stored,
9802         and if expose events come in that are detectably duplicate
9803         the processed exposes (by comparison of event serial numbers),
9804         the stored region is subtracted out of those exposes.
9805
9806         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9807         regions newly exposed when scrolling or resizing windows.
9808         This, combined with forcing processesing of queued invalidated
9809         regions, gives nice flicker-free scrolling.
9810
9811         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9812         invalidated regions after every scroll.
9813
9814         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9815         emulation in GDK. Its, for all practical purposes just a
9816         GtkViewport/GtkFixed hybrid now.
9817
9818         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9819         (16-bit) structures as necessary instead of just casting.
9820
9821         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9822         in terms of the structures from gdkregion-generic.c, using appropriate
9823         offsets from GDK to X11 coordinates. Cache clip mask and
9824         origin and ts origin locally and only flush to the server
9825         when drawing, to avoid constantly setting and resetting these
9826         values when offsetting GC's for scrolling and backing pixmaps.
9827
9828         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9829
9830         * gtk/gtkcontainer.c: Call process_all_updates at end
9831         of resizing to reduce flicker. (Avoids having redraw
9832         lag arbitrarily behind resize under some circumstances)
9833
9834         * gtk/gtkentry.c: Remove old backing store code, and simply take
9835         advantage of the new backing store capabilities of GDK.
9836
9837         * gtk/gtkmain.c: Simple implementation of widget backing
9838         store - simply push a paint while handling each expose.
9839         (Should really be configurable widget for widget.)
9840         
9841         * gtk/gtkwidget.c: Remove all the old complicated redraw
9842         code, and simply invalidate the GDK windows from
9843         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9844         debugged complexity ... gone to the winds.)
9845
9846         Remove all the code for suppressing expose events while
9847         resizes are pending; this isn't needed since the invalid
9848         areas won't be processed until after the resizes are
9849         processed, since they are in a lower priority idle.
9850
9851 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9852
9853         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9854         and height of dest rectangle for non-intersecting rectangles.
9855
9856 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9857
9858         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9859         for GdkRectangle.
9860
9861 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9862
9863         * gdk/gdk{events,image,private,types,window}.h
9864          gdk/x11/gdkinputprivate.h: Change all coordinates
9865          from int16 to int. Also, Change width and height from
9866          unsigned to signed to avoid all the stupid C 
9867          signedness bugs.
9868
9869 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9870
9871         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9872         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9873         Add some more detailed checking.
9874
9875         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9876         New function to retrieve the depth of a drawable.
9877
9878         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9879         field, reorder fields to save memory. 
9880
9881 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9882
9883         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9884         of the background image instead of scaling the background down to
9885         a line.
9886
9887         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9888         which temporarily set slider to wrong size.
9889
9890         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9891         queue_clear().
9892
9893 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9894
9895 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9896
9897         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9898
9899 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9900
9901         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9902         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9903
9904         * gdk/win32/gdkfont-win32.c
9905         * gdk/win32/gdkproperty-win32.c
9906         * gdk/win32/gdkselection-win32.c
9907         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9908         now declared such.
9909
9910 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9911
9912         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9913
9914 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9915
9916         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9917         is called without trapping X errors.
9918
9919 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9920
9921         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9922         way into the fontset lists.
9923
9924 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9925
9926         * gtk/gtkthemes.h: add extern "C" scope.
9927
9928 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9929
9930         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9931         to make appends to the list constant. (gtk-guy-990901-0.patch)
9932
9933 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9934
9935         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9936         for the typename hash table.
9937
9938 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9939
9940         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9941         to make sure we never divide by zero. 
9942         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9943
9944 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9945
9946         * gtk/gtkfontsel.c: Apply patch from
9947         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9948         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9949
9950         Also, some cleanups in atom handling.
9951
9952 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9953
9954         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9955         not GtkWidget.
9956
9957 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9958
9959         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9960         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9961         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9962         more guint wrap-around bugs before going to bed.
9963
9964 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9965
9966         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9967         guint wrap arounds in allocation.width.
9968
9969         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9970         process untill we fit the allocation given.
9971
9972 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9973
9974         * gtk/gtkwidget.c:
9975         (gtk_widget_unrealize): guard widget access with ref/unref
9976         around signal emission.
9977         (gtk_widget_hide): same here, but also check its destroyed
9978         state before queueing a resize.
9979
9980 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9981
9982         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9983         of gtk_default_insensitive_bg as insensitive base color.
9984
9985         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9986         to the widget's state.
9987         (gtk_text_realize): same here.
9988         (gtk_text_state_changed): same here.
9989         (draw_bg_rect): compare background color against base[] from
9990         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9991
9992 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9993
9994         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
9995         grabs are active, unless a delete event is send to the toplevel
9996         of the currently grab holding widget.
9997
9998 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
9999
10000         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10001         debugging g_print's.
10002
10003 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10004
10005         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10006         ever make the scrolled-window requisition ever depend on the 
10007         visibility state of the scrollbars for the AUTOMATIC policy. 
10008         This breaks the GTK+ requisition model, and causes loops.
10009
10010 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10011
10012         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10013         the default font to avoid problems with XFree86-4.0 where the
10014         default charset is iso10646-1, not iso8859-1.
10015
10016 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10017
10018         * acinclude.m4
10019         * config.guess
10020         * config.sub
10021         * ltconfig
10022         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10023
10024         * gtk/Makefile.am: minor cosmetic consistency tweak
10025
10026 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10027
10028         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10029         the activate_time to 0, so that we handle a quick
10030         press/release press/release properly and don't suppress
10031         the second release. (Red Hat bug #7545)
10032
10033 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10034
10035         * gtk/gtkctree.c (row_delete):
10036         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10037         bugs with destruction notifier, *always* update internal
10038         structures *before* calling user code.
10039
10040 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10041
10042         A few more fixes for bug #5487, #2051, #2677.
10043         * gtk/gtkclist.c : 
10044         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10045         not GDK_BUTTON_PRESS.
10046         (resync_selection): resync only if selection_mode is
10047         GTK_SELECTION_EXTENDED
10048         * gtk/gtkctree.c (resync_selection): same here
10049
10050 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10051
10052         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10053         gdk_drag_get_selection() and gtk_menu_detach().
10054
10055         [ From Jeroen Ruigrok/Asmodai ]
10056
10057 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10058
10059         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10060         page->tab_label can be NULL.
10061
10062 2000-01-25  Havoc Pennington  <hp@pobox.com>
10063         
10064         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10065         arg is boolean
10066
10067         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10068
10069         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10070
10071         * gdk/gdkproperty.c (gdk_property_get): return boolean
10072
10073         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10074
10075         * gdk/gdkim.c (gdk_im_ready): return boolean
10076
10077         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10078
10079         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10080         glib clash, should fix glib)
10081
10082         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10083         (gdk_get_show_events): return gboolean, and canonicalize 
10084         to TRUE/FALSE
10085
10086         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10087         colormap is private
10088         (gdk_colors_alloc): gboolean whether to be contiguous
10089         (gdk_color_equal): return gboolean since we are a predicate
10090         and not a qsort() (this looks semi-wrong due to glib breakage,
10091         IMO glib should be fixed)
10092         
10093         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10094         (gdk_get_use_xshm): return gboolean
10095         (gdk_pointer_is_grabbed): return gboolean
10096
10097         * gdk/gdk.h: Change prototypes to match all the above changes,
10098         and re-run egtk-format-protos as required.
10099
10100 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10101
10102         * gtk/gtkctree.c (resync_selection): 
10103         * gtk/gtkclist.c (resync_selection):
10104
10105         Return immediately if clist->drag_pos < 0. This is a workaround
10106         for the corrupt state that the clist gets into when a
10107         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10108
10109         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10110         
10111         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10112         variable from recent commit.
10113
10114 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10115
10116         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10117
10118 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10119
10120         * gtk/Makefile.am: prefix all autogenerated source that get build in
10121         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10122         in builddir. since we subsequently cd into srcdir for autogeneration,
10123         the paths have to be stripped from the target file names, thusly we
10124         use $(@F) as target names now.
10125         put a comment about configure.in's --disable-rebuilds option,
10126         which can be used for non-writable source directories, for development
10127         setups though, srcdir has to be *writable*.
10128
10129 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10130
10131         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10132           Finish the job of allowing event to be NULL.
10133           (Fixes bug #4283, reported by Chris Blizzard)
10134
10135         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10136           things so that the cursor appears on screen, properly
10137           take into account INNER_BORDER.
10138           (Fixes bug #4754, reported by Antonio Campos)
10139
10140 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10141
10142         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10143           show the tab_label unless it itself is visible.
10144
10145           gtk/gtknotebook.c (gtk_notebook_size_request):
10146           Do a better job of making sure that the visibility
10147           of the tab label corresponds to whether it should
10148           be mapped or not.
10149
10150 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10151
10152         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10153           Use the requisition, not the allocation, since the
10154           allocation has not necessarily been computed yet.
10155           (Pointed out by Eugene Osintsev)
10156
10157 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10158
10159         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10160           style/base[GTK_STATE_INSENSITIVE] both to
10161           gtk_default_insensitive_bg!
10162           (Bug #2187, reported by Jonathan Blandford)
10163
10164         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10165           Add Alt_L, Alt_R to list of invalid accelerators.
10166           (Bug #3736, reported by Vlad Harchev)
10167
10168 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10169
10170         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10171         bugs which occured after an attempt to open 
10172         invalid home directory left cmpl_state->reference_dir == NULL.
10173
10174          - completion on files in home directory didn't work
10175          - completion on an empty string caused  segfault
10176
10177          (Bug #3678, reported by Steve Ratcliffe)
10178
10179         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10180         cut and paste error that was causing scales to
10181         be incorrectly positioned.
10182         (Bug #2956,
10183          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10184
10185 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10186
10187         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10188         when checking for dcgettext, if we've found we needed
10189         it for dgettext.
10190 +
10191 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10192
10193         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10194         queue_clear on NO_WINDOW widgets during a reparent,
10195         since at that point the window and widget heirarchies
10196         are out of sync. This stops crashing in some cases
10197         (the scrolled window reparent test, for instance), and
10198         _probably_ won't cause drawing errors.
10199
10200         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10201         test do what it was supposed to do and be robust against
10202         window closings, etc. (Bug #2443)
10203
10204 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10205
10206         * gtk/gtkentry.c: Fix return values on mouse events.
10207         (Bug #2686, Sky <seb_sky@yahoo.com>)
10208
10209         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10210         (pointed out by George Lebl)
10211
10212         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10213         (From Ettore Perazzoli  <ettore@helixcode.com>)
10214  
10215 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10216
10217         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10218         clicks between rows or outside calender area correctly.
10219         (Patch from Damon Chaplin)
10220
10221         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10222         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10223           Call destroy function when overwriting existing data. 
10224           (Pointed out by Damon Chaplin)
10225
10226 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10227
10228         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10229           which was causing problems on various systems with Xmu.
10230           This hasn't been needed for a very long time.
10231           (Fixes #1185 3167)
10232
10233 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10234
10235         * gdk/gdki18n.h: Include <ctype.h> when defining
10236           gdk_isw* in terms of is* as a fallback.
10237           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10238
10239 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10240
10241         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10242           realize the widget when it is size allocated!
10243           (old, old bug)
10244
10245         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10246           Removed unused call to gdk_window_get_size() that
10247           showed up when the above was fixed.
10248
10249 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10250
10251         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10252           fix up widget->window when the widget is a
10253           NO_WINDOW container widget.
10254
10255 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10256
10257         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10258           to account for the fact that feof() does _not_ 
10259           return TRUE on errors, and thus avoid infinite loops
10260           when trying to use gdk_pixmap_create_from_xpm()
10261           on unreadable values.
10262
10263 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10264
10265         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10266
10267 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10268
10269         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10270           gdk_gc_set_dashes to take gint8 instead of gchar to
10271           make it clearer that it is _not_ a NULL terminated string.
10272
10273         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10274           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10275           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10276           arguments.
10277
10278 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10279
10280         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10281         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10282         background size relative to our allocation, guard against small
10283         allocations, we may have not yet been size allocated.
10284
10285 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10286
10287         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10288         not just version == 3. We implement all 3 + most of 4 - 
10289         (we don't support matching text/plain;charset=iso-8859-1
10290         to a dest that expects text/plain). We'll still advertise
10291         3 to be safe, but any client implementing version >= 3
10292         must interoperate with 3.
10293         
10294 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10295
10296         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10297         background and gc members, add a warning in gtk_tooltips_set_color()
10298         indicating that this function is deprecated.
10299
10300 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10301
10302         * docs/gtkfaq.sgml: FAQ Update:
10303           - Minor cleanups (Emmanuel, me)
10304           - New questions:
10305                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10306                 How can I retrieve the text from a GtkMenuItem? (timj)
10307                 How do I validate/limit/filter the input to a GtkEntry? (me)
10308                 Memory does not seem to be released when I free the list
10309                         nodes I've allocated (timj)
10310
10311 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10312
10313         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10314         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10315         for which it is no use to call GetLastError onWin9x.
10316         (gdk_other_api_failed) New function, for general error
10317         reporting without calling GetLastError.
10318         (gdk_win32_api_failed) OTOH, this function always calls
10319         GetLastError. (gdk_win32_last_error_string) Remove this function,
10320         GLib has the equivalent now.
10321
10322         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10323         call them with function name, file name and line number in the
10324         arguments.
10325
10326         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10327         functions.
10328         
10329         * gtk/gtk.def: Add some missing entry points.
10330
10331         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10332         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10333         
10334         Fixes by Hans Breuer:
10335
10336         * gdk/makefile.msc: Update for debugging.
10337
10338         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10339         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10340         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10341         in the dash_list.
10342
10343         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10344         the x11 backend.
10345
10346         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10347
10348         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10349
10350 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10351
10352         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10353         just pixel value of background colour.
10354
10355         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10356         containing code snippet previously duplicated in a couple of
10357         places.
10358         
10359         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10360         gdk_colormap_color.
10361
10362         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10363         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10364         events for autorepeated Shift, Control and Alt keys. Use
10365         gdk_colormap_color.
10366
10367         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10368         pointer is inside the window the cursor of which we are setting,
10369         call SetCursor immediately.
10370
10371         * gdk/win32/makefile.cygwin
10372         * gtk/makefile.cygwin: If we don't have the build number stamp
10373         file, use zero.
10374
10375         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10376         gtk_paned_set_gutter_size as empty.
10377
10378         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10379         
10380 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10381
10382         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10383           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10384           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10385           docs/gtk_tut.sgml docs/gtk.texi TODO:
10386
10387           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10388
10389 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10390
10391         * gtk/gtkcalendar.c: Implement num_marked_dates,
10392           and don't emit mutiple day_selected signals on
10393           month_prev.
10394
10395 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10396
10397         * docs/make-todo (lineno): let title and logo be configurable so
10398         that GNOME can use this script too.
10399
10400         * TODO.xml: added logourl and a title
10401
10402 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10403
10404         * TODO.xml: Added some UI items, and an explanatory
10405         comment at the top of the file.
10406
10407 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10408
10409         * TODO.xml: some updates, added abunch of new entries.
10410         a note for those fiddeling with this file, when done
10411         with it, invoke:
10412         $ ./docs/make-todo TODO.xml >/dev/null
10413         and correct output errors before comitting changes.
10414
10415 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10416
10417         * TODO.xml: Added XML-structured TODO file.
10418         * docs/make-todo: python script to turn TODO.xml into
10419           pretty XML output. 
10420
10421 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10422
10423         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10424         the function to let it draw the seven dots, instead of the old,
10425         much maligned, method.
10426         (draw_dot): New function to draw a dot.
10427
10428         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10429         to draw the handle inside the border width as opposed to outside.
10430         Use paint function instead of gdk_draw_point.
10431
10432         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10433         to draw the handle inside the border width as opposed to outside.
10434         Use paint function instead of gdk_draw_point.
10435
10436         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10437         Change indenting to be more GTK like.
10438
10439 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10440
10441         * docs/gtk_tut.sgml: New section on GtkCalendar
10442         * examples/calendar: Update example code
10443
10444 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10445
10446         * docs/gtkfaq.sgml: FAQ Update
10447
10448 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10449
10450         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10451         to prevent the scroll event to be propagated upwards.
10452
10453 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10454
10455         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10456         OwnerGrabButtonMask from button entries for
10457         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10458
10459         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10460         to the event mask (which will result in button/press release
10461         being added to the event mask on Unix) so scrolling works
10462         for layouts in scroll windows.
10463
10464         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10465
10466         Patch from Anders Carlsson  <andersca@gnu.org> to add
10467         a scroll event.
10468
10469         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10470         scrolling to the "Test Scrolling" part of testgtk.
10471  
10472         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10473  
10474         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10475         it against GDK_SCROLL.
10476  
10477         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10478         way of mouse wheel scrolling.
10479  
10480         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10481  
10482         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10483  
10484         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10485  
10486         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10487         gdk_event_mask_table.
10488  
10489         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10490         GdkEventScroll handler.
10491  
10492         * gdk/gdkevents.h: Added GdkEventScroll structure.
10493  
10494 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10495
10496         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10497         and Anders Carlsson to change the Paned widgets so that they
10498         can be dragged from anywhere along the length. Also change
10499         the way that this is drawn to make this apparent.
10500
10501         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10502         from George Lebl to check that option_menu->menu is present
10503         before getting history.
10504
10505 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10506
10507         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10508         before the assertion for non-NULL segment list.
10509
10510         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10511         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10512         machine, but it might be display driver dependent. Sigh, so make
10513         sure the stipple is that size. Does Windows suck or what?
10514
10515         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10516         places.
10517
10518 2000-02-13  Havoc Pennington  <hp@pobox.com>
10519
10520         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10521         refcount to 1
10522         (gdk_cursor_new): init refcount to 1
10523
10524         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10525
10526 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10527
10528         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10529         so that we don't have to do unnecessary settings to the HDC.
10530
10531         * gdk/win32/gdkdrawable-win32.c
10532         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10533         gdk_gc_predraw.
10534
10535         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10536         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10537         GDI paths, call WidenPath to get the outline of the stroken path,
10538         and then fill the outline (with the brush that was built from the
10539         stipple).
10540
10541         * gdk/win32/gdkgc-win32.c: Factor out common code from
10542         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10543         gdk_win32_gc_values_to_win32values. Use correct colour for
10544         SetBkColor() (Until now the code actually used a random colour in
10545         the call to SetBkColor()... but that didn't show up as not many
10546         GDI APIs use the background colour. Pattern (opaque stippled)
10547         brushes do.)
10548
10549         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10550         gdk_win32_api_failed): New functions for error logging.
10551
10552         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10553         WIN32_API_FAILED to call them, passing function or file name and
10554         line number.
10555
10556         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10557
10558         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10559         GdkColor for foreground and background in GdkGCWin32Data.
10560
10561         * gdk/makefile.cygwin: Link in the resource object separately.
10562
10563         * gdk/win32/rc/gdk.rc
10564         * gtk/gtk.rc (New file)
10565         * gdk/win32/makefile.cygwin
10566         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10567         as in GLib.
10568
10569 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10570
10571         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10572         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10573         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10574         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10575         parameters given and cursor->ref_count. coding style fixups.
10576
10577         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10578         not GtkWidget.
10579         
10580         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10581         fix up widget macros and add _GET_CLASS() variant.
10582         
10583         * gtk/*.c: some GtkType fixups.
10584
10585 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10586
10587         * gdk/win32/gdkproperty-win32.c
10588         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10589         were reversed.
10590
10591 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10592
10593         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10594         g_filename_to_utf8 to convert the font names Windows gives us from
10595         whatever is the default codepage to UTF-8.
10596         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10597         in the other direction.
10598
10599         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10600         error in debugging output.
10601
10602 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10603
10604         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10605         and height parameters to gdk_window_clear_area(). Not minus one.
10606
10607 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10608
10609         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10610         checks if the widget passed to gtk_drag_get_data() was not the
10611         dest widget.
10612
10613 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10614
10615         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10616         g_filename_from_utf8 functions (which were added a moment ago to
10617         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10618         size buffers.
10619
10620         gtk_file_selection_get_filename returns the filename in the C
10621         runtime encoding. It calls g_filename_from_utf8, but copies the
10622         returned string to a static buffer, which is returned. I think
10623         this is better than returning the result from g_filename_from_utf8
10624         directly, which would mean all apps that use it would have to free
10625         the return value. Or should this function care about this issue at
10626         all? Maybe a new function with clearly defined semantics.
10627
10628         * gtk/gtkfilesel.h: Add comment about
10629         gtk_file_selection_get_filename returning the filename in the C
10630         runtime's encoding.
10631
10632         * README.win32
10633         * gdk/gdk.def
10634         * gdk/makefile.{cygwin,msc}
10635         * gtk/gtk.def: Updates.
10636
10637         * gdk/gdkcursor-win32.c: Initialise refcount.
10638
10639 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10640
10641         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10642
10643 2000-01-30  Havoc Pennington  <hp@pobox.com>
10644
10645         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10646         destroy
10647
10648         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10649
10650         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10651         implemented in platform-specific code
10652
10653         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10654
10655         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10656         underscore in front
10657
10658         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10659         put an underscore in front
10660
10661         * gdk/gdkcursor.c: new file, implements
10662         gdk_cursor_ref/gdk_cursor_unref
10663
10664         * gdk/gdkcursor.h: Refcount GdkCursor
10665
10666         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10667
10668 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10669
10670         * gdk/gdkwindow.h
10671         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10672
10673 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10674
10675         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10676         structures to properly inherit from GtkWidget not GtkBin.
10677
10678 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10679
10680         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10681         (bug #5178 - Peter Wainright)
10682         
10683         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10684         so that it will be installed.
10685         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10686
10687 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10688
10689         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10690         for the GtkStyleClass vtable const.
10691
10692         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10693         take a const string argument like GtkTranslateFunc. This will
10694         require changes in use code.
10695
10696 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10697
10698         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10699         semantics (to mimic the X11 backend, which just calls XClearArea)
10700         is to check for zero width (and height), and in that case use the
10701         window's width minus x (height minus y). This fixes for instance
10702         some redraw problems with gtkclist, which were easily noticeable
10703         in the gtk file selection widget.
10704
10705         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10706         windows.
10707
10708 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10709
10710         * configure.in
10711         * gdk/Makefile.am
10712         * gdk/x11/Makefile.am
10713         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10714         (bug #5177).
10715         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10716         out later.
10717
10718 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10719
10720         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10721         WM_MOVE for iconified or invisible windows. This fixes various
10722         problems when minimising windows. Thanks to Bernd Herd.
10723
10724 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10725
10726         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10727         backend's draw_lines method, not draw_points.
10728
10729 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10730
10731         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10732         before Owen's reorganisation: Don't have queued_events and
10733         queued_tail statics in this file, but use gdk_queued_events and
10734         gdk_queued_tail. This makes exposure event compression work again.
10735
10736         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10737         seem to be needed?
10738
10739 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10740
10741         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10742         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10743         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10744         doesn't do anything.
10745
10746         * gdk/gdk.def: Add gdk_xid_table_insert.
10747
10748         * gdk/win32/gdkprivate-win32.h
10749         * gdk/win32/gdkevents-win32.c
10750         * gdk/win32/gdkinput-win32.c
10751         
10752         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10753         extension_events field in the GdkWindowWin32Data struct. Use only
10754         the extension_events field in GdkWindowPrivate. Previously one was
10755         set, and the other one tested, which broke tablet
10756         functionality. Thanks to Keishi Suenaga for pointing this out.
10757
10758 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10759
10760         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10761         When handling a single character (text length == 1), don't handle
10762         it as if it was UTF-8.
10763
10764 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10765
10766         * Makefile.am: Distribute README.win32.
10767         
10768         * gdk/Makefile.am
10769         * gdk/win32/Makefile.am: Distribute Win32 files.
10770
10771         * gdk/makefile.msc: New file.
10772
10773         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10774         after label).
10775
10776         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10777         gdk_error_code as GDKVAR, as they are referred outside GDK.
10778
10779         * gdk/win32/makefile.msc: Update.
10780
10781         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10782         tweaks. Check only if at least one of those Unicode subrange bits
10783         we care for is set. If no code page bits are set, guess (wildly)
10784         based on the charset.
10785
10786         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10787
10788         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10789         non-NULL.
10790
10791         * gtk/gtkdnd.c
10792         * gtk/gtklayout.c
10793         * gtk/gtkplug.c
10794         * gtk/gtkselection.c
10795         * gtk/gtksocket.c
10796         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10797         appropriate. There must be a cleaner way to handle this?
10798
10799         * gtk/gtkrc.c: Must include windows.h on Win32.
10800
10801         * gtk/testgtk.c: No need to include gdkx.h.
10802
10803         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10804
10805 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10806
10807         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10808         the rbearing is set to the same as the width, but this should be
10809         fixed.
10810
10811 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10812
10813         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10814         function. If Windows doesn't tell us what Unicode subranges a font
10815         covers, guesstimate based on the codepages it covers. This will
10816         hopefully help those Windows versions or fonts that don't give us
10817         any useful Unicode subrange information with GetTextCharsetInfo.
10818         Call this function in gdk_font_load_internal.
10819
10820         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10821         minor changes.
10822
10823 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10824
10825         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10826         New function, long needed.
10827
10828 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10829
10830         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10831         only_if_exists argument of gdk_atom_intern to
10832         bool.
10833
10834 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10835
10836         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10837         Fix two copy&paste errors.
10838
10839         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10840         win32 has changed.
10841
10842         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10843         GdkWin32SingleFont struct.
10844
10845         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10846         subranges of loaded fonts. Clear font signature first, in case
10847         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10848         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10849
10850         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10851         Unoffset clip region.
10852
10853 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10854
10855         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10856         event->any.window before calling filter functions.
10857
10858 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10859
10860         * gtk/gtkgamma.h: Adapt cast macros to standard.
10861
10862 [ Merges from 1.2 ]
10863
10864 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10865
10866         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10867         If translation does not include a '/', use entire
10868         translation instead of crashing.
10869
10870 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10871
10872         * docs/gtk_tut.sgml:
10873         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10874
10875 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10876
10877         * gtk/gtkselection.c (gtk_target_list_remove): Use
10878         g_list_remove_link, not g_list_remove.
10879
10880         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10881         
10882 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10883
10884         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10885         statement upon unselection (how the heck did that slip in?).
10886
10887 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10888
10889         * gtk/gtktext.c (gtk_text_freeze): 
10890         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10891         in frozen state (and aparently crashes). patch provided by Anders
10892         Melchiorsen <and@kampsax.dtu.dk>.
10893
10894 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10895
10896         * fix insensitive default/focus widget activation,
10897         reported by Matt Goodall <mgg@isotek.co.uk>.
10898
10899         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10900         (gtk_window_activate_default):
10901         (gtk_window_activate_focus):
10902         return handled=FALSE for actiavtion of insensitive default
10903         widgets. return handled=TRUE for activation of insensitive
10904         focus widgets. don't activate in either case.
10905
10906 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10907
10908         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10909         and $glib_cflags to match library order and in the
10910         theory that an old version of GLib is more likely to
10911         be in the include directory for X then vice-versa.
10912         (Bug #2776)
10913
10914 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10915
10916         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10917         to determine the locale for fontsets, not LC_MESSAGES;
10918         the user may want English messages with a handling
10919         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10920         will still be broken) (Bug #2891)
10921
10922 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10923
10924         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10925
10926 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10927
10928         * gtk/gtkrc.ko: Changed the Korean default fontset.
10929
10930 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10931
10932         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10933         where when scrolling to the left or top double exposes
10934         were done, causing major slowdowns.
10935
10936 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10937
10938         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10939         names to lowercase and alphanumeric, before looking
10940         them up.
10941
10942         * gtk/Makefile.am: Install codeset variant gtkrc files
10943         with normalized names.
10944
10945 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10946
10947         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10948         popup menus when the menu is already visible, but its parent
10949         is still hidden, (happens after tornoff window got hidden).
10950
10951 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10952
10953         * gtk/Makefile.am (install-data-local): Fix
10954         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10955         deleted, causing error messages on install.
10956
10957 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10958
10959         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10960         the handle as well, since we now sometimes ignore
10961         exposes on the handle while resizing.
10962
10963 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10964
10965         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10966         extra g_free introduced in one of the last one or two 
10967         commits.
10968
10969 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10970
10971         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10972         consistent, put each style that a gtkrc.* file creates
10973         in a unique namespace, remove old files before installing.
10974
10975 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10976
10977         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10978         gtk_rc_init is called multiple times. (Yes, people who
10979         do that have bugs in their code.)
10980
10981 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10982
10983         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10984         Remove it since it's generated by the Makefile anyway
10985
10986 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10987
10988         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10989         device->info.axes for core pointer.
10990
10991 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10992
10993         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10994         idle_id, to deal with obsolete, broken C libraries.
10995
10996 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
10997
10998         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
10999         allocation->x/y twice!
11000
11001         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11002         consistent with gtk_vscale_pos_trough().
11003
11004 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11005
11006         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11007         be queueing a resize on a toplevel container between
11008         the time we show it and when we map it. So, we need
11009         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11010         use GTK_WIDGET_DRAWABLE() for child windows.
11011
11012 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11013
11014         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11015         (fixes bug #2144)
11016
11017 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11018
11019         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11020         container DRAWABLE (instead of VISIBLE), so we don't queue
11021         resizes on non-toplevel containers.
11022
11023 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11024
11025         * gtk/gtkselection.[ch]: Make the data argument
11026         const guchar *.
11027
11028 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11029
11030         * gtk/gtkwindow.c: Try to behave sensibly if 
11031         the focus widget is the window itself. (Should
11032         we allow this at all?)
11033
11034 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11035
11036         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11037         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11038         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11039         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11040         in prototypes and implementations consistent (Tomas Ogren).
11041
11042         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11043         before the widget is unparented (reported by damon).
11044
11045         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11046         since we provide unsigned data anyways.
11047
11048 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11049
11050         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11051         the call to gtk_tooltips_layout_text() until later.
11052
11053         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11054         Call gtk_widget_ensure_style() before using the style.
11055
11056 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11057
11058         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11059         for old widgets that don't propagate draws to all
11060         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11061
11062 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11063
11064         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11065         for a redraw but just the widget that requested the resize.
11066
11067 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11068
11069         * gtk/gtkcontainer.c: added new widget level method
11070         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11071         reallocate_redraws : 1 to reflect the setting, exported this through
11072         the argument system as a boolean ::reallocate_redraws.
11073
11074         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11075         on the widget because the allocation changes, do so as well for
11076         widget->parent if the parent has reallocate_redraws set to TRUE.
11077         with that containers requesting reallocation redraws get automatically
11078         redrawn if their children changed allocation (this unfortunately
11079         affects also other children that didn't change allocation, but we
11080         cannot work around that before 1.3).
11081
11082 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11083
11084         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11085         _and_ height are >0 (not _or_).
11086
11087         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11088         instead of gtk_container_queue_resize(), which is a core gtk internal
11089         function (must have been on crack when i queued that).
11090
11091         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11092         we can check more reliably if we want to discard expose events.
11093         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11094         flag.
11095         
11096         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11097         we simply trust these events. for deciding whether to discard exposes,
11098         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11099         
11100 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11101
11102         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11103         queues of areas that are completely off screen.
11104
11105         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11106         logic for handleboxes.
11107
11108         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11109         check on width/height.
11110
11111 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11112
11113         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11114         we are fine with using $@ the way we do (if we actually encounter
11115         brokeness with $@ in VPATH builds because of additional path prefixes,
11116         we need to use $(@F) actually).
11117
11118 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11119
11120         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11121         short lived bugs, that would allow language bindings to do surgeries
11122         to our guts.
11123
11124 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11125
11126         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11127         where comparison was being done against an uninitialized
11128         value causing intermittant results depending on
11129         compiler flags. Also make it clearer that we aren't
11130         ever initializing the child as 0x0 (though this will
11131         be caught in gtk_widget_size_allocate())
11132
11133 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11134
11135         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11136         gtk_window_unset_transient_for() call after we do checks
11137         involving the old transient parent.
11138         [ From Lance Capser <lmc@cyberhighway.net> ]
11139
11140 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11141
11142         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11143         an empty file.
11144
11145 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11146
11147         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11148         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11149
11150 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11151
11152         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11153         `$@' is valid only in the build dir, not after we've done 
11154         `cd $srcdir'.  Also use `test -f' instead of less portable
11155         `test -e'.
11156
11157 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11158
11159         * gtk/gtktext.c (correct_cache_insert): Rewrite
11160          for simplicity, and hopefully correctness.
11161          (Fixes bug #1322, which was a segfault when
11162           on some insertions with the properties around
11163           the insertion set up just wrong.)
11164
11165         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11166          a "changed" signal, clamp the new value to the adjustment
11167          bounds to avoid segfaulting if someone tries to change
11168          the adjustment to a bogus value. (Bug #1795)
11169
11170 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11171
11172         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11173         for children, for toplevel windows handle them
11174         like delete_event.
11175
11176         * gtk/gtkplug.c: Add an unrealize handler so that
11177         we unref plug->socket_window when we are done
11178         with it.
11179
11180 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11181
11182         * gtk/gtktext.c (clear_area): Fix stupid signedness
11183          problem that was causing background to sometimes
11184          be misaligned.
11185
11186 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11187
11188         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11189         
11190         * gtk/gtkmenu.c (gtk_menu_position): Make
11191          sure we never position menus with negative x, y,
11192          since gtk_widget_set_uposition() can't handle that.
11193
11194         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11195          Modify the positioning code a bit so that we always
11196          put the top-left corner onscreen. (This is for
11197          UI reasons, gtk_menu_position() now takes care of
11198          gtk_widet_set_uposition() brokeness.)
11199
11200 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11201
11202         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11203
11204 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11205
11206         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11207           RC style that is passed in. The lack of the ref
11208           before was a bug. If people worked around this
11209           bug, this will introduce a slight memory leak
11210           in their code. The code should typically look like:
11211
11212             rc_style = gtk_rc_style_new ();
11213             [...]
11214             gtk_widget_modify_style (widget, rc_style);
11215             gtk_rc_style_unref (rc_style);
11216
11217         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11218           the style if it was already set.
11219
11220         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11221           style if it was set before.
11222
11223 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11224
11225         * gtk/testgtk.c (main): Add a check to see if we
11226           are being run from the correct directory and
11227           to quit nicely if we are not.
11228
11229         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11230           static.
11231
11232 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11233
11234         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11235
11236         * gtk/gtkwindow.c:
11237         queue resizes unconditionally (gtk_widget_queue_resize will figure
11238         what to do if the window is not realized).
11239         (gtk_window_move_resize): only recenter the window
11240         for GTK_WIN_POS_CENTER_ALWAYS.
11241         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11242         the same way as GTK_WIN_POS_CENTER.
11243
11244 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11245
11246         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11247         with (!(info->last_flags & GDK_HINT_POS)) instead of
11248         (!info->last_flags & GDK_HINT_POS).
11249
11250         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11251         new_height unconditionally, because we use these values even if
11252         !default_size_changed && !hints_changed.
11253         comented the (default_size_changed || hints_changed) case with
11254         respect to resize rejects from the window manager.
11255
11256         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11257         in the zvt condition hack, since this includes the window hints, set
11258         the hints after the handling_resize case.
11259
11260         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11261         window is initially shown with to the geometry.
11262
11263 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11264
11265         * gtk/gtkwindow.c (gtk_window_move_resize):
11266         s/size_changed/default_size_changed/g so i know what's
11267         really going on (frying brain on smaller flame now).
11268
11269 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11270
11271         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11272         we have size_changed upon handling_resize. this is a gross
11273         workaround for the broken zvt widget and should be removed in
11274         1.3 again (search for FIXME).
11275         Owen provided an accurate comment for this:
11276
11277         /* We could be here for two reasons
11278          *  1) We coincidentally got a resize while handling
11279          *     another resize.
11280          *  2) Our computation of size_changed was completely
11281          *     screwed up, probably because one of our children
11282          *     is broken. It's probably a zvt widget.
11283          *
11284          * For 1), we could just go ahead and ask for the
11285          * new size right now, but doing that for 2)
11286          * might well be fighting the user (and can even
11287          * trigger a loop). Since we really don't want to
11288          * do that, we requeue a resize in hopes that
11289          * by the time it gets handled, the child has seen
11290          * the light and is willing to go along with the
11291          * new size. (this happens for the zvt widget, since
11292          * the size_allocate() above will have stored the
11293          * requisition corresponding to the new size in the
11294          * zvt widget)
11295          *
11296          * This doesn't buy us anything for 1), but it shouldn't
11297          * hurt us too badly, since it is what would have
11298          * happened if we had gotten the configure event before
11299          * the new size had been set.
11300          */
11301
11302 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11303
11304         * gtk/gtkrc.c: deal properly with the fact that RC
11305           style lists may include rc styles more than once.
11306
11307         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11308           unused static function.
11309
11310         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11311           stack of directories of RC files currently being
11312           parsed and implicitely add them to pixmap path.
11313           
11314           This fixes a bug where the directory would get
11315           appended then overwritten by pixmap_path declarations.
11316
11317           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11318
11319         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11320           theme's exit function. (Patch from Peter Wainwright,
11321           bug #1454)
11322
11323         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11324           Add a destroy() handler to take care of removing
11325           group for menu item. (Fixes bug #1197)
11326
11327         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11328           in warning message.
11329
11330 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11331
11332         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11333         roundtrip to figure window's width and height, since we know that
11334         anyways from widget->allocation.
11335
11336 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11337
11338         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11339           the hints after we request the new size.
11340
11341 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11342
11343         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11344           GTK_WIDGET_REALIZED() assertion - we can compute the
11345           hints before we are realized.
11346
11347         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11348           hint changing so that we have a value of hints_changed
11349           when we decide whether to constrain the window size.
11350
11351         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11352
11353         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11354         change back to G_MAXINT.
11355
11356 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11357
11358         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11359         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11360         contain uncluttered values.
11361         (gtk_window_compute_hints): simply assert that window is realized
11362         and that geometry_info is valid, since we rely on this anyways.
11363         (gtk_window_constrain_size): major cleanups to the code.
11364         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11365         for the base size, instead of the minimums. use 32767 as max width
11366         and height (like in gtkwindow.c) instead of G_MAXINT.
11367
11368 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11369
11370         * cleaned up the GtkContainer.need_resize flag handling mess, we
11371         only need to force resize requests when we were prematurely
11372         realized, or our widget tree was modified when we were temporarily
11373         hidden. handling these cases directly upon showing the window (i.e.
11374         while the GdkWindow is still unmapped) avoids the need to wait for
11375         a configure event response and therefore makes the GUI more snappier
11376         and avoids blank windows during the roundtrip.
11377
11378         * gtk/gtkwidget.c:
11379         (gtk_widget_hide): 
11380         (gtk_widget_show): don't queue resizes on toplevels, they know how
11381         to deal with matters.
11382
11383         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11384         flag directly for not visible resize containers and spare us unecessary
11385         signal emissions.
11386
11387         * gtk/gtkwindow.c:
11388         (gtk_window_realize): if we need to enforce premature size allocation,
11389         queue a container resize so we are correctly resized later on.
11390         (gtk_window_init):
11391         (gtk_window_size_request):
11392         don't freak around with the ->need_resize flag,
11393         gtk_container_queue_resize() will care about that.
11394         (gtk_window_show):
11395         handle initial resizing issues here, we can handle matters better in
11396         this place, especially since we know that our GdkWindow is still
11397         unmapped.
11398         (gtk_window_move_resize):
11399         don't care about ->need_resize at all.
11400         handle size changes properly that occoured while we waited for a
11401         configure event.
11402
11403 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11404
11405         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11406         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11407         Move the hint setting code from gtk_widget_set_uposition
11408         to here; set the hints so that we respect any previously
11409         set geometry hints.
11410
11411         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11412         change the window hints here or move the window here,
11413         let that happen in gtk_window_move_resize().
11414
11415 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11416
11417         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11418         to already queued resizes (and therefore redraws) on a widget, check
11419         its anchestry as well.
11420
11421         * gtk/gtkcontainer.c:
11422         (gtk_container_queue_resize): clear resize widgets for resize
11423         containers before aborting prematurely. this is especially important
11424         for toplevels which may need imemdiate processing or their resize
11425         handler to be queued.
11426         (gtk_container_dequeue_resize_handler): added new internal function for
11427         gtkwindow.c.
11428
11429         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11430         configure event, take possible changes in window position into account
11431         as well.
11432         if we request a new window size, queue up a resize handler that will
11433         last until the configure event response arrives.
11434         combined the ->need_resize case (initial show) with the general size
11435         (hints) changed case and added even more comments.
11436         if !auto_shrink, only revert to the old allocation if the new size
11437         is smaller than the current allocation.
11438
11439 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11440
11441         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11442                            gtk_window_set_geometry_hints
11443                            gtk_window_set_default_size):
11444         When hints are set, queue a resize so that the hints will
11445         be eventually reset on the toplevel.
11446
11447         * gtk/gtkwindow.c (gtk_window_show): Use
11448         gtk_window_compute_default_size(). Clear the need_resize flag
11449         on the initail map so that we don't unnecessarily trigger the
11450         resize code.
11451
11452         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11453         into separate functions. Compare the hints we are setting
11454         with what we set last time so that we can accurately
11455         tell when we need to reset the hints.
11456
11457         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11458         function to figure out the size from requisition
11459         and default_size.
11460
11461         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11462         from fvwm to constrain a size to the geometry hints.
11463
11464         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11465         to compare two sets of geometry hints.
11466
11467         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11468         from gtk_window_set_hints(), just compute the hints,
11469         don't set them.
11470
11471         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11472         code from gtk_window_move_resize() to separate function,
11473         rationalize a bit.
11474
11475 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11476
11477         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11478         structure into a new private structure.
11479
11480         * gtkrc.c: Split GtkRcStyle into public/private.
11481         In the private part, add a list of pointers to the
11482         RcStyle lists this RcStyle participates in.
11483
11484         * gtkrc.c: When a RcStyle is free, remove all
11485         lists referencing it from the 
11486         realized_style_ht hash, and free those lists.
11487         
11488         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11489         gtk_rc_init(), since that adds the default styles
11490         to the list of parsed RC files again.
11491
11492         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11493         
11494 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11495
11496         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11497         checks that ensure that a widget's allocation is at least 1 in width
11498         and height. (GNOME note: this doesn't affect old panel code anymore,
11499         because GtkSocket will request width and height of at least 1 since
11500         Fri Jul 23).
11501
11502         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11503         allocated yet (happens if the user realizes the window prematurely),
11504         size request and allocate it.
11505         (gtk_window_size_allocate): guard against guint underflows.
11506
11507 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11508
11509         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11510         in gtk_built_sources, so gtk.defs gets built prior to all other
11511         sources.
11512
11513 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11514
11515         * gtk/Makefile.am:
11516         invoke indent on gtkmarshal.*. 
11517         rewrote source generation rules, use COPYING as oldest source tag for
11518         a piggyback rule to generate all sources from (don't touch it ;).
11519         major cleanups, strip spaces on build rules for GNU Make.
11520
11521         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11522         source and target files from commandline arguments. don't invoke indent.
11523
11524 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11525
11526         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11527         notebook after switch to avoid drawing problems.
11528         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11529         
11530         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11531         show them instead. 
11532         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11533
11534 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11535
11536         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11537         notebook after switch to avoid drawing problems.
11538         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11539         
11540         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11541         show them instead. 
11542         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11543
11544 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11545
11546         * gtk/gtkwindow.c:
11547         we use window->need_resize from configure_event now, to indicate that
11548         the gtkwindow should keep its allocation (e.g. because the user resized
11549         the window through window manager handles). resize_count is now reliably
11550         used to figure whether we got the allocation we requested from the
11551         window manager.
11552         configure events get queued as resizes now, the real stuff (size
11553         computation and allocation) now only goes on in gtk_window_move_resize().
11554         GtkWindow's requisition now contains its *real* requisition (like all
11555         other widgets), *not* taking usize into account.
11556         geometry_info->last_{width|height} is now updated from set_hints() only
11557         so it always contains the last hints we set for the window manager.
11558         made some event handlers return TRUE instead of FALSE.
11559         the overall code should be much more straight forward now, and the
11560         significant code portions are accompanied by comments now.
11561         (gtk_window_set_hints):
11562         removed requisition argument and made it
11563         fetch the requisition through gtk_widget_get_child_requisition.
11564         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11565         does that now.
11566         (gtk_window_show):
11567         ensure that the widget is realized before calling 
11568         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11569         ensure that we got properly size requested and allocated before
11570         realization.
11571         (gtk_window_configure_event):
11572         ignore plain window moves, or reallocate the widget tree through the
11573         resize queue otherwise.
11574         (gtk_window_move_resize):
11575         mostly rewrote this function to figure window manager hints more
11576         reliably, coalesce window moves and resizes to reduce configure events
11577         and do actuall size allocations.
11578
11579 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11580
11581         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11582         that have a resize pending, because a redraw is already queued for them.
11583
11584         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11585         hack to clear resize_widgets.
11586
11587         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11588         for resize containers prior to size allocation. (this is also a bit
11589         ugly, but avoids side effects for stopped emissions and is thus more
11590         reliable).
11591         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11592
11593         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11594         function from gtk_tooltips_expose, as we connect to ::expose_event
11595         *and* ::draw now.
11596
11597 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11598
11599         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11600         checks.
11601         (gtk_target_list_unref): Likewise.
11602
11603         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11604
11605 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11606
11607         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11608         guard against division by zero. (Fixes bug #1339)
11609
11610 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11611
11612         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11613         Prevent the trivial leak of information of allowing
11614         word motion when the entry is not visible.
11615
11616 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11617
11618         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11619         modality to error dialog as well as confirmation dialogs.
11620         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11621
11622 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11623
11624         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11625         tree->view_lines.
11626         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11627
11628         * gtk/Makefile.am (install-data-local): Solaris apparently
11629         has various troubles with ln -f; use rm first instead.
11630         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11631
11632 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11633
11634         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11635         use `cp' followed by `rm' (the `rm' was already there).
11636
11637 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11638         
11639         * configure.in: Fix autoconf warnings about cross compilation by
11640         trying to provide sane defaults for AC_TRY_RUN.
11641         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11642         put them into $(srcdir) when generated. Also add a dependency of
11643         gtksignal.h on gtkmarshal.h for -j builds. 
11644         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11645
11646 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11647
11648         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11649         GDK_THREADS_{LEAVE,ENTER} pair.
11650         (From Paul Fisher <pnfisher@redhat.com>)
11651
11652 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11653
11654         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11655         width and height are always >0 (owen).
11656
11657 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11658
11659         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11660         change that assured that a widget's allocated with and height are
11661         always >1, since this breaks *buggy* panel code. unfortunately this
11662         back-breaks the gimp's color selector.
11663
11664         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11665         allocation is always >0 in width and height, before sending the
11666         configure event; this is a *gross* hack to get the gimp back to work.
11667         
11668         * marked both cases with TODO-1.3
11669
11670 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11671
11672         * gtk/gtktext.c: Don't display wrap indicators when
11673         text is not editable and word wrap is on.
11674
11675 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11676
11677         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11678         option menus here as they are not derived from menu shell, assure that
11679         the option menu has a menu we can add items to.
11680
11681 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11682
11683         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11684         width/height to (gint) before calculations and check against < 0 to
11685         avoid guint wraparounds.
11686
11687 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11688
11689         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11690         width and height is never zero. sanity check both dimensions against
11691         32767 and issue a warning if the allocation is greater than that.
11692
11693 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11694
11695         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11696         to g_main_pending() as well.
11697
11698 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11699
11700         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11701         call to g_main_iteration() - since that will regrab
11702         GTK+ lock to process events.
11703
11704 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11705
11706         * gtk/gtkwindow.c
11707         - Regularize with the rest of GTK+ by making widget->requisition
11708           not reflect the set_usize()
11709         - Always recompute geometry hints, then check if they
11710           changed before sending them to the X server. The
11711           previous checks for changes would fail in a number
11712           of circumstances. 
11713
11714 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11715
11716         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11717
11718 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11719
11720         * gtk/gtkdnd.c:
11721         - Code cleanups
11722         - Instantaneously update on modifier key presses
11723         - Allow cancellation of the drag with Escape.
11724
11725 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11726
11727         * gtk/testgtk.c (create_handle_box): Set the policy
11728         to auto_shrink - otherwise the appearance is rather
11729         strange when flipping between horizontal and vertical.
11730
11731 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11732
11733         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11734         (gtk_window_set_default_size): don't change a value if it's < 0.
11735         queue a resize.
11736
11737 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11738
11739         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11740
11741 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11742
11743         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11744         add an extra "/" when concating "/" + filename.
11745         (From Matt Grossman <mattg@oz.net>)
11746
11747 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11748
11749         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11750         for fg_gc if we set it for drawing pixmap.
11751
11752 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11753
11754         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11755         
11756         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11757         already set, call old engine's destroy function and
11758         unref the old engine.
11759
11760 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11761
11762         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11763
11764 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11765
11766         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11767
11768 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11769
11770         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11771         expand behaviour changed.
11772
11773         * gtk/gtklabel.c (gtk_label_set_pattern):
11774         (gtk_label_set_justify):
11775         (gtk_label_set_line_wrap):
11776         don't bother invoking queue_clear, the reallocation does
11777         that for us, always free_words so the upcoming resize will
11778         relayout the label's contents.
11779
11780 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11781
11782         * applied argument implementation patches from Elena Devdariani
11783         <elena@cogent.ca>.
11784
11785         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11786         ::space_style, ::relief
11787         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11788         * gtk/gtkpreview.c: ::expand
11789         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11790         * gtk/gtknotebook.c: ::homogeneous
11791         * gtk/gtklabel.c: ::wrap
11792         * gtk/gtklist.c: ::selection_mode
11793         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11794         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11795         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11796         * gtk/gtkclist.c: ::sort_type
11797         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11798         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11799
11800 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11801
11802         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11803         comment.
11804
11805 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11806
11807         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11808         counting right when we have to attach a new style
11809         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11810
11811         * gtk/gtkstyle.c: Documented the refcounting
11812         peculularities of gtk_style_attach.
11813
11814 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11815
11816         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11817         window types.
11818
11819         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11820         of GTK_TOPLEVEL for creating the window.
11821
11822 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11823
11824         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11825         the last argument (reported by Per Winkvist).
11826         
11827 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11828
11829         Fixes for invisible XOR lines (Frank Loemker
11830         <floemker@TechFak.Uni-Bielefeld.DE>)
11831         
11832         * gtk/gtkclist.c (gtk_clist_realize): Always use
11833         a non-zero pixel for GDK_XOR.
11834
11835         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11836         Use GDK_INVERT instead of GDK_XOR.
11837
11838 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11839
11840         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11841         signals if h/voffsets differ from adjustment values.
11842         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11843
11844 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11845
11846         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11847         ::selection-done emissions up to the topmost menu shell.
11848
11849 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11850
11851         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11852         the user data on the window before destroying it.
11853
11854         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11855         unrealize handler to take care of destroying 
11856         notebook->panel properly. 
11857         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11858
11859         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11860         of g_new and g_realloc to stop memory leak. (Actually,
11861         we could just use g_realloc(), but I'm not 100% sure
11862         that is portable).
11863         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11864
11865 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11866
11867         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11868
11869         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11870         for fontsets.
11871
11872         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11873         with bin/button confusion.
11874
11875 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11876
11877         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11878         and show how preselection of radio items is done.
11879
11880 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11881
11882         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11883         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11884         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11885         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11886         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11887         * gtk/gtktable.c (gtk_table_attach): 
11888         * gtk/gtklist.c (gtk_list_insert_items): 
11889         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11890         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11891         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11892         * gtk/gtkbin.c (gtk_bin_add): 
11893         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11894         * gtk/gtkfixed.c (gtk_fixed_put): 
11895         * gtk/gtklayout.c (gtk_layout_put):
11896         general fixups to container_add logic. always realize child if
11897         child->parent is realized, only map the child and queue a resize
11898         if child and child->parent are both visible.
11899
11900 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11901
11902         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11903         instead of gtk_container_foreach to walk and unrealize children, so
11904         composite children get also unrealized.
11905         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11906         (gtk_widget_map): assert that the widget is visible (basic constrain).
11907         (gtk_widget_real_map): assert that the widget is realized (basic
11908         constrain).
11909
11910 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11911
11912         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11913
11914 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11915
11916         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11917         file for iso-8859-2 locales.
11918
11919         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11920
11921 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11922
11923         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11924          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11925          Remove some suspicious and useless lines. 
11926
11927 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11928
11929         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11930         width,height = 0, 0 to mean - here to edge of window,
11931         instead of -1, -1, since the former is all we support.
11932
11933 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11934
11935         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11936         when removing from quit_functions list.
11937
11938 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11939
11940         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11941
11942 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11943
11944         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11945          When redrawing characters on non-visible entry, use appropriate
11946          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11947
11948 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11949
11950         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11951         from drag coordinates.
11952         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11953         use drag_dest_cell.
11954
11955         * gtk/gtktree (drag_dest_cell)
11956         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11957         (Bug #1129)
11958
11959 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11960
11961         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11962         translate_* fields.
11963         (gtk_item_factory_finalize): invoke translate_notify independant from
11964         translate_data.
11965         (gtk_item_factory_set_translate_func): likewise.
11966         (gtk_item_factory_destroy): only remove ifactory pointer from those
11967         widgets that belong to us (stupid me).
11968
11969 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11970
11971         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11972         rc_style list when lookup succeeeds.
11973
11974 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11975
11976         * gtk/gtkctree.c (resync_selection): 
11977         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11978         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11979         bug.
11980
11981 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11982
11983         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11984         Add some missing GDK_THREADS_ENTER()/LEAVE around
11985         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11986
11987 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11988
11989         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11990         rather than emit_by_name.
11991
11992         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11993         on the widget across multiple signal emissions.
11994         (gtk_editable_delete_text): same here.
11995         (gtk_editable_class_init): set widget_class->activate_signal after
11996         editable_signals[ACTIVATE] has been created.
11997
11998 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
11999
12000         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12001         position here prematurely -- we might not have the
12002         right ->min_position and ->max_position yet.
12003
12004 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12005
12006         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12007         Add error traps so if the other end of the connection
12008         dies, we survive.
12009
12010         * gtk/gtkselection.c (gtk_selection_notify): Clean
12011         up properly when selection property retrieval fails.
12012         
12013         * gtk/gtkselection.c (gtk_selection_request): Correctly
12014         reject SelectionRequest notifies where the handler
12015         returns no data.
12016
12017 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12018
12019         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12020         when we've previously highlighted.
12021
12022         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12023         emit two "drag_leave" signals for Motif drops.
12024
12025         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12026         back the correct status messages when dropping from
12027         Motif onto a proxy window that is rejecting the
12028         drop.
12029
12030 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12031
12032         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12033         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12034         to compare two argument values. added gtk_arg_to_valueloc() to set a
12035         variable from an arg through its location (pointer).
12036
12037         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12038         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12039         as gfloat*, uchars are collected as guchar*, ints are collected as
12040         gint*, etc...
12041
12042 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12043
12044         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12045         Include <string.h> instead of <strings.h>.
12046
12047         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12048         (actually, a lot more duplicate includes occur if
12049          you trace through the sequence of #include's)
12050         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12051         
12052 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12053
12054         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12055         gtk-a-higuti-990322-[0-3]
12056
12057         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12058         that was causing -DX_LOCALE not to work.
12059
12060         * gtk/gtkrc.c (gtk_rc_init):
12061         X_LOCALE will never have LC_MESSAGES defined
12062
12063 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12064
12065         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12066         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12067
12068         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12069         left/right as well (gtk-michael-980726-0.patch.gz).
12070
12071         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12072         for pointer values, use gchar instead of char. fixed uline allocation
12073         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12074         chunks instead of G_ALLOC_ONLY.
12075         (gtk_label_size_request): always alter requisition as passed and leave
12076         widget->requisition alone.
12077         (gtk_label_set_text): allow NULL strings.
12078         (gtk_label_new): likewise.
12079
12080 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12081
12082         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12083
12084 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12085
12086         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12087         *and* mapped (i.e. drawable).
12088         (gtk_bin_expose): only send exposes to drawable children.
12089
12090         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12091         (gtk_box_expose): only send exposes to drawable children.
12092
12093         * gtk/gtkhscale.c (gtk_hscale_draw): 
12094         * gtk/gtkvscale.c (gtk_vscale_draw):
12095         hm, this is an ugly one. we first compute the size of our trough area
12096         here (window relative) and then check intersection with the draw_area
12097         which is parent relative because we're a NO_WINDOW widget, so we need
12098         to offset the trough area by allocation.x and allocation.y before the
12099         check. (this must not be done for the background area though, since
12100         that's already computed parent relative).
12101
12102 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12103
12104         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12105         unrealize title buttons.
12106
12107 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12108
12109         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12110         (gtk_clist_column_title_active): 
12111         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12112
12113         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12114         zero initialize event, removed superfluous gdk_window_get_pointer call
12115
12116         * gtk/gtklist.c (gtk_list_vertical_timeout)
12117         (gtk_list_horizontal_timeout): removed superfluous
12118         gdk_window_get_pointer call
12119
12120 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12121
12122         * plugging problems reported by "Bruce Mitchener, Jr."
12123         <bruce@puremagic.com> due to a purify session.
12124
12125         * gtk/gtkstyle.c:
12126         (gtk_style_ref): 
12127         (gtk_style_unref): assert ref_count to be > 0.
12128
12129         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12130         the requisition.
12131         (gtk_clist_set_shift): likewise.
12132
12133         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12134         adjustments.
12135
12136         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12137         event before sending it and set send_event to TRUE (which needs to
12138         be done for *all* synthesized events).
12139         (gtk_list_vertical_timeout): likewise.
12140
12141         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12142         leaks.
12143
12144         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12145         to TRUE when synthesizing events.
12146
12147 [ *** end of merges from 1.2 *** ]      
12148         
12149 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12150
12151         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12152         (or copied from gdkconfig.h.win32 on Win32, sigh).
12153
12154         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12155
12156         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12157
12158         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12159
12160         * gdk/gdkconfig.h.win32: New file.
12161
12162         * gdk/win32/makefile.cygwin: Build just a static archive here.
12163
12164         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12165         for the DLL from the static archive built above.
12166
12167         * gdk/gdk.def: Moved here from the win32 subdirectory.
12168
12169         * gdk/win32/*: Adapt for the changed private struct organisation.
12170
12171         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12172
12173 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12174
12175         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12176         for wheel mice (buttons 4 and 5).
12177
12178 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12179
12180         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12181         drawables use just the pixel field in the foreground and
12182         background GdkColor of the GdkGC.
12183
12184         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12185         GdkColors containing uninitialized (red,green,blue) fields, and
12186         just the pixel field filled in, and furthermore in the
12187         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12188         It thus turns out that we really don't need to have the full
12189         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12190         it later to have just the pixel values.
12191
12192 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12193
12194         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12195
12196 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12197
12198         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12199         New question on GtkLabel background colors.
12200
12201         * docs/gtk_tut.sgml:
12202           - Correct the example code callback
12203             function definitions.
12204           - Update the gtkdial example code, from Frans van Schaik.
12205           - Update setselection.c to current API.
12206
12207         * examples/Makefile examples/*/*.c: Update to code
12208         listed in tutorial.
12209
12210 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12211
12212         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12213         subrange table (from the "Developing International Software for
12214         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12215         block... Get the loaded font's charset correctly.
12216
12217         (Note that this, and the other *-win32.c files, still really are
12218         the old ones, the win32 subdirectory is not ready for compilation
12219         yet after the reorg.)
12220
12221 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12222
12223         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12224         check.
12225
12226 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12227
12228         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12229         on results of XQueryDeviceState().
12230
12231 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12232
12233         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12234         we need to accesss only ->children. We need an accessor
12235         for the children.
12236
12237         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12238         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12239         to get rid of gdkx.h include.
12240         
12241         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12242         and random references to 'None'.
12243
12244         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12245         Get rid of unused #include <gdk/gdkx.h>
12246
12247         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12248         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12249         gdkconfig.h.
12250
12251 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12252
12253         * gdk/win32/gdkdraw.c
12254         * gdk/win32/gdkfont.c
12255         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12256         following yesterday's changes. (Unrelated to Owen's reorg.)
12257
12258 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12259
12260         * gdk/x11/gdkinput-gxi.c: Add missing include,
12261           fix GdkWindowPrivate => GdkDrawablePrivate.
12262
12263         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12264
12265         * gdk/x11/Makefile.am (xinput_sources): Add missing
12266         backslash to fix building with --with-xinput=none
12267
12268 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12269
12270         Move all X specific code into the x11/ directory.
12271         Aside from shuffling things around, did the following:
12272
12273        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12274          gdk_arg_context_* - a simple argument parsing system
12275          in the style of popt.
12276
12277        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12278          gdk/x11/gdkprivate-x11.h:
12279          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12280          add ->klass and ->klass_data fields. The klass_data
12281          field points to an auxilliary structure that is
12282          windowing system dependent.
12283
12284        * gdk/gdkfont.c: Make most of the measurement functions
12285          simply wrappers around gdk_text_extents().
12286
12287        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12288          _gdk_font_strlen() function that hides the weird
12289          behavior in gtk+-1.[02] where a string is interpreted
12290          differently for 8-bit and 16-bit fonts.
12291
12292        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12293          to store common code for synthesizing double/triple
12294          press events.
12295         
12296        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12297          Make all the function that modify an existing GC
12298          simply wrappers around gdk_gc_set_values().
12299          
12300        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12301          for throwing out later.
12302
12303        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12304          GdkImagePrivate and GdkColormapPrivate to have a
12305          windowing system dependent part (GdkFontPrivateX etc.)
12306          that "derives" from the system-independent part.
12307
12308        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12309          Got rid of the included-source-files for XInput in
12310          favor of automake conditionals. (Which didn't exist
12311          when XInput support was originally added.)
12312
12313        * gdk/gdkrgb.c: Remove the visual id from the debugging
12314          statements since that is X11 specific; print out
12315          type/depth info instead.
12316          
12317
12318 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12319
12320         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12321         loading duplicates of hashed fonts.
12322
12323         * gdk/gdk.c (gdk_keysym_convert_case): rename
12324         gdk_XConvertCase to gdk_keysym_convert_case, allow
12325         results to be NULL in the GTK+ style.
12326
12327         * gdk/gdkcompat.h: Started compatibility header
12328         for renames.
12329
12330 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12331
12332         * gdk/win32/gdkprivate.h: New font private structures, related to
12333         fontsets.
12334
12335         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12336         gdk_font_list_free(). On X11, will just be wrappers to
12337         XListFonts() and XFreeFontNames(). On Win32, the code previously
12338         in gtkfontsel.c is now here.
12339
12340         New function gdk_font_xlfd_create(). On X11 will get the FONT
12341         property of the font (for GDK_FONT_FONTs), or call
12342         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12343         builds a XLFD style name from the font information in the LOGFONT
12344         struct(s).
12345
12346         New function gdk_font_xlfd_free(), which correspondingly frees the
12347         string returned by gdk_font_xlfd_create().
12348
12349         Implement fontsets on Win32. Add a function that iterates over a
12350         wide char string and calls a callback function for each substring
12351         of wide chars from the same Unicode subrange (and thus probably
12352         available in the same real font).
12353
12354         Improve the XLFD emulation a bit.
12355
12356         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12357
12358         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12359         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12360         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12361         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12362         ImmGetCompositionStringW() to get the composed Unicode chars.
12363
12364         * gdk/win32/gdkgc.c
12365         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12366         struct changes.
12367
12368         * gdk/win32/gdk.def: Add the new functions.
12369
12370 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12371
12372         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12373         get the Platform SDK to get <dimm.h>.
12374
12375         * gdk/win32/gdkevents.c: More event handling fixes and
12376         simplification. Never generate motion events with is_hint true. We
12377         used to do that on bogus grounds earlier. Windows sends
12378         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12379         moved, ignore these.
12380
12381         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12382
12383         * gdk/win32/gdkglobals.c
12384         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12385         the TrackMouseEvent function, and use it.
12386
12387         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12388         char before calling WideCharToMultiByte in order to get a string
12389         for the window title.
12390
12391         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12392
12393         * gdk/win32/gdk.def: Remove obsolete functions.
12394
12395         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12396         /nodefaultlib and /defaultlib switches.
12397
12398         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12399
12400 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12401
12402         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12403         EuroSign).
12404
12405         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12406         same type as GdkWChar, especially on Win32.
12407
12408         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12409
12410         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12411         before passing to Windows GDI for drawing etc. Convert to the
12412         system default codepage before passing to Windows as window
12413         titles.
12414
12415         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12416         support changing input locale on the fly.
12417
12418         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12419         on-the-fly changes. Convert incoming characters from the current
12420         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12421         on the current input language. Use keysym<->Unicode mapping tables
12422         and functions borrowed from xterm sources.
12423
12424         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12425         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12426         Manager) if available. IMEs and the Active IMM are available under
12427         the disguise of Chinese, Korean and Japanese support for IE and
12428         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12429         support is present in all editions (as long as you install it).
12430
12431         Call DispatchMessage from gdk_events_queue() (and thus
12432         gdk_WindowProc()), instead of duplicating the code in
12433         gdk_WindowProc().
12434
12435         Reworked the grab handling and propagation code, factored out
12436         duplicated code snippets into separate functions. Other cleanups,
12437         too.
12438
12439         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12440         the <dimm.h> header describing the Active IMM.
12441
12442         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12443         just do the same as for "single" fonts.
12444
12445         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12446         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12447         the new keysyms from gdkkeysyms.h.
12448
12449         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12450         fontset, so that gtkentry uses wide characters.
12451
12452         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12453         GTk+'s system directory "gtk+", not "gtk".
12454
12455 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12456
12457         * docs/gtkfaq.sgml: FAQ update
12458
12459 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12460
12461         * gdk/win32/gdkprivate.h: Add more font private data.
12462
12463         * gdk/win32/gdkfont.c
12464         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12465         fonts and strings. Now works much better. You still have to
12466         have a correct font selected, though. No fontset emulation yet.
12467
12468 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12469
12470         * gtk/maketypes.awk: Use G_OS_WIN32.
12471
12472         * gtk/gtk.def: Add some missing entry points. Also some non-public
12473         ones, but PyGTK porter claims to need them.
12474
12475         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12476         built-in type generation.
12477
12478 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12479
12480         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12481         GDK_FONT_FONT fonts (which is all we have for now, we don't
12482         emulate fontsets). The X11 version uses plain XDrawString in that
12483         case, too. The string passed to gdk_draw_text_wc seems to be in
12484         fact (at least, when used by gtkentry and gtktext) either in a
12485         single-byte charset, or a DBCS. Not Unicode.
12486
12487         This fixes the problem in gtkfontsel, where even if you had
12488         selected a font with a non-Latin1 charset (windows-greek, for
12489         instance), the preview still used Latin-1 glyphs.
12490
12491         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12492         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12493         (gdk_font_load): Recognize the demibold etc weights, even if we
12494         don't have the corresponding constants in the headers.
12495         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12496         version. Should save font resources a bit, when we don't have
12497         multiple HFONTs for the same font.
12498
12499         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12500         version.
12501
12502 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12503
12504         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12505         X values
12506
12507 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12508
12509         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12510         layout support (as mentioned on
12511         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12512
12513 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12514
12515         * gtk/fnmatch.c
12516         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12517
12518 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12519
12520         * configure.in (ALL_LINGUAS): Added Galician (gl)
12521
12522 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12523
12524         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12525
12526         * gdk/win32/gdkcompat.c: New file, actually provide an
12527         implementation for the deprecated functions. (Just temporarily.)
12528
12529         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12530
12531         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12532
12533         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12534
12535 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12536
12537         * configure.in: Added "uk" to ALL_LINGUAS.
12538         
12539 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12540
12541         * configure.in: correct checking for BeOS check
12542
12543         * gdk/gdktypes.h
12544         * gtk/fnmatch.c
12545         * gtk/gtkfilesel.c
12546         * gtk/gtkitemfactory.c
12547         * gtk/gtkmain.[ch]
12548         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12549
12550 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12551
12552         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12553         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12554         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12555         by Bulgarian). 
12556
12557 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12558
12559         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12560         Fix a reference to window_private->destroyed.   
12561
12562         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12563         (ugly) setting of an internal GdkWindow member to use
12564         a _slightly_ cleaner macro.
12565
12566         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12567         GdkDrawablePrivate and GdkWindowPrivate.
12568         Add extra macros for accessing GDK_DRAWABLE_ components.
12569
12570         * *.[ch]: Massive adjustments for the above, use the
12571         new macros in a lot of places.
12572
12573 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12574
12575         * gdk/gdktypes.h: Make GdkDrawable the base type,
12576         not GdkWindow.
12577
12578 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12579
12580         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12581
12582 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12583
12584         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12585
12586 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12587
12588         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12589         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12590
12591         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12592
12593         * docs/gtk-config.1: Now autogenerated.
12594         * docs/Changes-1.4.txt: started
12595         
12596 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12597
12598         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12599         to #ifdef also here.
12600
12601         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12602         Owen did to the X11 backend.
12603
12604         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12605         ScrollWindowEx when blitting inside a window, it can't be correct
12606         in the general case.
12607
12608         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12609         WM_GETMINMAXINFO is easier.
12610
12611         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12612         depth equal to the bitspixel value, not the visual's depth.
12613
12614         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12615         to 24 even if the bitspixel value is 32.
12616
12617         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12618         need to check for depth==32 when bpp==32, depth will always be 24.
12619
12620 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12621
12622         * docs/Changes-1.4.txt: Started
12623         
12624         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12625
12626         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12627         
12628         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12629         into C file.
12630         
12631         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12632         header to gdkinputprivate.h.
12633
12634         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12635         unused since before 1.2.
12636
12637 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12638
12639         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12640         expand possible hex escapes in the font family (put there by
12641         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12642         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12643         On Win32, add hex escapes here, too.
12644
12645 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12646
12647         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12648         to #ifdef GDK_WINDOWING_X11.
12649
12650 [ Merges from gtk-1-2 ]
12651
12652 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12653
12654         * configure.in: fixed "GNU Make" check to pass with new make version
12655         3.77.95.
12656
12657 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12658
12659         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12660         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12661         AM_PATH_GTK() macros don't get confused by the -pre1.
12662
12663 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12664
12665         * configure.in (REBUILD): Change check for perl5
12666           to check explicitely for v >= 5.002. (5.001
12667           does not work with our scripts.)
12668
12669 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12670
12671         * configure.in: evaluate $PERL for the perl version check. added
12672         --disable-rebuilds to give the user an option to completely disable
12673         any source autogeneration rules.
12674
12675 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12676
12677         * configure.in: evaluate $ac_make when checking for GNU Make.
12678
12679 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12680
12681         * docs/Makefile.am: added generation.txt.
12682
12683         * Makefile.am: require automake 1.4, build README from README.in and
12684         INSTALL from INSTALL.in in dist-hook.
12685         
12686         * README.in:
12687         * INSTALL.in: new files to autogenerate README and INSTALL from.
12688
12689         * configure.in: figure whether we have GNU Make
12690
12691         * docs/generation.txt: minor additions/corrections.
12692
12693 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12694
12695         * docs/gtkfaq.sgml: FAQ Update
12696
12697 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12698         
12699         * configure.in: Fix autoconf warnings about cross compilation by
12700         trying to provide sane defaults for AC_TRY_RUN.
12701
12702 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12703
12704         * ltconfig
12705         * ltmain.sh: upgrade to libtool 1.3.3
12706
12707 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12708
12709         * INSTALL: Indicate that the --with-glib= configure
12710         time flag is unsupported.
12711
12712 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12713
12714         * docs/generation.txt: Added a file that gives
12715         documenation about the autogeneration process for
12716         various autogenerated files.
12717         
12718 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12719
12720         * configure.in (LIBS): Look for libgmodule in the
12721         right location.
12722
12723 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12724
12725         * docs/gtk_tut.sgml: Removed references to
12726         code examples in my directory on gtk.org as
12727         they should all be in the tutorial now.
12728
12729         * docs/gtk_tut.sgml: Added sources for dial-test
12730         and scribble-xinput programs that were previously
12731         missing.
12732
12733 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12734
12735         * TODO: Added entry about menu keyboard navigation, removed
12736         some finished items.
12737
12738 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12739
12740         * acinclude.m4: Standardize on func_dgettext
12741         not func_gettext, so that the checks for dgettext
12742         actually are paid attention to.
12743
12744 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12745
12746         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12747         directly, rather than repeating the checks for
12748         gettext.
12749
12750         * INSTALL: Added information about gettext and
12751         NLS support.
12752
12753         * acinclude.m4 (LIBM): Check for dgettext, not
12754         just gettext. This should hopefully fix things wrt
12755         systems with old versions of GNU gettext installed.
12756
12757 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12758
12759         * configure.in (LIBS): Look for libgmodule in the
12760         right location.
12761
12762 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12763
12764         * autogen.sh: add --enable-maintainer-mode
12765
12766         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12767
12768 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12769
12770         * docs/gtk-config.1.in:
12771           docs/Makefile.am:
12772           configure.in: gtk-config is now generated.
12773
12774         * docs/gtk-config.1: Removed, now generated.
12775
12776 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12777
12778         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12779         handle CreateNotify itself, still put out a debuging message for
12780         --gdk-debug=events. made the ReparentNotify debugging message more
12781         verbose.
12782         wrap xcoords translation for ConfigureEvents into an error trap,
12783         a destroy event may already be pending, and in that case, the
12784         actuall coordinate values are not at all critical.
12785
12786 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12787
12788         * gdk/gdkcc.c: Stop leaking the color_hash all over
12789         the place. Simplify and improve the logic.
12790
12791 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12792
12793         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12794         for prototypes and function implementations consistent (reported
12795         by Tomas Ogren).
12796
12797 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12798
12799         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12800         send_event set in debugging output.
12801         (gdk_compress_exposures): default initialize the event so we don't
12802         operate on bogus values (namely send_event).
12803
12804 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12805
12806         * gdk/gdkwindow.c: When we receive an unexpected
12807         destroy notify on one of our windows, don't just
12808         warn about it, also mark our windows as destroyed.
12809
12810 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12811
12812         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12813           name => font and name => fontset hashes. The 
12814           name => fontset hash is a _big_ win since we
12815           weren't previously caching fontsets at all and loading
12816           fontsets is expensive. The name => font hash
12817           is less of a win, but it does save us from doing
12818           repeated XQueryFont calls on the same font.
12819
12820         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12821           list so we can remove font/fontset from hash.
12822
12823 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12824
12825         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12826           and slightly confusing test. [ XInternAtom (,,TRUE)
12827           will never return None ].
12828
12829 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12830
12831         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12832           gdk/gdkwindow.c (gdk_window_set_hints):
12833
12834         Don't omit setting the properties if flags == 0 -
12835         there may be an existing set of properties there
12836         already. (Very old bug. Would it be better to
12837         delete the property instead?)
12838
12839         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12840           spelling error in comment.
12841
12842 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12843
12844         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12845           to avoid stomping over gdk_error_warnings.
12846
12847         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12848           as (bits_per_pixel + 7) / 8. This gives the same
12849           result as before for multiples of 8, but actually
12850           a "reasonable" value for 1bit or 4bit displays.
12851
12852 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12853
12854         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12855         GNU Make.
12856
12857 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12858
12859         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12860         discarding configure events.
12861
12862 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12863
12864         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12865         refcount is greater than zero.
12866
12867         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12868
12869         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12870
12871         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12872
12873         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12874
12875 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12876
12877         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12878         that format 32 => sizeof(item) == 4. It really is
12879         sizeof(long).
12880
12881 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12882
12883         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12884         core dump at all on X IO errors, only core dump
12885         if --enable-debug for X errors.
12886
12887 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12888
12889         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12890         unknown window:" message. disabled ConfigureNotify discarding code,
12891         because it led to events being processed out of order.
12892
12893 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12894
12895         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12896
12897         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12898         we export this function, supress error warnings and don't reset the
12899         error code in the first half of this function.
12900
12901         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12902         code (instead of just -1) so gdk_error_trap_pop() reveals something
12903         actually informative about the error that happened.
12904
12905         * gdk/*.c:
12906         don't rely on gdk_error_code being -1 if an error occoured, but just
12907         gdk_error_code != 0.
12908
12909 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12910
12911         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12912         pointer *before* invoking the filter function, so we at least don't
12913         crash if a filter is removed that is currently executed. window filters
12914         *really* need to be made truely reentrant at some point.
12915
12916 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12917
12918         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12919         PropertyNotify debug messages.
12920
12921 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12922         
12923         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12924         
12925         * gdk/gdkim.c: Fix cut-and-paste errors for 
12926         x/y and PreeditAttributes/StatusAttributes.
12927
12928 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12929
12930         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12931         G_MAXINT to 2^16 to alleviate overflow problems in
12932         various window managers.
12933
12934 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12935
12936         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12937         for fontsets.
12938
12939 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12940
12941         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12942         Initialize size_hints.x and size_hints.y because kwm
12943         brokenly pays attention to them.
12944         (Bug #1181 -  Lars Heete <hel@admin.de>)
12945
12946 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12947
12948         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12949         return value of gdk_list_visuals(). 
12950         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12951
12952 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12953
12954         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12955         XSetIMValues to (void *) when comparing to NULL, to workaround
12956         the problem of some compilers barfing since older X headers don't
12957         have the prototype for it.
12958
12959 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12960
12961         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12962         for pseudocolor where colormap->colors was double
12963         allocated.
12964
12965         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12966         color value in the hash table with the pixel filled
12967         in so when we do later hash table lookups, the color
12968         value is correct.
12969         
12970 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12971
12972         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12973         making the call
12974
12975 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12976
12977         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12978         pointed out by Morten Welinder <terra@diku.dk>.
12979
12980 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12981
12982         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12983           default filter from the list
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 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12991
12992         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12993
12994         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
12995         g_strdup_printf instead of calcing the length separately
12996
12997 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
12998
12999         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13000         that we don't do in many other places. (Fixing duplicate 
13001         #include of config.h)
13002
13003         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13004         Otherwise, #ifndef XINPUT_NONE check in the latter
13005         doesn't work. (Bug #546)
13006
13007 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13008
13009         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13010         "None" case insensitive.
13011
13012 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13013
13014         * gdk/gdkselection.c: 
13015         Add error traps so if the other end of the connection
13016         dies, we survive.
13017
13018 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13019
13020         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13021         dest_xid field into two fields - one for the window
13022         to send in messages, one to indicate the last looked
13023         up window for caching purposes. This is needed, so
13024         that Leave messages get the correct window.
13025
13026 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13027
13028         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13029         Fix warning created by people mucking around
13030         with the gsource API.
13031
13032         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13033         Change mapping between GIOCondition and GdkInputCondition
13034         to match the way the Linux kernel does it. This should
13035         fix problems where closed pipes were no longer signalling
13036         GDK_INPUT_READ on systems with a native poll().
13037
13038 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13039
13040         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13041         explicitly for the string "None" - it is in the XPM
13042         spec and some servers treat unknown colors in odd ways
13043         (like asking the user!)
13044
13045 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13046
13047         * gdk/gdkevents.c: made "->" into a "." of previous change so
13048         it compiles
13049
13050 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13051
13052         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13053         window field of the event structure before calling
13054         user filters.
13055
13056 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13057
13058         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13059         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13060
13061 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13062
13063         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13064         intermediate text property - prevents major memory
13065         leak when gdk_use_mb.
13066         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13067
13068 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13069
13070         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13071         gtk-a-higuti-990322-[0-3]
13072
13073         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13074         sizeof(wchar_t) != sizeof (GdkWChar)
13075
13076         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13077         that was causing -DX_LOCALE not to work.
13078
13079         * gtk/gtkrc.c (gtk_rc_init):
13080         X_LOCALE will never have LC_MESSAGES defined
13081
13082         * gdk/gdk.c (gdk_init_check):
13083         Remove --xim-preedit and --xim-status from argv properly.
13084
13085         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13086         that the client window is present on the X server
13087         before we pass it to the input method.
13088
13089 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13090
13091         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13092         if --display is specified on the command line, than
13093         the drag window will not be created on that display.
13094         
13095 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13096
13097         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13098         lookups with only_if_exists == TRUE were inserting
13099         bogus values into the atom cache.
13100
13101 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13102
13103         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13104         then reset it to NULL.
13105
13106         * gdk/gdkcolor.c:
13107         (gdk_colors_free): 
13108         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13109         key for g_hash_table_remove() in both functions, this prevents us
13110         from accessing possibly uninitialized portions of a GdkColor structure
13111         where we are only interested in its pixel value.
13112
13113 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13114
13115         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13116         font hash table, if we have a GdkFontPrivate entry for this font
13117         already, simply increment its reference count, provided by Olaf Dietsche
13118         <olaf.dietsche+list.gtk@netcologne.de>.
13119
13120 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13121
13122         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13123         just to be sure.
13124
13125         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13126         unused variables, leftovers from the X11 version.
13127
13128         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13129
13130         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13131         downcase fields on X11.
13132
13133 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13134         
13135         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13136         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13137
13138 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13139
13140         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13141
13142         * gtk/makefile.msc: Correct path to libintl.
13143
13144         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13145         use of gint vs. int, and gint vs. gboolean in headers and
13146         definitions. Use GtkType for the *_get_type functions. Note that
13147         these changes preserve binary compatibility.
13148
13149         * gdk/gdk.c
13150         * gdk/win32/gdk.c
13151         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13152
13153         * gtk/gtkmain.c
13154         * gtk/gtkclist.c
13155         * gtk/gtkmenufactory.c
13156         * gtk/gtknotebook.c
13157         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13158         vs. gboolean.
13159
13160         * gtk/gtkcolorsel.[ch]
13161         * gtk/gtkcombo.[ch]
13162         * gtk/gtkdrawingarea.[ch]
13163         * gtk/gtkgamma.[ch]
13164         * gtk/gtkhandlebox.[ch]
13165         * gtk/gtkhpaned.[ch]
13166         * gtk/gtkhruler.[ch]
13167         * gtk/gtkplug.[ch]
13168         * gtk/gtkpreview.[ch]
13169         * gtk/gtkruler.[ch]
13170         * gtk/gtksocket.[ch]
13171         * gtk/gtkstatusbar.[ch]
13172         * gtk/gtktoolbar.[ch]
13173         * gtk/gtkvbbox.[ch]
13174         * gtk/gtkvpaned.[ch]
13175         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13176         functions.
13177
13178         * gtk/gtkgamma.h: Fix bug, missing () in call of
13179         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13180
13181 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13182
13183         * gdk/gdkcolor.c (gdk_colormap_new)
13184         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13185         colormap->colors was allocated twice.
13186
13187         * gdk/win32/gdk.c: Remove some unused stuff.
13188
13189         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13190         colormap.
13191
13192         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13193         * gtk/gtklabel.h (gtk_label_get_type)
13194         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13195         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13196         in a couple of places, not guint.
13197
13198 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13199
13200         * configure.in,po/et.po: added Estonian language file
13201
13202 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13203
13204         * configure.in,po/da.po: added Danish file
13205
13206 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13207
13208         * docs/gtkfaq.sgml: Minor FAQ Update
13209
13210 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13211
13212         * docs/gtkfaq.sgml: FAQ update
13213
13214 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13215
13216         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13217         way to get window contents continually refreshed while resizing. I
13218         didn't like the effects myself, so it's not on by default.
13219
13220         * gdk/win32/gdkprivate.h: New flag variable
13221         gdk_event_func_from_window_proc, FALSE by default.
13222
13223         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13224         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13225         are passed --gdk-event-func-from-window-proc.
13226
13227         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13228         and we have am event_func, call it instead of enqueing the event.
13229
13230 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13231
13232         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13233         Kelley: Set expose_count in GdkEventExposes correctly.
13234
13235         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13236         MULTIPLE_WINDOW_CLASSES).
13237
13238         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13239         for bug in NT, apparently NT *does* draw the end pixel, too, in
13240         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13241
13242 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13243
13244         Improvements by Hans Breuer: 
13245
13246         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13247
13248         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13249         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13250         window contents while dragging" is turned on. Allocate at least
13251         one unique class for every GdkWindowType. If support for single
13252         window-specific icons is ever needed (eg. Dialog specific), every
13253         such window should get its own class.
13254
13255 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13256
13257         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13258         error that caused crashes.
13259
13260 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13261
13262         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13263         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13264         bugs when for instance part of the window was outside the
13265         display. Thanks to Philippe Colantoni for finding and fixing this.
13266
13267 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13268
13269         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13270         endpoint calculations which were totally wrong. (A little RTFMing
13271         helps a lot ;-)
13272
13273         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13274         from a separate directory, not from gettext, because of licensing
13275         issues (we want to use the LGPL version).
13276
13277         * README.win32: Mention the intl from glibc vs from gettext issue.
13278
13279 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13280
13281         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13282         in the key event handling: Now AltGr chars work again. Also,
13283         now Alt-digits are passed up as well as Control-digits.
13284         Pass keypad plus and minus as normal plus and minus.
13285
13286 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13287
13288         * docs/gtkfaq.sgml: FAQ Update
13289
13290 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13291
13292         * README.win32
13293         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13294         the Wintab SDK.
13295
13296         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13297         OK, but getting closer. Guard against bogus tilt data from Wacom
13298         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13299         enable easier building without Wintab.
13300
13301         * gdk/win32/gdkinput.h
13302         * gdk/win32/gdkevents.c 
13303         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13304         
13305         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13306         code. As we have just one visual on Win32, no sense to have it in a
13307         table, and no need for the hash table.
13308
13309         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13310         better on white background.
13311
13312 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13313
13314         * README.win32: Update gcc build instructions. Mention gettext is
13315         GPL.
13316
13317         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13318         supported cursor size with GetSystemMetrics.
13319
13320         * gdk/win32/gdkfont.c
13321         * gtk/gtkfontsel.c: Guard against some font weight and charset
13322         symbols being undefined (in mingw32 headers).
13323
13324         * gdk/win32/makefile.cygwin
13325         * gtk/makefile.cygwin
13326         * gtk/gtkthemes.c: No longer need to have differently named
13327         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13328
13329 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13330
13331         * docs/gtkfaq.sgml: Long awaited FAQ update.
13332
13333 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13334
13335         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13336         it. Obscure bit manipulation needed.
13337
13338         * gdk/win32/gdkevents.c: Logging.
13339         
13340         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13341         style (file name include compiler name) for theme engines.
13342
13343 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13344
13345         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13346
13347         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13348         events. The key.string wasn't zero-terminated, still we strdup'ed
13349         it in gdk_event_copy(). Synthesize crossing events for button
13350         events before possible propagation.
13351
13352         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13353
13354         * gdk/win32/makefile.cygwin
13355         * gtk/makefile.cygwin: Use new DLL naming style for the
13356         GCC-compiled ones.
13357
13358         * gdk/win32/makefile.msc
13359         * gtk/makefile.msc: Cosmetics mostly.
13360
13361         * gtk/gtk.def: Add missing entry points.
13362
13363         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13364
13365 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13366
13367         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13368         or height is zero. Don't print a warning if Pie or Arc fails, they
13369         always fail (?) for very narrow ellipses.
13370
13371         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13372         the part or the destination window corresponding to source area
13373         outside of the source drawable's boundary.
13374
13375         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13376         anything if less than two points.
13377
13378         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13379         return NULL. Gtk cut-and-paste inside a single program works
13380         better this way. (It always gets the clipboard contents from
13381         Windows, not from its own copy, which is cleared anyway. I can't
13382         say I fully understand what happens... Emulating the X selection
13383         and property stuff is a bit of a mess.)
13384
13385         * gdk/win32/gdkevents.c
13386         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13387
13388         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13389         that never got deleted). Revamp gdk_region_shrink.
13390
13391         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13392         after use.
13393
13394         * gtk/gtk.def: Add some missing entry points.
13395
13396         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13397         component.
13398
13399 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13400
13401         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13402         Control-digits specially.
13403
13404 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13405
13406         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13407
13408 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13409
13410         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13411         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13412         finding this.)
13413
13414 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13415
13416         * gtk+.spec.in: Corrected some typos in files section.
13417         
13418 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13419
13420         * README.win32: Mention using GNU gettext.
13421         * config.h.win32: Enable NLS stuff.
13422         * gtk/makefile.msc: Use GNU gettext.
13423         * gdk/win32/gdkdnd.c: Minor header reorg.
13424         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13425         cosmetics.
13426         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13427         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13428
13429 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13430
13431         * acinclude.m4
13432         * config.guess
13433         * config.status
13434         * ltconfig
13435         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13436
13437 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13438
13439         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13440         SafeAdjustWindowRectEx. Don't override all calls to
13441         AdjustWindowRectEx by it, but use it only in two places: When
13442         creating a new top-level window and when moving a top-level
13443         window.
13444
13445         Use screen coordinate rectangle, not client rectangle, in
13446         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13447         when we try to place a window so that the decoration (mainly,
13448         title bar) isn't visible.
13449
13450         These changes fix the bug that showed up for instance as the
13451         GIMP's saved top-level windows moving right and down (by an amount
13452         equal to the window decoration) for each session. This bug showed
13453         up also in testgtk's "Saved Position".
13454
13455         gdk_window_resize also redone a bit.
13456
13457 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13458
13459         * gtk/testgtkrc: Add (commented out) Windows-style theme
13460         include line.
13461
13462         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13463
13464 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13465
13466         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13467         gdkx.h to a gdk subdirectory, so that applications can include
13468         these with <gdk/*.h> without trouble.
13469
13470         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13471         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13472         have their bitmap destroyed.
13473
13474         * gdk/win32/gdk.def: Add gdk_root_parent.
13475
13476 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13477
13478         * configure.in
13479           gtk-config.in
13480           ltconfig
13481           ltmain.sh     
13482           gtk/Makefile.am: changes to compile nicely (with xlib) 
13483           on BeOS
13484
13485 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13486
13487         * acinclude.m4
13488         * config.guess
13489         * config.sub
13490         * ltconfig
13491         * ltmain.sh: upgrade to libtool 1.3
13492
13493 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13494
13495         * gtk/gtkclist.c:
13496         * gtk/gtkctree.c: merges from gtk-1-2
13497
13498 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13499
13500         Support added for building using a GNU toolchain on Win32,
13501         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13502
13503         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13504         * config.h.win32: Changes for gcc.
13505         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13506         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13507         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13508         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13509         Protect shl stuff unavaiilable with mingw32 headers.
13510         * gdk/win32/gdkevents.c: Fix typo.
13511         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13512         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13513         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13514         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13515         the mingw32 headers.
13516         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13517         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13518         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13519         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13520         Test for NATIVE_WIN32, not _MSC_VER.
13521         * gtk/gtkmain.c: No use warning about developer version on Win32,
13522         there aren't any non-developer versions anyhow.
13523         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13524         * gtk/makefile.msc: Use pthread from another directory. Minor other
13525         changes. 
13526
13527 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13528
13529         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13530           default filter from the list
13531
13532 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13533
13534         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13535          when gtk_widget_grab_default() is called for a widget that
13536          is not within a GtkWindow.
13537
13538 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13539
13540         * docs/gtk_tut.sgml, examples/clist.c: use a
13541           scrolled window in the clist example. Minor
13542           tutorial fixes.
13543
13544 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13545
13546         * docs/gtk_tut.sgml: Style check from David King
13547           <dking@youvegotmail.net>
13548
13549 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13550
13551         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13552         compile with unknown value of GDK_WINDOWING
13553
13554 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13555
13556         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13557         after the rule is fired.
13558         (install-exec-local): Install gdkconfig.h only if the contents are
13559         different from the currently installed gdkconfig.h.
13560
13561 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13562
13563         * gdk/Makefile.am (configexecincludedir): Rename from 
13564         configincludedir so that gdkconfig.h will be installed 
13565         as part of `make install-exec'. 
13566
13567 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13568
13569         * acinclude.m4
13570         * config.guess
13571         * config.sub
13572         * ltconfig
13573         * ltmain.sh: upgrade to libtool 1.2f
13574
13575         * autogen.sh: libtool is not required to autogen gtk+
13576
13577         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13578         needed)
13579
13580 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13581
13582         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13583         declaring gdk variables exported/imported from the DLL. New image
13584         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13585         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13586         GDK_DRAG_PROTO_OLE2.
13587
13588         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13589         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13590         declared only for the Win32 version, but could be in the X11
13591         version as well. (Needed for a Xlib-less gdk_imlib.)
13592         gdk_color_hash should have only one parameter. Declare
13593         gdk_threads_mutex with GDKVAR.
13594         
13595         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13596         just one parameter.
13597
13598         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13599         per pixel, not bits.
13600
13601         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13602         Fetch bpp (which means bits-per-pixel here) from another place on
13603         Win32. Accept also depth==32 (which we might get on Win32) with
13604         bpp==32.
13605
13606         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13607         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13608         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13609         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13610         in the backend-dependent directory, not in the common gdk
13611         directory.
13612
13613         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13614         headers.
13615
13616 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13617
13618         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13619         want to use the Gtk+ devel version (which is true, and yes - even i am
13620         currently working with the 1.2.x branch). so everyone reading this, you
13621         probably want to issue
13622         cvs checkout -r glib-1-2 glib
13623         and
13624         cvs checkout -r gtk-1-2 gtk+
13625         as your next two comands.
13626
13627 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13628
13629         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13630         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13631
13632         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13633         file. strongly deprecated the GTK_HAVE_* macros, we provide
13634         GTK_CHECK_VERSION() for people that need to check for certain
13635         Gtk+ versions.
13636
13637         * gtk/gtkcompat.h: removed this from CVS.
13638         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13639         idea right from the start, it just didn't seem like that back then.
13640
13641 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13642
13643         * merges from gtk-1-2:
13644
13645 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13646
13647         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13648         item factory class has been created.
13649         (gtk_item_factory_parse_rc): likewise.
13650
13651         * gtk/gtkmenu.c:
13652         keep proper references for old_active_menu_item.
13653         (gtk_menu_reparent): unset the usize of the new parent,
13654         so the menu can sanely be size requested and we don't get nasty screen
13655         artefacts upon next reparentation.
13656         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13657         enter notify. only synthesize enter notifies if the pointer really is
13658         inside the event window.
13659         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13660         (gtk_menu_popup): move the background setting stuff into
13661         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13662
13663         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13664         gtk_menu_shell_select_item() to select the new item.
13665         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13666         do the right thing for deselection as well.
13667
13668 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13669
13670         * gtk/gtkwidget.[hc]:
13671         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13672         are locked.
13673
13674         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13675         existing accelerators if the widget's accelerators are locked.
13676
13677 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13678
13679         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13680
13681         * gtk/gtkmenu.c: truely forward key press and key release events to
13682         the menu widget from the toplevel or tearoff window. we can't simply
13683         connect to that, we need to stop further processing of the events as
13684         well.
13685
13686 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13687
13688         * gtk/gtkmenu.c:
13689         (gtk_menu_key_press): pass event->keyval, event->state to
13690         gtk_accelerator_valid, instead of event->keyval twice.
13691         refuse to install single letter accelerators for menus that use
13692         single letter shortcuts.
13693
13694         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13695         gtk_menu_ensure_uline_accel_group().
13696
13697         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13698         which will always return an uline accel group, made
13699         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13700         yet created.
13701
13702 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13703
13704         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13705
13706         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13707         Leave button sensitive, trap  button_press, button_release,
13708         motion_notify, enter_notify and leave_notify events instead.
13709         (gtk_clist_column_title_active): disconnect event handler.
13710         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13711         Guillaume Laurent <glaurent@worldnet.fr>
13712
13713 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13714
13715         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13716         width/height mixups.
13717
13718         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13719         if needed.
13720
13721 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13722
13723         * gtk/testgtk.c (create_item_factory): unref the item factory after
13724         window's destruction.
13725
13726         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13727         count on the menu shell around the menu item's activation, since the
13728         signal emission may cause menu shell destruction.
13729
13730         * gtk/gtkitemfactory.c:
13731         the previous code leaked one accel group per menu. we use
13732         gtk_menu_get_uline_accel_group() now to fix that, and with that
13733         also create the underline accelerator group of the menus only if
13734         required (i.e. an underline accelerator has been specified).
13735         (gtk_item_factory_construct):
13736         (gtk_item_factory_create_item): removed code that would create an
13737         extra accel group for the menu (and leak references).
13738         (gtk_item_factory_create_item): adapted the underline accelerator
13739         installation code to properly feature gtk_menu_get_uline_accel_group().
13740
13741         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13742         menu->accel_group, this may return NULL if the accelerator group
13743         hasn't been set yet.
13744         added gtk_menu_get_uline_accel_group() to retrive the underline
13745         accelerator group of the menu, this will be created on demand
13746         and proper care is taken about its reference count.
13747
13748         * gtk/gtkitemfactory.h:
13749         * gtk/gtkitemfactory.c:
13750         dumped the approach of keeping a widgets by action list on the
13751         factory since the factory<->widget destroy negotiation didn't work
13752         and would be hard to get going at all. instead we keep a list of
13753         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13754         persistant throughout a program's life time).
13755         also, i removed the static const gchar *key_* variables, and made
13756         them inline strings (they weren't actually used anyways).
13757         (gtk_item_factory_add_item): update ifactory->items.
13758         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13759         the item factory pointer from the remaining ifactory widgets).
13760         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13761         list to find the widget.
13762         (gtk_item_factory_get_item): new function that works around
13763         gtk_item_factory_get_widget() limitations, this function will only
13764         return menu items, even for <Branch> entries.
13765
13766 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13767
13768         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13769         font hash table, if we have a GdkFontPrivate entry for this font
13770         already, simply increment its reference count, provided by Olaf Dietsche
13771         <olaf.dietsche+list.gtk@netcologne.de>.
13772
13773         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13774         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13775
13776 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13777
13778         * gtk/gtkcontainer.c:
13779         (gtk_container_add_with_args):
13780         (gtk_container_addv):
13781         (gtk_container_add): before adding a child to a conatiner, make sure
13782         it is (default) constructed, this is neccessary because under certain
13783         circumstances the child will get relized and mapped immediatedly, in
13784         which case it has to be constructed already.
13785
13786 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13787
13788         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13789         values > 1 as TRUE also.
13790
13791 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13792
13793         * README.win32: New file.
13794                 
13795         * configure.in: Check for lstat.
13796
13797         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13798         completeness.
13799
13800         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13801
13802         * gtk/gtk.def: Removed CRs.
13803
13804         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13805         ..\gdk\win32).
13806
13807         * gdk/win32/makefile.msc: Correct upwards relative paths.
13808         
13809 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13810
13811         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13812           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13813           it was connecting a void function to expose_event and the int
13814           returning function to the draw signal
13815
13816 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13817
13818         * configure.in:
13819         Use correct path to libgmodule.la when ref'ing uninstalled copy
13820         of glib.  (Already in stable branch, Bug #417)
13821
13822 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13823
13824         Win32 merge and general portability stuff:
13825                 
13826         * acconfig.h,configure.in: Check for <sys/time.h>.
13827
13828         * gdk/win32: New directory (actually, been there for a while).
13829         
13830         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13831         NATIVE_WIN32, and use these. Always case fold on Win32. No
13832         backslashed escapes on native Win32.
13833
13834         * gtk/{gtk.def,makefile.msc}: New files.
13835
13836         * gtk/Makefile.am: Add above new files.
13837         
13838         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13839         instead of <strings.h>.
13840
13841         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13842         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13843         <unistd.h> appropriately.
13844
13845         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13846         Use ABS() (from <glib.h>) instead of abs().
13847         
13848         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13849         of gtk (and thus glib) headers, so that WIN32 will be
13850         defined. With MS C, include <direct.h> for mkdir prototype.
13851
13852         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13853         some casts, needed by MS C.
13854
13855         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13856         implemented).
13857
13858         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13859         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13860         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13861
13862         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13863                 
13864         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13865         the event is not a hint, or its window is not the slider. Needed
13866         on Win32, at least.
13867
13868         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13869         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13870         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13871         a subdirectory of the Windows directory as gtk system
13872         configuration directory.
13873
13874         * gtk/gtkselection.c: No chunks on Win32.
13875
13876         * gtk/gtksocket.c: Not implemented on Win32.
13877
13878         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13879
13880         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13881
13882         * gtk/maketypes.awk: Declare variables with a macro that expands to
13883         necessary export/import magic in the case of Win32.
13884                 
13885         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13886
13887 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13888
13889         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13890         since those were meant only for gdki18n.h.  
13891         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13892         for widechar tests.
13893         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13894
13895 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13896
13897         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13898         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13899
13900         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13901         installed) to CFLAGS.
13902
13903         * gdk/Makefile.am: Add rules for gdkconfig.h.
13904
13905         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13906         APIs.
13907
13908         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13909         gdkx.h anyway when compiling for X11.
13910         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13911         general): Merge in Win32 version.
13912         
13913         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13914         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13915         expansion (if we don't have HAVE_PWD_H), allow for drive
13916         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13917         included code from Craig Setera's port to Win32 (the one that uses
13918         X11, and the cygwin dll), even if it probably will be abandoned.
13919
13920         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13921         the user entered one herself.  This way one can complete *.h and
13922         don't get matches on any .help files, for instance.
13923         
13924 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13925
13926         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13927         font hash table, if we have a GdkFontPrivate entry for this font
13928         already, simply increment its reference count, provided by Olaf Dietsche
13929         <olaf.dietsche+list.gtk@netcologne.de>.
13930
13931         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13932         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13933
13934 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13935
13936         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13937         the number of calls to gdk_draw_point() (and thus to X) by
13938         clipping the points by hand.
13939
13940         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13941         the clip parameter.
13942         (gtk_handle_box_paint): Only paint the handle if the expose area
13943         intersects it.
13944
13945 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13946
13947         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13948
13949 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13950
13951         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13952         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13953
13954 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13955
13956         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13957          textmode (O_TEXT) for OS/2 version.
13958
13959 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13960
13961         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13962         GtkSpinButton, "input" and "output", to make the output more flexible.
13963         The user has to provide a mapping between adjustment->value and the
13964         output string (and vice versa, if the spin button is editable). 
13965         See testgtk for examples.
13966
13967 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13968
13969         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13970         new one.
13971         
13972         * configure.in: set gtk+ version to 1.3.0.