]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Add animation of activation by, on activate, pressing the button, and
[~andy/gtk] / ChangeLog.pre-2-4
1 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
2
3         * gtk/gtkbutton.c: Add animation of activation by, on 
4         activate, pressing the button, and adding a timeout that 
5         releases the button after 250ms or on key release and
6         emits ::clicked. (#51501)
7
8         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
9         action area, we connect to ::clicked instead of ::activate
10         so the dialog stays up through the animation.
11
12 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
13
14         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
15         check the ignore_enter flag for the menu shell that
16         the item is actually a child of, not for attached
17         submenus. (#51536)
18
19 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
20
21         * gtk/gtkmain.c (gtk_propagate_event): Only do special
22         special key-press grab handling for widgets within
23         GtkWindows. Otherwise, fall through to normal case.
24
25         This prevents key events being sent twice to GtkInvisible
26         widgets, which can cause all sorts of mischief.
27
28 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
29
30         * gtk/gtkmain.c (gtk_propagate_event): When a grab
31         widget is in effect, give the grab widget a first
32         crack at KEY_PRESS/RELEASE events. (#424)
33
34 2001-03-06  James Henstridge  <james@daa.com.au>
35
36         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
37         offset for the window_state_event to point at window_state_event
38         rather than no_expose_event.
39
40 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
41
42         * gtk/gtkimmodule.h: fix busted /* comment */
43
44 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
45
46         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
47         object properties.
48
49 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
50
51         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
52         add object properties.
53
54         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
55         to add object properties.
56
57         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
58         object properties.
59
60         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
61         add object properties.
62
63         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
64         object properties.
65
66 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
67
68         * gtk/gtktreemodel.c: renamed "child_toggled" to
69         "has_child_toggled".
70
71         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
72         handle new signal name.
73
74         * gtk/gtktreestore.c: Updated to handle new signal name.
75         * gtk/gtklisttore.c: Updated to handle new signal name.
76         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
77
78 2001-03-05  Alexander Larsson  <alexl@redhat.com>
79
80         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
81         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
82
83 2001-03-05  Michael Natterer  <mitch@gimp.org>
84
85         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
86         pixbuf-engine coincidentially also failed to make one of it's
87         parent_class pointers static, causing overwriting of GtkLabel's
88         parent_class pointer in pixbuf_style_class_init().
89         (Will commit the fix to the pixbuf-engine too).
90
91 >>>>>>> 1.1779
92 2001-03-05  Alexander Larsson  <alexl@redhat.com>
93
94         * gdk/gdkwindow.h:
95         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
96         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
97         gdk_window_set_icon_list for net wmspec functionality.
98
99         * gdk/x11/gdkwindow-x11.c:
100         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
101         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
102         gdk_window_set_icon_list.
103         Added gdk_wmspec_change_state helper function and used it in the code.
104         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
105
106         * gtk/gtkdialog.c (gtk_dialog_init):
107         Set GDK_WINDOW_TYPE_HINT_DIALOG.
108
109         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
110         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
111
112         * gtk/gtkwindow.c:
113         new function gtk_window_set_type_hint.
114         On realize, set type hint and modal hint.
115
116         * gtk/gtkwindow.h:
117         Added type_hint field and gtk_window_set_type_hint.
118
119 2001-03-05  Alexander Larsson  <alexl@redhat.com>
120
121         * gtk/gtklabel.[ch]:
122         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
123         New function gtk_label_get_accel_keyval () to get the underline accelerator
124         of the label. Setting the label pattern overrides other attributes.
125
126 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
127
128         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
129         Added missing initializers to gtk_rc_style_init().
130
131 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
132
133         * gtk/gtktextview.c: fixed bug #51097 about setting 
134         gtk_text_view_set_border_window_size() if the widget is 
135         already realized.
136
137 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
138
139         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
140
141         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
142         comment. Won't do to have duplicated doc comments between
143         the platform subdirs.
144
145 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
146
147         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
148           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
149
150         Detectable auto-repeat - make a repeating key generate
151         press/press/press/release instead of press/release pairs.
152
153         If we have Xkb and XkbSetDectableAutoRepeat supports
154         that, we do it that way. Otherwise, when we get
155         a release event, we check ahead with XPending to see
156         if the next key is a KeyPress with the same keycode
157         and timestamp. (Not 100% reliable, but pretty close.)
158           
159 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
160         
161         * gtk/gtkmain.c (gtk_propagate_event): Only do special
162         special key-press grab handling for widgets within
163         GtkWindows. Otherwise, fall through to normal case.
164  
165         This prevents key events being sent twice to GtkInvisible
166         widgets, which can cause all sorts of mischief.
167  
168 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
169  
170         * gtk/gtkmain.c (gtk_propagate_event): When a grab
171         widget is in effect, give the grab widget a first
172         crack at KEY_PRESS/RELEASE events. (#424)
173  
174 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
175
176         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
177         to extend the selection. (Roughly based on patch
178         from Jay Cox, #50939)
179
180         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
181         to properly handle previous GDK_BUTTON_PRESS. 
182         (Patch from Jay Cox, #50938)
183
184         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
185         '\0' back along with the deleted text. (#51148)
186
187 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
188
189         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
190         the group when extracting it from the X keyboard event.
191
192         * modules/input/Makefile.am modules/input/imipa.c: 
193         Simple module for entering IPA. (Do we need a 
194         gtk-stupid-input-tricks CVS module?)
195
196 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
197
198         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
199         const.
200
201         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
202
203         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
204         is no focus widget for the dialog currently, grab the focus as well
205         as the default.
206
207         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
208         the action area's children to iterate through, not the
209         dialog's children.
210
211 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
212
213         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
214         Add plug-socket tests. (Won't work worth a darn until I commit
215         the rest of the plug-socket changes, but no reason these
216         can't go into CVS now.)
217
218 2001-03-02  Havoc Pennington  <hp@redhat.com>
219
220         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
221         _gdk_region_get_xrectangles()
222
223         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
224
225         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
226
227         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
228         function, contributed by Ron Steinke    
229
230         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
231         gdk_net_wm_supports
232
233         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
234         New function, contributed by Ron Steinke
235
236         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
237         used to line up the text in the entry when using the entry for
238         editable sheet cell hacks
239
240         * gtk/testgtk.c (create_entry): test the activate_default setting
241         on GtkEntry
242
243         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
244         cause the entry to activate the default button for a dialog when 
245         activated
246         (gtk_entry_get_activates_default): new function
247
248 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
249
250         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
251         Hwang to move call to sync_selection() up a few lines
252         to before the row list is modified, to fix crash when
253         removing rows in the undo_selection list.
254
255         (Test case provided by Daniel Elstner:
256
257         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
258
259 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
260
261         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
262         of tree->root_tree in parent_set rather than _map(), 
263         fixing #50892 in a bit better manner.
264
265 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
266
267         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
268
269 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
270
271         * gtk/gtkstyle.c : Remove duplicate fwd decl for
272         gtk_default_draw_shadow.
273
274 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
275
276         * gdk/gdkimage.c (gdk_image_new): Remove excess 
277         warning, make warnings more verbose, treat a error
278         in shmat as permanent, and don't try again.
279         (#51163, Ed Randall.)
280
281 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
282
283         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
284         delay for the first click before starting to scroll.
285         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
286
287         * gtk/gtktext.c: GtkText should have I-beam cursor. 
288         (based on gtk-enf-990513-1.patch, Eric Fisher.)
289
290 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
291
292         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
293         cleanup to remove some references to unused
294         ->xoffset, ->yoffset.
295
296 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
297
298         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
299         mask. (#51039, fix from Martin Maierhofer)
300
301 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
302
303         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
304         for unshifted + and shifted = for non-us keyboards.
305         Make <Control>+ and <Control>- work as well as 
306         <Control>KP_Plus, <Control>KP_Minus for recursive
307         open/close.  (#2682, René Seindal)
308
309 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
310
311         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
312         the active menu item before deactivating the menu,
313         so gtk_menu_popdown doesn't change the history. (#50964)
314         
315 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
316
317         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
318         draw lines with text_gc rather than black_gc.
319         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
320
321 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
322
323         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
324         Move handling of buttons fully in gtktreeviewcolumn.  This code is
325         less interrelated then it was, but it still requires the
326         GtkTreeView to map it.
327
328         * test/testtreecolumn.c: Now I can add a column to one view,
329         remove it, add it to the another view, remove it, then re-add it
330         to the first.  Nifty.
331
332 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
333
334         * docs/tutorial/gtk-tut.sgml: Minor corrections
335
336 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
337
338         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
339         GtkRowReference.
340
341 2001-02-28  Havoc Pennington  <hp@redhat.com>
342
343         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
344         draw_default
345         (gtk_widget_draw_focus): remove this function; we could instead
346         make it just gtk_widget_draw(), but in most cases I think the
347         result would be broken user code, so think it's better to have
348         that code not compile and get fixed
349         (gtk_widget_draw_default): ditto
350
351         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
352         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
353         
354         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
355         widgets lose/get the default, instead of calling draw_default
356         
357         * docs/Changes-2.0.txt: note about all this
358
359         Then fixed every widget in GTK, I won't list all the filenames.
360
361 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
362
363         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
364         _gtk_tree_row_reference_deleted.
365         (inserted_callback): Proxy out to
366         _gtk_tree_row_reference_inserted.
367         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
368         get around signal emission ordering problem.
369
370         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
371         fix to work with SINGLE 
372         (_gtk_tree_selection_internal_select_node): Major sanitization on
373         selections.  SINGLE now seems to work.
374
375         * tests/Makefile.am: add testtreecolumn.c:
376
377         * tests/testtreecolumn.c: New test.  Mostly points out selection
378         bugs currently, but will test columns later.
379
380         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
381         selection bug.  I hate touching this code -- it's scary.
382
383 2001-02-26  Havoc Pennington  <hp@redhat.com>
384
385         * gtk/testgtk.c: test the window state stuff
386
387         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
388         window come to the user's attention as if it were just created
389         (gtk_window_iconify): new function
390         (gtk_window_deiconify): new function
391         (gtk_window_stick): new function
392         (gtk_window_unstick): new function
393         (gtk_window_maximize): new function
394         (gtk_window_unmaximize): new function
395
396         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
397
398         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
399
400         * gdk/x11/gdkevents-x11.c: create window state events when
401         appropriate
402         (gdk_wmspec_supported): new function
403
404         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
405         iconification before showing the window
406         (gdk_window_deiconify): new function
407         (gdk_window_stick): new function
408         (gdk_window_unstick): new function
409         (gdk_window_maximize): new function
410         (gdk_window_unmaximize): new function
411
412         * gdk/gdkwindow.c: store the window state in the window; 
413         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
414         window->mapped.
415         (gdk_window_get_state): return the current window state
416
417         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
418         (gdk_event_get_state): handle GDK_WINDOW_STATE
419         (gdk_synthesize_window_state): function to create the window state
420         events
421
422         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
423         event, for changes to "window state" such as maximized, sticky, 
424         etc.
425         
426         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
427         focuses a window
428
429         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
430         finds out if we support a given WM spec hint
431
432 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
433
434         * docs/faq/gtk-faq.sgml: New question re memory leaks.
435
436 2001-02-25  Hans Breuer  <hans@breuer.org>
437
438         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
439         cause we want to loose those prototypes only in the latter case
440
441         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
442         GdkPixmapImplWin32 because it itsn't derived from it. Use the
443         impl member variable instead
444
445         * gtk/gtk.def : updated
446
447         * gtk/gtklist.c : 
448         * gtk/gtkmenus.c : include <string.h> for memset ()
449
450         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
451         for everthing built here, but for gtk-x.x.dll only. This solves
452         problem of indifferent gtk type definitions
453
454 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
455
456         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
457
458 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
459
460         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
461         column that is exposed.
462
463         (_gtk_tree_view_update_size): Changed name from set_size, and
464         changed function to do more work, and not force people calling it
465         to figure out the size.  Simplifies a lot of code elsewhere.
466
467 2001-02-23  Alexander Larsson  <alexl@redhat.com>
468
469         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
470         return solid masks for xpms that have no transparent color.
471         This makes the ..._create_from_xpm... API backwards
472         compatible.
473
474 2001-02-23  Tor Lillqvist  <tml@iki.fi>
475
476         * README.win32: Update. Mention the gtk-1-3-win32-production
477         branch.
478
479         * gdk/win32/bdfcursor.c: New file. A program that generates
480         xcursors.h. Thanks to Stefan Ondrejicka.
481
482         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
483         compact format.
484
485         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
486
487         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
488         function, uses xcursors.h.
489         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
490         cursor from inline data instead of using LoadCursor() to generate
491         it from a resource.
492
493         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
494         event, must check the Windows message for mouse button state, as
495         the GDK event state might not have been built if it is
496         undelivered. Remove one goto.
497
498         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
499         SetCursor() if the current cursor as returned by GetCursor() is
500         the window's previous cursor. The ChildWindowFromPoint() test
501         apparently didn't work correctly.
502
503         * gdk/win32/rc/*.cur: Remove.
504
505         * gdk/win32/rc/gdk.rc.in: Remove cursors.
506
507         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
508
509         * gtk/makefile.{mingw,msc}.in: Updates.
510
511 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
512
513         * gtk/gtktreemodel.h: add functions for signal emission.
514
515         * gtk/gtktreestore.c: move to use above functions instead of
516         g_signal_emit.
517
518         * gtk/gtkliststore.c: ditto
519
520 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
521
522         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
523         GObject instead of GtkObject.
524
525         * gtk/gtkliststore.c: ditto.
526
527         * gtk/gtktreemodelsort.c: ditto.
528
529         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
530         GtkTreeModelIface, instead of in each model.
531
532 2001-02-21  Havoc Pennington  <hp@redhat.com>
533
534         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
535         unbreak this function
536
537         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
538         properties
539
540         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
541         properties
542
543         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
544         properties
545
546         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
547         mean unset the max length
548
549 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
550
551         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
552         Changed name to be set_cell_data_func to make it clear what
553         the functino does.  Close bug #51069.
554
555 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
556
557         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
558         have memory actually freed.  Keeps box running longer.
559
560 2001-02-21  Alexander Larsson  <alexl@redhat.com>
561         
562         * gtk/gtkseparatormenuitem.[ch]:
563         Added new menu separator item. The drawing and size handling
564         is still done in GtkMenuItem, but the API is a bit more sane.
565         
566         * gtk/Makefile.am:
567         Add gtkseparatormenuitem.[ch].
568
569         * gtk/gtk.h:
570         Add gtkseparatormenuitem.h.
571         
572         * gtk/gtkentry.c:
573         * gtk/gtkmenufactory.c:
574         * gtk/gtktextview.c:
575         Use the new API for menu separators.
576         
577         * demos/gtk-demo/menus.c (create_menu):
578         Add some GtkSeparatorMenuItem demo code.
579
580 2001-02-20  Havoc Pennington  <hp@redhat.com>
581
582         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
583         Lee Mallabone
584
585         * gtk/gtkarrow.c: Convert to new property API, patch from 
586         Lee Mallabone
587
588 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
589
590         * tests/testtreeview.c (toggled_callback): fix to reflect change
591         in GtkTreeModelStore.
592
593 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
594
595         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
596         function to create an icon set from a pixbuf.
597
598 2001-02-20  Alexander Larsson  <alexl@redhat.com>
599
600         * gtk/gtkcellrenderertext.[ch]:
601         Add a "markup" property.
602
603         * gtk/treestoretest.c:
604         Use the markup property, remove some leftover stuff from
605         GtkTreeModelMapping.
606
607 2001-02-20  Alexander Larsson  <alexl@redhat.com>
608
609         * gtk/gtklabel.c (gtk_label_set_selectable):
610         Queue a redraw if the selectable setting was changed.
611
612 2001-02-20  Alexander Larsson  <alexl@redhat.com>
613
614         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
615         Actually copy the whole gc, not just the public parts.
616         
617         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
618         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
619         labels.
620
621 2001-02-19  Havoc Pennington  <hp@pobox.com>
622
623         * gdk/gdkwindow.c: docs
624
625         * gdk/gdkrgb.c: docs
626
627         * gdk/gdkregion-generic.c: docs
628
629         * gdk/gdkgc.c (gdk_gc_set_values): docs
630
631         * gdk/gdkdraw.c: docs
632
633         * gdk/gdkdrawable.h: deprecate drawable get/set data
634
635 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
636
637         * demos/gtk-demo/dialog.c: Add simple new demo.
638
639 2001-02-19  Havoc Pennington  <hp@redhat.com>
640
641         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
642         insert_child_anchor signal, bug #50245
643
644         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
645         from create_child_anchor, so the anchor is passed in
646
647         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
648         (_gtk_widget_segment_new): have the child anchor object passed in, 
649         instead of creating it.
650
651         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
652         to gtk_text_buffer_get_modified
653
654 2001-02-19  Havoc Pennington  <hp@redhat.com>
655
656         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
657         changed GLib without fixing GTK
658
659         * gtk/gtkrange.h: Rename all the stupid implementation detail 
660         functions to have an underscore in front. Most of them should 
661         probably just go away, but for starters don't export them.
662         Bug #50482
663
664 2001-02-19  Havoc Pennington  <hp@redhat.com>
665
666         * gdk/gdkcolor.h: test was backward, so deprecated functions were
667         excluded by default
668
669         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
670         clean up the old code a bit
671
672         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
673         inconsistent state
674
675         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
676         draw inconsistent state
677
678         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
679         (create_menu): add inconsistent test
680
681         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
682         new function
683         (gtk_check_menu_item_get_inconsistent): new function
684         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
685         state (using etched in for now)
686
687         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
688         draw inconsistent state
689
690         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
691         function, used when the user has selected a range of stuff in
692         different states
693         (gtk_toggle_button_get_inconsistent): accessor for that
694         (gtk_toggle_button_paint): draw inconsistent state (etched in?
695         don't know what else to do)
696
697 2001-02-19  Hans Breuer <hans@breuer.org>
698
699         * gtk/gtk.def : updated exported symbols
700
701         * gtk/makefile.msc.in : updated
702
703         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
704         a colormap, when invoked from testgtk::entry. I'm not sure where
705         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
706         avoids immediate crashing ...
707
708         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
709         any objections ?
710
711         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
712         0 parameter. At least msvc doesn't like macros with var args. 
713         I simply removed the extra 0, was it a feature or a typo ?
714
715         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
716         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
717         because the value assignment to the internal struct wasn't working.
718         I'm not absolutely sure. The problem could have been resolved by
719         changing the "func" declartion in the struct, but was the pointer
720         to the function pointer intended ?
721
722         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
723
724         * gdk/gdk.def : updated exported symbols
725
726         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
727         only use SetDIBitsToDevice if there is a palette at the drawable
728         and the image is GDK_VISUAL_PSEUDO_COLOR
729
730         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
731
732         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
733
734         * gdk/*/makefile.msc : updated
735
736 2001-02-19  Havoc Pennington  <hp@redhat.com>
737
738         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
739         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
740
741         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
742         (gdk_key_repeat_restore): nuke
743
744         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
745         (gdk_init_check): no atexit func
746
747         * gdk/gdkrgb.h: mark some stuff deprecated
748
749         * gdk/gdkcolor.h: mark some stuff deprecated
750         
751         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
752
753         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
754
755 2001-02-16  Havoc Pennington  <hp@redhat.com>
756
757         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
758         scroll steps.
759
760         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
761         steps, and add Ctrl-arrow shortcuts for paging visually as with
762         HScale, since Page Up and Page Down move logically.
763
764         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
765         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
766         
767         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
768         steps
769         (gtk_range_scroll): handle the visual steps
770
771         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
772         scroll steps
773
774         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
775         steps, not the logical ones.
776
777         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
778         (scroll_vertical): handle up/down steps
779
780 2001-02-19 Alexander Larsson  <alexl@redhat.com>
781
782         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
783         Copy data and free data with free().
784
785         * gdk-pixbuf/gdk-pixbuf.c:
786         * gdk-pixbuf/io-jpeg.c:
787         * gdk-pixbuf/io-png.c:
788         Use g_try_malloc/g_free instead malloc/free.
789         
790         * gdk-pixbuf/test-gdk-pixbuf.c:
791         Must... initialize... gobject...
792         
793         * gdk-pixbuf/pixops/timescale.c:
794         * gtk/gtkcalendar.c:
795         Use g_malloc instead of malloc.
796         
797 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
798
799         * gtk/testgtkrc:
800         Comment out property assignments, these don't work yet.
801
802 2001-02-17  Havoc Pennington  <hp@pobox.com>
803
804         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
805         bit.
806
807 2001-02-17  Havoc Pennington  <hp@pobox.com>
808
809         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
810         shadowed variables that had broken size request in some cases,
811         leading to bogus tooltips (#50996)
812
813 2001-02-06  Jon K Hellan  <hellan@acm.org>
814
815         Implement fast browsing of tooltips, bug #50619
816         
817         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
818         and last_popdown
819         
820         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
821         use_sticky_delay and last_popdown.
822         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
823         time of popdown.
824         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
825         is NULL.
826         (gtk_tooltips_recently_shown): New static function.  Return true
827         if < sticky_delay has elapsed since last popdown.
828         (gtk_tooltips_event_handler): Display window after sticky_delay
829         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
830         since last popdown.
831         
832 2001-02-17  Havoc Pennington  <hp@pobox.com>
833
834         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
835         instead of (). #6394
836
837         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
838         G_CONST_RETURN, make it return by reference, #50473
839         
840 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
841
842         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
843         generated ENTER_NOTIFY event with 0, otherwise not explicitely
844         setup fields contain garbage (e.g. subwindow, breaking
845         gdk_drawable_ref() upon event copy).
846         (gtk_menu_stop_navigating_submenu_cb): same here.
847
848         * gtk/gtklist.c (gtk_list_vertical_timeout): 
849         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
850         * gtk/gtkclist.c (vertical_timeout): 
851         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
852         default-zero-intialization for unions to memset(,0,), as unions are
853         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
854         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
855
856         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
857         g_closure_sink() warning.
858
859         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
860         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
861         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
862         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
863         
864 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
865
866         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
867         gtk_*_store_get, and moved to GtkTreeModel.
868
869         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
870
871         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
872
873         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
874
875         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
876         set the func.
877
878         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
879         freeze/thaw notify between setting all the properties for a cell.
880
881         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
882
883 2001-02-15  Havoc Pennington  <hp@redhat.com>
884
885         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
886         the X coordinates so they're with respect to the line, rather than 
887         with respect to the layout.
888
889         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
890         Mallabone
891
892         * gtk/testgtk.c (create_range_controls): add vscale tests, 
893         and inverted test
894
895         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
896         #50806
897
898         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
899
900         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
901         gtk_text_iter_is_end
902
903         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
904         rename gtk_text_buffer_get_end_iter
905
906         * gtk/testgtk.c (create_labels): Add test for selectable
907
908         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
909         the selection stuff. This code is kind of broken since it doesn't 
910         use the theme engine.
911
912         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
913         fix infinite loop and y offset problem
914         (gdk_draw_layout_line_with_colors): fix foreground color handling
915
916         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
917         that makes the label selectable.
918         
919         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
920         layout when the style is set, since fonts etc. could have changed.      
921
922 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
923
924         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
925
926         * gtk/gtktreemodelsimple.[ch]: removed.
927
928 2001-02-16  Alexander Larsson  <alexl@redhat.com>
929
930         * gtk/gtktreemodelmapping.[ch]:
931         New files. Implement GtkTreeModelMapping.
932         
933         * gtk/Makefile.am:
934         Add gtktreemodelmapping.[ch].
935         
936         * gtk/gtk.h:
937         Add gtktreemodelmapping.h
938
939         * gtk/treestoretest.c:
940         Test the GtkTreeModelMapping
941
942 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
943
944         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
945         have a demo, we might as well pass in real values.  Thanks to
946         clahey for pointing this out.
947
948 2001-02-14  Havoc Pennington  <hp@pobox.com>
949
950         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
951         "static" to a private function
952         (gtk_image_menu_item_class_init): remove destroy handler,
953         add "image" object property
954
955 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
956
957         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
958         Add a shortcut if the window and the current clip_region doesn't
959         overlap. This is needed when there are a lot of windows in a
960         window. The layout test in testgtk is a good test.
961
962         * gdk/linux-fb/gdkwindow-fb.c:
963         Whitespace fix.
964
965 2001-02-13  Sven Neumann  <sven@convergence.de>
966
967         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
968
969 2001-02-13  Alexander Larsson  <alexl@redhat.com>
970
971         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
972         Don't reference last_cursor if it is null. Fixes crash when rotating
973         the screen before having moved the mouse.
974
975         * gdk/linux-fb/gdkcc-fb.c: Zapp!
976
977         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
978
979         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
980         when using 90 or 270 degrees rotation.
981
982 2001-02-12  Havoc Pennington  <hp@pobox.com>
983
984         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
985         it always set the foreground, even if we were only using
986         a stipple.
987         (gdk_draw_layout_line_with_colors): new function, allow
988         override colors
989         (gdk_draw_layout_with_colors): new function, allow override
990         colors
991         (gdk_pango_layout_line_get_clip_region): function to get the clip
992         region for a logical text range
993         (gdk_pango_layout_get_clip_region): get the clip region for a
994         logical text range
995
996         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
997         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
998         the right number of arguments.
999
1000         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1001         enhance the function to check that node data corresponds to a 
1002         view still belonging to the tree.
1003
1004         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1005         GtkTreePath
1006         (gtk_tree_view_inserted): ditto
1007         (gtk_tree_view_child_toggled): ditto
1008
1009         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1010         simplify this code.
1011
1012         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1013         a PangoAttrList
1014
1015         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1016
1017         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1018
1019         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1020         size in the size request 
1021         (gtk_menu_bar_size_allocate): consider toggle size here
1022
1023         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1024         that displays a widget in the toggle slot
1025
1026         * gtk/testgtk.c: test GtkImageMenuItem
1027
1028         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1029         
1030         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1031         request and allocation
1032
1033         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1034
1035         * gtk/gtkcheckmenuitem.c
1036         (gtk_check_menu_item_toggle_size_request): ditto
1037         
1038 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1039
1040         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1041         reference.
1042
1043         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1044         and refuse to initialize GTK+ if they fail.
1045
1046 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1047
1048         * configure.in: Add check for gtk-doc version.
1049
1050 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1051
1052         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1053         where the xpad/ypad was only being used on one side!
1054
1055 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1056
1057         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1058         function, copied from X11 version.
1059
1060         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1061         DestroyCursor failures. The reason for the problem (despite the
1062         inconsistent messages from GetLastError()) was that
1063         DestroyCursor() cannot be called while a cursor is set in a
1064         window. Set the new cursor first and then destroy the old one.
1065         Thanks to jpe@archaeopteryx.com.
1066
1067         * gdk/win32/gdkcc-win32.c: Remove.
1068
1069         * gdk/win32/Makefile.am: Remove from here, too.
1070         
1071         * gdk/gdk.def
1072         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1073
1074         * gtk/gtk.def
1075         * gtk/makefile.mingw.in: Updates.
1076
1077 2001-02-08  Havoc Pennington  <hp@redhat.com>
1078
1079         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1080         add a widget to a bin that already has a child.
1081
1082         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1083
1084         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1085         
1086         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1087
1088         * gdk/gdk.h: remove gdkcc.h
1089
1090         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1091
1092         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1093         GdkPixbuf, since the previous implementation was GdkColorContext
1094         dependent.
1095
1096         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1097         
1098 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1099
1100         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1101         a sane value!
1102
1103 2001-02-08  Havoc Pennington  <hp@redhat.com>
1104
1105         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1106         lighten them.
1107
1108 2001-02-08  Havoc Pennington  <hp@redhat.com>
1109
1110         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1111         validation idle
1112
1113         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1114         cell renderer
1115
1116         * demos/pixbuf-demo.c (timeout): remove deprecated
1117         gtk_widget_draw
1118
1119         * demos/testpixbuf-save.c (main): remove deprecated
1120         gtk_drawing_area_size
1121
1122         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1123         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1124         at the start of the allocation.
1125         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1126         unsetup or NULL model.
1127
1128         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1129         even/odd/sorted cells in the tree view.
1130
1131         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1132         bugfixes
1133
1134         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1135         backgrounds with draw_flat_box using different detail for even/odd
1136         rows.
1137
1138         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1139         row, so we can draw the alternating colors thing
1140
1141         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1142         property from a synonym property, notify for the synonym.
1143         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1144         (gtk_text_tag_get_property): Always return the font, even if
1145         all its fields aren't set
1146
1147         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1148         store the attr list; it leaves us with no way to change attributes
1149         in _render according to the render flags, and no way to implement
1150         get_property. Instead store all the specific text attributes. 
1151         Separate whether an attribute is enabled from its value. Sync all
1152         properties with GtkTextTag, make them all consistent, etc.
1153
1154         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1155         renderers can highlight the sort row/column     
1156
1157         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1158         accessor functions to get values; this has the side effect of
1159         showing up which accessor functions were missing. Added those.
1160
1161         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1162         set_alignment, to be consistent with GtkLabel, GtkMisc
1163
1164         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1165         arrow.
1166
1167         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1168
1169         * gtk/gtktreesortable.h: updates in here
1170
1171 2001-02-07  Sven Neumann  <sven@convergence.de>
1172
1173         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1174         pango dimensions after painting the background. We used to draw
1175         gigantic flat boxes here.
1176
1177 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1178
1179         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1180         error introduced with earlier commit) (pointed out by
1181         Ollie Lho)
1182
1183 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1184
1185         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1186         which are no longer necessary.
1187
1188 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1189
1190         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1191
1192 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1193
1194         * gdk/gdk.def
1195         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1196         Provide dummy implementations.
1197
1198 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1199
1200         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1201
1202         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1203         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1204         deprecated this function.
1205
1206         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1207         argument.
1208
1209 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1210
1211         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1212
1213 2001-02-03  Havoc Pennington  <hp@pobox.com>
1214
1215         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1216         Mikael Hermansson with patch from Mikael (if there was a toggle
1217         start one after the first character in the range, this function
1218         was broken). Bug #50380
1219
1220 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1221
1222         * configure.in: Remove confusing comment about X11.
1223
1224 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1225
1226         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1227         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1228         
1229 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1230
1231         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1232         it breaks things on BSD. If you want to compile GTK+ with
1233         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1234         when configuring, since GTK+ simply can't be "pure ANSI" 
1235         in the header files it uses. (#8170, Greg Hudson)
1236
1237 2001-02-02  Havoc Pennington  <hp@redhat.com>
1238
1239         * gtk/gtkwindow.c: docs
1240
1241         * gtk/gtkwidget.c: docs
1242         (gtk_widget_set_colormap): add a reference to the colormap
1243         (gtk_widget_get_default_colormap): add a reference to the colormap
1244
1245         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1246
1247         * gtk/gtktextiter.c: docs
1248
1249         * gtk/gtkmain.c (gtk_propagate_event): docs
1250
1251         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1252         (gtk_paned_set_position): docs
1253
1254         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1255         sort interface, no implementation yet.
1256
1257         * demos/testpixbuf.c (new_testrgb_window): replace
1258         gtk_drawing_area_size() with gtk_widget_set_usize()
1259
1260         * demos/testpixbuf-drawable.c (main): ditto
1261         
1262         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1263
1264         * gtk/gtktextbuffer.c: docs
1265
1266         * gtk/gtkstock.c: docs
1267
1268         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1269
1270         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1271
1272         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1273         
1274         * gtk/gtkimage.c: add some docs in here
1275         (gtk_image_size_request): change name of
1276         gtk_widget_render_stock_icon
1277         (gtk_image_get_icon_set): don't dup returned string
1278         (gtk_image_get_icon_set): don't dup returned string
1279
1280         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1281         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1282         and gtkiconfactory.h functions
1283
1284         * gtk/gtkiconfactory.c: add some docs in here
1285
1286         * gtk/gtkmain.c (gtk_get_default_language): document
1287         (gtk_get_current_event): document
1288         (gtk_get_current_event_state): document
1289         (gtk_get_event_widget): document
1290
1291         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1292
1293         * gtk/gtkcontainer.c: Add some documentation
1294         (gtk_container_add): give a more explanatory warning on adding an
1295         already-parented widget, this is kind of a FAQ and also a common
1296         typo that's easier to debug with a nice warning 
1297
1298         * gtk/gtkcellrenderertoggle.c
1299         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1300         adding this, it's useless
1301         (gtk_cell_renderer_toggle_set_active): remove
1302         (gtk_cell_renderer_toggle_get_radio): add
1303
1304         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1305         the NULL cell renderer, that doesn't make any sense to me. 
1306
1307         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1308         demo code should never use deprecated features.
1309
1310         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1311         code should never use deprecated features.
1312
1313         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1314         gtk_widget_queue_clear_area deprecated
1315
1316         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1317         deprecated
1318
1319         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1320
1321         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1322         a GdkImage deprecated, replaced by new consistently-named
1323         functions       
1324
1325         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1326
1327         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1328
1329         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1330         deprecated
1331
1332         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1333         so it won't appear in docs and confuse people.
1334
1335         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1336
1337         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1338         macros deprecated. (can't mark the type itself deprecated, since
1339         GtkProgressBar is not deprecated and we need the type decl to use
1340         GtkProgressBar)
1341
1342         * gtk/gtkpixmap.h: Mark deprecated
1343
1344         * gtk/gtkoldeditable.h: Mark deprecated
1345
1346         * gtk/gtklist.h: Mark deprecated
1347
1348         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1349         for anything anymore.
1350
1351         * gtk/gtkctree.h: Mark deprecated
1352
1353         * gtk/gtkclist.h: Mark deprecated
1354
1355         * gtk/gtkpreview.h: Mark deprecated
1356
1357         * gtk/gtkpacker.h: Mark deprecated
1358
1359         * gtk/gtktipsquery.h: Mark deprecated
1360
1361         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1362
1363         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1364
1365         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1366
1367         * gtk/gtkruler.h: Add comment that it will move out of GTK
1368
1369         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1370
1371         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1372
1373 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1374
1375         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1376         gdk_colormap_sync private since it was never exported
1377         in a header file.
1378
1379         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1380         colormap->colors[] for StaticGray, StaticColor colormaps.
1381
1382         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1383         was being used as if it was image->bits_per_pixel.
1384
1385         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1386         for the image in the GdkImage structure since it isn't
1387         reconstructable, and we need it to handle packed types
1388
1389         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1390         the assumption that on Win32 image->bits_per_pixel == image->depth,
1391         always.
1392
1393         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1394
1395         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1396         warning message if no converter can be found. 
1397
1398 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1399
1400         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1401         chars to isupper() / tolower(). (#567)
1402
1403         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1404         to clear up 64-bit warnings. (#567)
1405
1406 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1407
1408         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1409         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1410
1411         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1412         since some people set $(libdir) separately. (#1290, David Kaelbling)
1413
1414 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1415
1416         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1417         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1418         MAXPATHLEN, but the code here depends on a fixed value.)
1419         (#4524)
1420
1421 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1422
1423         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1424         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1425
1426 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1427
1428         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1429         viewable there is no way that moving the node will cause the 
1430         focus row to become not viewable, so omit check on the visibility
1431         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1432
1433 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1434
1435         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1436         selection before inserting new text.
1437
1438 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1439
1440         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1441         Make the sensitivity of the reparented child track that of
1442         the original parent menu item. (#34218, David Hodson)
1443
1444         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1445         the case where the current item is destroyed properly.
1446
1447         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1448         some edge cases with child-less menuitems.
1449         
1450 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1451
1452         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1453         key pop down window. (#12074, Jon K Hellan)
1454
1455 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1456
1457         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1458         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1459         The solution here isn't perfect - you get an extraneous
1460         emission of "toggle", which could conceivably confuse an app,
1461         but better than the current situation. LXR search seems to
1462         indicate that no apps in GNOME CVS connect to "toggle".
1463
1464 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1465
1466         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1467         gtk_public_h_sources to directly here to avoid warning when
1468         building srcdir != builddir. (#9656)
1469
1470 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1471
1472         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1473         handlers in gtkrange.c return the proper values (TRUE == handled)
1474         (#10316).
1475
1476         This is just the tip of the iceberg, but gtkrange.c is the
1477         most common place where the propagation is problematical,
1478         and also a place where it is almost certainly safe to change
1479         this in the stable branch.
1480
1481         (You don't want right click popups on a range control or anything...)
1482
1483 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1484
1485         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1486         area on focus out, even if a background pixmap isn't set.
1487         (#13941)
1488         
1489 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1490
1491         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1492         to deal with setting the shape properly when scrolling arrows are
1493         turned on, but not visible because there is sufficient space.
1494         (#13432)
1495
1496 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1497
1498         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1499         items with submenus, destroy the item along with the submenu.
1500         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1501         properly.
1502
1503         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1504         later.
1505
1506 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1507
1508         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1509         the focus widget sometimes wasn't drawn with the default if there
1510         was no default widget.
1511
1512         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1513         unreference pixmaps. 
1514
1515         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1516         for some extra safety.
1517
1518 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1519
1520         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1521         the text of a cell to the old pointer value better, by
1522         copying the new text before freeing the old text. Some code
1523         cleanup. (#8079, Karl Nelson)
1524
1525 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1526
1527         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1528         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1529
1530 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1531
1532         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1533         item from a menu, check to see if it matches 
1534         menu->old_active_menu_item, and if so, unref and clear
1535         old_active_menu_item (Patch from Pavel Cisler)
1536
1537         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1538         menu_shell->active_menu_item, if it is the child being
1539         removed. (Patch based on that of Gene Ragan, #50337)
1540
1541 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1542
1543         * gdk/linux-fb/gdkselection-fb.c: 
1544         * gdk/linux-fb/gdkcolor-fb.c: 
1545         * gdk/linux-fb/gdkdrawable-fb2.c: 
1546         * gdk/linux-fb/gdkfont-fb.c: 
1547         * gdk/linux-fb/gdkim-fb.c: 
1548         * gdk/linux-fb/gdkinput.c: 
1549         * gdk/linux-fb/gdkkeyboard-fb.c: 
1550         * gdk/linux-fb/gdkmain-fb.c: 
1551         * gdk/linux-fb/gdkrender-fb.c: 
1552         A bunch of whitespace cleanup.
1553         
1554 2001-01-30  Havoc Pennington  <hp@pobox.com>
1555
1556         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1557         #ifdef GTK_ENABLE_BROKEN.
1558
1559         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1560         GTK_ENABLE_BROKEN just before including the broken headers.
1561         
1562         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1563         deprecated types registered.
1564
1565         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1566         we have to test the broken stuff.
1567
1568         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1569         
1570 2001-01-30  Havoc Pennington  <hp@redhat.com>
1571
1572         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1573         here where prev pointer was set to the wrong thing
1574
1575         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1576         (gtk_tree_path_is_descendant): new function
1577
1578         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1579         cached length
1580         (gtk_list_store_get_iter): don't modify iter if we can't get the
1581         path.
1582
1583         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1584         
1585         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1586         GtkTreeDragDest
1587
1588         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1589         was causing segfault
1590
1591         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1592         pointer to NULL
1593
1594         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1595
1596         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1597         on returning FALSE
1598         (gtk_list_store_iter_children): ditto
1599         (gtk_list_store_iter_nth_child): ditto
1600         (gtk_list_store_iter_nth_child): ditto
1601         (gtk_list_store_iter_parent): ditto
1602
1603         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1604         on iter->user_data != NULL instead of silently accepting it.
1605         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1606         we are returning TRUE.
1607         (gtk_tree_store_iter_children): ditto
1608         (gtk_tree_store_iter_nth_child): ditto
1609         (gtk_tree_store_iter_parent): ditto
1610         (gtk_tree_store_insert): remove handling of parent->user_data ==
1611         NULL, replace with parent == NULL       
1612
1613         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1614         and a comment explaining things
1615
1616         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1617         interface support to GtkTreeStore.
1618
1619         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1620         FALSE if no prev, fix
1621
1622         * gtk/gtktreeview.c (set_source_row): use a row reference
1623         (set_dest_row): use a row reference
1624
1625 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1626
1627         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1628         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1629         (gtk_tree_selection_select_iter): The same as above.
1630
1631 2001-01-26  Havoc Pennington  <hp@redhat.com>
1632
1633         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1634         which holds a handle to a specific row (particular set of values
1635         in the model, i.e. pointer-identity row).
1636
1637         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1638         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1639         Still need to use it for the src/dest row saved on the drag context.
1640
1641 2001-01-26  Havoc Pennington  <hp@redhat.com>
1642
1643         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1644
1645         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1646         not offset by TREE_VIEW_HEADER_HEIGHT
1647         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1648         TREE_VIEW_HEADER_HEIGHT
1649
1650         * configure.in (included_loaders): for me, --with-included-loaders
1651         generates the error "the specified loader yes does not exist",
1652         i.e. the arg defaults to "yes", so change test for value ""
1653         to test for value "yes", and include all loaders in that case.
1654
1655         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1656
1657         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1658         handle TREE_VIEW_VERTICAL_SEPARATOR
1659         (gtk_tree_view_bin_expose): fix to consider the row offset as
1660         pointing halfway into vertical separator.       
1661         (gtk_tree_view_draw_node_focus_rect): ditto
1662
1663         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1664         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1665         (TRUE) to be called.
1666
1667         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1668         debug mode where the invalid region is colored in on invalidate,
1669         so you can see the flicker and know whether your redraw code is 
1670         doing a good job.
1671
1672         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1673         tree window coordinates (clip rect is in tree window coords)
1674
1675         * gtk/Makefile.am: add gtktreednd.[hc]
1676
1677         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1678
1679         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1680         drag-and-drop data operations on a model (so we can set up tree
1681         drag-and-drop automatically)
1682
1683         * gtk/testgtk.c: Add a window to change sensitivity in the
1684         GtkLabel test; add a way to change the entry frame in GtkEntry
1685         test
1686
1687         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1688         (gtk_entry_get_has_frame): new functions to remove the frame
1689         around an entry
1690         (gtk_entry_size_request): shrink requisition if no frame
1691         (gtk_entry_draw_focus): don't draw frame if no frame
1692
1693         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1694         checks inside a cell renderer
1695         (gtk_default_draw_option): ditto for options
1696
1697         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1698         children from the alignment, not the button
1699         (gtk_tree_view_column_init): ref/sink the column, to emulate
1700         GObject refcounting.
1701
1702         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1703         
1704         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1705         Use theme functions to draw the toggles 
1706
1707         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1708
1709         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1710         GdkPangoAttrEmbossed to use in rendering insensitive text
1711
1712         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1713
1714         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1715         using new GDK features
1716         
1717 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1718
1719         * gtk/gtkimage.c:
1720         Splitted gtk_image_clear into gtk_image_clear() and
1721         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1722         to avoid leaks.
1723
1724         * gtk/gtklabel.c (set_markup):
1725         Don't leak text.
1726
1727         * gtk/gtktextlayout.c:
1728         Always free display->shaped_objects.
1729
1730         * gtk/testgtk.c (create_clist):
1731         Don't leak custom style.
1732
1733 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1734
1735         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1736         Don't leak image. Simplify using gdk_colormap_query_color().
1737         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1738
1739         * linux-fb/gdkcolor-fb.c:
1740         Implemented gdk_colormap_query_color.
1741
1742 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1743
1744         * linux-fb/gdkcursor-fb.c:
1745         Don't leak built-in cursors.
1746
1747         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1748         Don't leak tmp_points.
1749
1750         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1751         Don't modify desc. Don't leak font if the PangoFont
1752         isn't found.
1753         
1754         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1755         Free dash_list.
1756
1757         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1758         Don't leak string.
1759         
1760 2001-01-20  Havoc Pennington  <hp@pobox.com>
1761
1762         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1763         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1764         me, matches Pango
1765
1766 2001-01-22  Havoc Pennington  <hp@redhat.com>
1767
1768         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1769
1770         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1771
1772         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1773         Remove, move back to gdk-pixbuf
1774
1775         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1776         to all the word functions
1777
1778         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1779         before doing anything on NULL layout or if we don't have the focus
1780
1781         * gtk/testtext.c (fill_example_buffer): "justification"
1782
1783         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1784         to be called "justification" not "justify"
1785
1786         * demos/gtk-demo/textview.c (create_tags): "justification"
1787         
1788         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1789
1790 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1791
1792         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1793         Don't leak visible_region. Use visible_region instead of region.
1794         
1795         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1796         Don't do extra gdk_drawable_ref(). This is not X.
1797         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1798         gdk_fb_focused_window is ref:ed.
1799         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1800         windows.
1801
1802 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1803
1804         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1805         Don't leak the PangoFontDescriptor.
1806
1807 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1808
1809         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1810         when not realized.
1811         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1812         (gtk_tree_view_realize): add scroll_to support
1813         (gtk_tree_view_finalize): add a finalize method.  Populate.
1814         (gtk_tree_view_insert_column): ref and sink the column.
1815         (gtk_tree_view_append_column): ref and sink the column.
1816         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1817         individual nodes.  Should make the code much more efficient, if
1818         actually used.
1819
1820 2001-01-19  Havoc Pennington  <hp@redhat.com>
1821
1822         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1823         byte_offset variable was being used to mean both "offset into
1824         layout" and "offset into buffer line" which was no longer true
1825         with addition of preedit string; fix
1826
1827 2001-01-19  Havoc Pennington  <hp@redhat.com>
1828
1829         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1830
1831         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1832         function
1833
1834         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1835         implement
1836
1837         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1838         scroll_to_cell, matches TextView scroll functions better
1839         (gtk_tree_view_tree_to_widget_coords): new function
1840         (gtk_tree_view_widget_to_tree_coords): new function
1841         (gtk_tree_view_get_visible_rect): new function
1842         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1843         (gtk_tree_view_draw_node_focus_rect): new function moved from
1844         draw_focus, also, use width of bin_window as width of the focus
1845         rect
1846         (gtk_tree_view_expand_row): fix bug where it didn't recognize
1847         already-expanded rows
1848         (gtk_tree_view_get_cell_rect): new function
1849         (gtk_tree_view_get_path_at_pos): return the click position
1850         relative to the passed-in cell
1851         (gtk_tree_view_set_expander_column): new function
1852
1853         * configure.in: remove gtk-config-2.0 chmod
1854
1855         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
1856         and properly handle drags with targets we don't understand
1857         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
1858         scrolling anyway
1859         (gtk_text_view_drag_drop): stop scrolling here though, and set the
1860         mark invisible
1861
1862         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
1863         function
1864         (gtk_drag_dest_get_target_list): new function
1865         (gtk_drag_dest_set_target_list): new function
1866         
1867         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
1868
1869         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
1870         related to drag-and-drop
1871
1872 2001-01-19  Alexander Larsson  <alexl@redhat.com>
1873
1874         * gdk/linux-fb/gdkprivate-fb.h:
1875         Define EMULATE_GDKFONT.
1876         Add extra pango_font stuff to GfkFontPrivate.
1877         
1878         * gdk/linux-fb/gdkdrawable-fb2.c:
1879         * gdk/linux-fb/gdkfont-fb.c:
1880         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
1881         emulation using PangoFont.
1882
1883 2001-01-17  Havoc Pennington  <hp@pobox.com>
1884
1885         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
1886         all the non-deprecated set_foo functions. Added missing object
1887         properties, and added g_object_notify() to setters. 
1888         Wrote docs.
1889         
1890 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1891
1892         * gtk/gtkmain.c
1893         * gtk/gtkrc.c: (Win32) Use the new
1894         g_win32_get_package_installation_(sub)directory() functions.
1895
1896         * config.h.win32.in: New file.
1897         
1898         * config.h.win32: Removed.
1899
1900         * configure.in: Output config.h.win32.
1901
1902         * Makefile.am: Add it to EXTRA_DIST.
1903
1904         * gtk/gtk.def: Update.
1905
1906 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
1907
1908         * gtk/gtklabel.c (gtk_label_size_request): Set the
1909         attributes onto the PangoLayout even if they are newly
1910         created from label->pattern.
1911
1912 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
1913
1914         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
1915
1916         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
1917         structures in functions. Fixes bug where gtk_dataset_*
1918         was accidentally still being used in one place, causing
1919         every dest side event to be treated independently.
1920
1921         * gtk/gtkdnd.c: Remove last vestages of handling
1922         ::draw (fixes warning)
1923         
1924         * gtk/gtkentry.[ch]: Add drag and drop support.
1925
1926         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1927         new function gtk_check_drag_threshhold() for checking
1928         to check if (dx,dy) has exceeded the threshhold for starting
1929         a drag and use it everywhere.
1930
1931 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1932
1933         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1934         add -I{includedir}/gtk-2.0.
1935
1936         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1937         gdk/gdk-pixbuf.h: Doc fixups.
1938         
1939         * gtk/gtkobject.h: Remove trailing , from enum
1940
1941 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1942
1943         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1944         Doh! Mixed up x and y.
1945
1946         * gdk/linux-fb/gdkglobals-fb.c:
1947         Removed gdk_fb_pointer_grab_window_events,
1948         added _gdk_fb_pointer_grab_owner_events and
1949         _gdk_fb_keyboard_grab_owner_events.
1950
1951         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1952         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1953         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1954         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1955         Send crossing events after ungrab finished.
1956         (gdk_keyboard_grab): Set ..._owner_events
1957         (type_masks): Move out of function.
1958         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1959         gdk_fb_keyboard_event_window): New functions, return the
1960         window an event should be targeted at. Handles grabs and
1961         event propagation. Can return NULL.
1962         (gdk_event_make): Remove event_mask checking. Now always
1963         returns an event.
1964                 
1965         * gdk/linux-fb/gdkkeyboard-fb.c:
1966         * gdk/linux-fb/gdkproperty-fb.c:
1967         * gdk/linux-fb/gdkselection-fb.c:
1968         Use new event_window/gdk_event_make() behaviour.
1969         
1970         * gdk/linux-fb/gdkmouse-fb.c:
1971         Use new event_window/gdk_event_make() behaviour.
1972         Only send motion events if in the same window.
1973         If grabbed, use cursor from window if sibling of grabbed
1974         window, and cursor from grabbed window otherwise.
1975
1976         * gdk/linux-fb/gdkprivate-fb.h:
1977         Update gdk_fb_window_send_crossing_events, gdk_event_make
1978         and grab varaible declarations. Add gdk_fb_*_event_window().
1979
1980         * gdk/linux-fb/gdkwindow-fb.c:
1981         Use new event_window/gdk_event_make() behaviour.
1982         Keep correct track of focus window.
1983         (gdk_window_set_events): Set all specific button motion masks
1984         if GDK_BUTTON_MOTION_MASK set.
1985
1986         * gtk/gtkdnd.c (gtk_drag_update):
1987         Free info->last_event if gdk_drag_motion returned FALSE.
1988
1989 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1990
1991         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1992         Eliminate redraws when input-only windows are shown or
1993         hidden. Thanks to jpe@archaeopteryx.com.
1994
1995 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1996
1997         * docs/faq/gtk-faq.sgml: FAQ update:
1998           - Update to bugzilla
1999           - Add GTK+ and security/SUID/SGID
2000           - Add DnD question
2001
2002 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2003
2004         * gdk/linux-fb/gdkdnd-fb.c:
2005         Some cleanups.
2006         
2007 2001-01-15  Havoc Pennington  <hp@pobox.com>
2008
2009         * tests/testtreeview.c: add test stuff for CellRendererToggle
2010
2011         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2012         accessor
2013
2014         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2015         only toggle on button press (would do release like GtkButton, but
2016         we'd need implicit grab code for treeview cells)
2017
2018 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2019
2020         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2021
2022         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2023         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2024
2025         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2026         to g_{locale,filename}_{to,from}_utf8 to match current API.
2027
2028         * gtk/makefile.msc.in (gtk_OBJECTS)
2029         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2030
2031         * gtk/gtk.def: Update.
2032
2033 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2034
2035         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2036         implementaion that more closely mimics the events that an X server
2037         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2038         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2039         with nested preview widgets, for instance, more responsive when
2040         you move the mouse quickly into them.
2041         (find_window_for_pointer_event): Make it actually compile.
2042         (gdk_event_translate): Set send_event to the value of
2043         InSendMessage (). This doesn't really mean the same as X11's
2044         send_event flag, but is close enough, says jpe@archaeopteryx.com
2045
2046 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2047
2048         * gdk/linux-fb/gdkdnd-fb.c:
2049         Implemented drag and drop.
2050         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2051         when it tries to free and then copy the same event (info->last_event).
2052         I am not sure about why this happens, but will continue looking.
2053
2054 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2055
2056         * gdk/linux-fb/gdkwindow-fb.c:
2057         Use gdk_window_invalidate_rect instead of
2058         gdk_window_invalidate_rect_clear to minimise flashing.
2059         When hiding windows you need to clear the root window though.
2060
2061 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2062
2063         * gdk/linux-fb/gdkdrawable-fb2.c:
2064         For optization, add an full_shapes argument to gdk_fb_clip_region.
2065         If this is false, only the cliprects of the shapes are used.
2066
2067         * gdk/linux-fb/gdkprivate-fb.h:
2068         Export gdk_fb_window_peek_shape.
2069         Add full_shapes to gdk_fb_clip_region.
2070
2071         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2072         When moving a window, don't clear everything under the it, just the
2073         root window. Makes stuff faster and flash less.
2074         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2075         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2076         offset of the shape.
2077         
2078
2079 2001-01-12  Havoc Pennington  <hp@redhat.com>
2080
2081         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2082         current invalid region, fixes redraw bug while scrolling the 
2083         text widget
2084
2085         * gtk/gtktextview.c, gtk/gtktextview.h:
2086         Rearrange the scrolling/validation/etc. code in a major way, 
2087         so it seems to make sense to me. Probably isn't genuinely that
2088         much better, but...
2089
2090         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2091         notifies
2092
2093         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2094
2095 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2096
2097         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2098         Hide mouse pointer while rotation. Show it afterwards.
2099
2100 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2101
2102         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2103         windows in consideration when generating clip region.
2104
2105         * gdk/linux-fb/gdkfb.h:
2106         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2107
2108         * gdk/linux-fb/gdkprivate-fb.h:
2109         Add shape to GdkWindowFBDatat.
2110         exported gdk_fb_window_get_abs_shape().
2111         removed gdk_fb_draw_lines declaration.
2112
2113         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2114         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2115         send focus changes when there is a grabbed window.
2116         (gdk_window_get_pointer): Handle shaped windows.
2117         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2118         (gdk_fb_window_peek_shape): Returns the shape for a window,
2119         handles GDK_FB_USE_CHILD_SHAPE.
2120         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2121         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2122         (gdk_window_shape_combine_mask): Implement.
2123
2124         * gtk/gtkwindow-decorate.c:
2125         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2126         setting the shape of a window makes the window transparent.
2127
2128 2001-01-11  Havoc Pennington  <hp@redhat.com>
2129
2130         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2131
2132 2001-01-10  Havoc Pennington  <hp@redhat.com>
2133
2134         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2135         add this function, bug 40251
2136
2137         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2138         of type macro   
2139
2140 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2141
2142         * acconfig.h:
2143         Added ENABLE_SHADOW_FB
2144
2145         * configure.in:
2146         Added --disable-shadowfb
2147
2148         * gdk/linux-fb/gdkcursor-fb.c:
2149         Update shadowfb when updating cursor
2150
2151         * gdk/linux-fb/gdkdrawable-fb2.c:
2152         Added wrappers for shadowfb that calls  the normal drawable
2153         methods, but calls gdk_shadow_fb_update(bounding box) when
2154         GdkWindows are drawed to.
2155         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2156         which also returns the bounding box.
2157
2158         * gdk/linux-fb/gdkfb.h:
2159         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2160
2161         * gdk/linux-fb/gdkgeometry-fb.c:
2162         Update shadowfb when scrolling window.
2163
2164         * gdk/linux-fb/gdkglobals-fb.c:
2165         Add _gdk_fb_screen_angle.
2166         
2167         * gdk/linux-fb/gdkkeyboard-fb.c:
2168         Test code for screen rotation. Shift-F2 in the xlate driver
2169         rotates the screen.
2170
2171         * gdk/linux-fb/gdkmain-fb.c:
2172         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2173
2174         * gdk/linux-fb/gdkmouse-fb.c:
2175         Use fb_width/height instead of modeinfo.xres/yres.
2176
2177         * gdk/linux-fb/gdkprivate-fb.h:
2178         Added fb_men, fb_width, fb_height & fb_stride. When using
2179         shadow fb these can differ from the framebuffer stuff.
2180         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2181         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2182         _gdk_fb_screen_angle. Removed CM, RP.
2183
2184         * gdk/linux-fb/gdkrender-fb.c:
2185         Added code for shadowfb handling and screen rotation using
2186         shadowfb.
2187
2188         * gdk/linux-fb/gdkwindow-fb.c:
2189         Use fb_mem, fb_stride, fb_width, fb_height.
2190         Added recompute_rowstride to reset the rowstride of all windows.
2191         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2192         window abs positions and window rowstrides. Usefull when the
2193         rotation has changed.
2194
2195 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2196
2197         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2198
2199 2001-01-10  Havoc Pennington  <hp@redhat.com>
2200
2201         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2202         where sibling == iter
2203         (gtk_tree_store_insert_after): handle sibling == iter
2204         (gtk_tree_store_prepend): remove stamp checks
2205         (gtk_tree_store_insert_before): ditto
2206         (gtk_tree_store_append): ditto
2207         (gtk_tree_store_get_path): ditto
2208         (gtk_tree_store_get_value): ditto
2209         (gtk_tree_store_iter_has_child): ditto
2210         (gtk_tree_store_iter_n_children): ditto
2211         (gtk_tree_store_iter_nth_child): ditto
2212         (gtk_tree_store_insert_after): ditto
2213         (gtk_tree_store_is_ancestor): ditto
2214         (gtk_tree_store_iter_depth): ditto
2215         (gtk_tree_store_insert_before): assert that sibling's parent is
2216         the same as the passed-in parent
2217         (gtk_tree_store_insert_after): assert that sibling's parent is
2218         the same as the passed-in parent
2219
2220         
2221         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2222         function to get the first iterator in a model
2223         
2224         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2225         conventionally the "root" in this sense is just NULL afaict.
2226
2227         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2228         where sibling == iter
2229         (gtk_list_store_insert_after): handle case where sibling == iter
2230
2231         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2232         automated tests for ListStore, TreeStore
2233
2234         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2235         (gtk_list_store_insert): update tail pointer, and fix it to work
2236         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2237         (gtk_list_store_append): use tail to be faster
2238         (gtk_list_store_prepend): fix it, update tail pointer
2239         (gtk_list_store_insert_after): fix it, update tail pointer
2240
2241         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2242         the list
2243
2244 2001-01-09  Havoc Pennington  <hp@redhat.com>
2245
2246         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2247         is NULL due to a pending resize
2248
2249         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2250         column width to values less than 1
2251
2252         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2253         width to be between min/max width, and still set the width 
2254         even if autosize is turned on, so the tree view can use this 
2255         function in order to autosize.
2256         (gtk_tree_view_column_init): set initial width to 1 not 0
2257
2258         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2259         setter function to modify column width, so we get notification
2260         (gtk_tree_view_insert_iter_height): ditto
2261         (gtk_tree_view_calc_size): ditto
2262         (gtk_tree_view_check_dirty): ditto
2263
2264         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2265         properties to change all the interesting attributes of the tree
2266         view column.
2267         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2268         (gtk_tree_view_column_get_clickable): add
2269         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2270         attributes; assume a cell renderer with equivalent object
2271         properties has been swapped in. Do g_object_notify().
2272         (gtk_tree_view_column_set_visible): g_object_notify
2273         (gtk_tree_view_column_get_sizing): rename from get_col_type
2274         (gtk_tree_view_column_set_sizing): g_object_notify
2275         (gtk_tree_view_column_set_width): add g_object_notify
2276         (gtk_tree_view_column_set_min_width): ditto
2277         (gtk_tree_view_column_set_max_width): ditto
2278         (gtk_tree_view_column_set_title): ditto
2279         (gtk_tree_view_column_set_clickable): ditto
2280         (gtk_tree_view_column_set_widget): ditto
2281         (gtk_tree_view_column_set_justification): ditto
2282
2283 2001-01-09  Havoc Pennington  <hp@redhat.com>
2284
2285         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2286         there are no rows in the model
2287
2288         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2289         NULL, then return the start of the list
2290
2291         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2292         if we can't get any rows from an empty model 
2293
2294         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2295         extraneous * after function pointer typedef usage
2296
2297         * Makefile.am: don't specify full path to cp and rm
2298
2299         * gtk/gtkcellrenderertextpixbuf.c
2300         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2301         NULL before dereferencing, fixes a segfault that happened from
2302         time to time
2303
2304         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2305         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2306         and reindent the function
2307         (gtk_cell_renderer_pixbuf_get_size): indentation
2308
2309         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2310         we quit it
2311         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2312         (gtk_dialog_set_default_response): New function, to set default
2313         button
2314         (gtk_dialog_set_response_sensitive): New function, to set 
2315         sensitivity of buttons
2316
2317         * gtk/gtkcellrendererpixbuf.c
2318         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2319         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2320
2321         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2322         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2323         also boxed types.
2324         (_gtk_tree_data_list_value_to_node): ditto
2325
2326         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2327         --gtk-debug=tree
2328
2329         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2330
2331         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2332
2333 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2334
2335         * gdk/win32/gdkevents-win32.c: Implement better mouse
2336         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2337         (find_window_for_pointer_event): New function.
2338         (gdk_event_translate): Use it when handling mouse events.
2339
2340 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2341
2342         * configure.in:
2343         Added --with-included-loaders option
2344
2345         * gdk-pixbuf/Makefile.am:
2346         * gdk-pixbuf/gdk-pixbuf-io.c:
2347         Add support for including selected gdk-pixbuf loaders only.
2348
2349         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2350         gtk_window_set_has_frame):
2351         Added inline documentation.
2352
2353         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2354         * docs/reference/gdk/tmpl/windows.sgml:
2355         Added inline documentation.
2356
2357 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2358
2359         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2360         realizing buttons that have already been realized.
2361
2362 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2363
2364         * tests/testtreeview.c (main): Show menu items before adding to
2365         option menu.
2366
2367         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2368         around if we kill them.
2369
2370         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2371         Return if we pass in a NULL model.
2372
2373 2001-01-08  Havoc Pennington  <hp@redhat.com>
2374
2375         * tests/testtreeview.c: hack on this some
2376
2377         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2378         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2379         list
2380         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2381
2382         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2383         functions
2384
2385 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2386
2387         * gtk/gtkwindow-decorate.[hc]:
2388         * gtk/Makefile.am:
2389         New files. Contains an implementation of a minimal WM for
2390         linux-fb.
2391
2392         * gtk/gtkwindow.h:
2393         Add the possibility for GtkWindows to specify a frame. This
2394         is used for the window decoration code, but could concievably
2395         be used for X programs too (xmms style windows).
2396         GtkWindow->frame is the toplevel window if the window is framed.
2397         The signal frame_event gets all events that are targeted to
2398         GtkWindow->frame.
2399         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2400         
2401         * gtk/gtkwindow.c:
2402         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2403         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2404
2405 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2406
2407         * docs/README.linux-fb:
2408         Correct filename ~/.pangoft2_aliases
2409
2410         * gdk/gdkwindow.h:
2411         Added new function gdk_window_get_decorations.
2412
2413         * gdk/linux-fb/gdkfb.h:
2414         Removed _gdk_window_get_decorations declaration.
2415         Renamed _gdk_window_set_child_handler to
2416         gdk_fb_window_set_child_handler.
2417
2418         * gdk/linux-fb/gdkwindow-fb.c:
2419         Renamed _gdk_window_set_child_handler to
2420         gdk_fb_window_set_child_handler.
2421
2422         * gdk/x11/gdkwindow-x11.c:
2423         New function gdk_window_get_mwm_hints().
2424         Implemented gdk_window_get_decorations.
2425
2426         * docs/reference/gdk/tmpl/windows.sgml:
2427         * docs/reference/gdk/gdk-sections.txt:
2428         Added gdk_window_get_decorations docs.
2429         
2430 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2431
2432         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2433         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2434         gdk_fb_window_send_crossing_events):
2435         Possibly send focus events when the mouse moves from one
2436         window to another.
2437
2438 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2439
2440         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2441         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2442         to match current API.
2443
2444         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2445         environment variable is set, don't call g_error when on a
2446         palettized (PseudoColor) display. Some people want to use GTK+ 
2447         in 256-colour mode even though works only partially.
2448
2449         * gdk/gdk.def
2450         * gtk/gtk.def
2451         * gtk/makefile.mingw.in: Update.
2452
2453 2001-01-05  Havoc Pennington  <hp@redhat.com>
2454
2455         * tests/testtreeview.c: hack on this a bit
2456
2457         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2458         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2459
2460         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2461         was spelled incorrectly
2462         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2463
2464         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2465         from gtk_tree_view_set_headers_active   
2466
2467         * gtk/gtktexttag.c:
2468         (gtk_text_tag_get_property): handle PROP_DIRECTION
2469         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2470         properties, bug 40235
2471
2472         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2473         forward_to_line_end
2474
2475 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2476
2477         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2478         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2479         for unicode,locale,filename conversion functions.
2480
2481 2001-01-05  Havoc Pennington  <hp@redhat.com>
2482
2483         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2484         broken if called on the first position in the buffer.
2485
2486         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2487         forward_to_delimiters to be called only if we aren't already at
2488         the delimiters.
2489
2490 2001-01-05  Havoc Pennington  <hp@redhat.com>
2491
2492         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2493
2494 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2495
2496         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2497         colormap in here. Sync from X port.
2498         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2499         Sync from X port.
2500         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2501         This happens now and then, and i don't think it is a bug.
2502         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2503         != endpoint.
2504         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2505         GDK_LINE_SOLID.
2506
2507         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2508         some of the fields filled in at least.
2509
2510         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2511         miLineArcD is no more, remove it from the function definition.
2512
2513 2001-01-04  Havoc Pennington  <hp@redhat.com>
2514
2515         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2516         this
2517
2518         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2519         user_data instead of tree_node
2520
2521         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2522         TREE_VIEW_COLUMN_SIZE
2523
2524         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2525         "size" field to "width" finishes bug 40061
2526
2527         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2528         for bitfields, bug 40268
2529
2530 2001-01-04  Havoc Pennington  <hp@redhat.com>
2531
2532         Rename some stuff:
2533         
2534         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2535
2536         s/GtkModelSimple/GtkTreeModelSimple/g;
2537         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2538         s/gtk_model_simple/gtk_tree_model_simple/g;
2539         s/gtkmodelsimple/gtktreemodelsimple/g;
2540
2541         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2542
2543         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2544         s/column_set_col_type/column_set_sizing/g;
2545
2546         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2547         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2548
2549         s/GtkCellRendererType/GtkCellRendererState/g;
2550         
2551         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2552         (gtk_cell_renderer_toggle_class_init): change "state" property to
2553         "active", to match GtkToggleButton
2554         (gtk_cell_renderer_toggle_get_active): new function, bug
2555         40269
2556         (gtk_cell_renderer_toggle_set_active): new function
2557         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2558         state through gtk_cell_renderer_set_active
2559
2560 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2561
2562         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2563         temporarily until they work again.  Brought up to date with
2564         changes in the model.
2565         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2566         model.
2567
2568 2001-01-04  Havoc Pennington  <hp@redhat.com>
2569
2570         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2571         equal to the line length, then position iterator before paragraph 
2572         separators. Fixes crash reported by Mikael Hermansson when
2573         pressing left arrow from the start of a line.   
2574
2575         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2576         about byte indexes off the end
2577         (iter_set_from_char_offset): add g_error about char offsets
2578         off the end
2579
2580 2001-01-03  Havoc Pennington  <hp@redhat.com>
2581
2582         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2583
2584         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2585         of private functions; remove inclusion of private headers.
2586
2587         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2588         function, so we don't need private functions in gtktextdisplay.c
2589
2590         * gtk/gtktextiterprivate.h: underscore-ification
2591
2592         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2593         to instead say "only useful to implement widgets"
2594
2595         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2596         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2597         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2598
2599         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2600         This function was completely broken
2601
2602         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2603
2604         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2605
2606         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2607
2608         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2609
2610         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2611
2612         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2613
2614         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2615         gtk_paint_layout
2616
2617         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2618         gtk_paint_layout
2619
2620         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2621         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2622         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2623         which were not implemented.     
2624
2625         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2626         insert_pixbuf signal. Rename delete_text to delete_range since it
2627         also deletes pixbufs and child anchors. This almost closes bug
2628         40245 (still need to deal with child anchors)
2629
2630         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2631         insert_pixbuf, change signal names as appropriate, change types of
2632         signals taking marks/tags to have the specific type, not just
2633         G_TYPE_OBJECT
2634         
2635         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2636         closes bug 40051
2637
2638         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2639         unnecessary remove_contents() call
2640         (gtk_option_menu_class_init): add a "changed" signal, closes
2641         bug 40039
2642         (gtk_option_menu_update_contents): emit "changed" if the 
2643         active menu item changes
2644
2645         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2646         cast to GtkObject, reported by Jonas Borgstrom
2647         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2648         we can't do stuff with side effects in finalize. Instead, spew a
2649         warning if the loader isn't closed.
2650
2651         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2652         colormap in here, non-X ports probably need to sync to this change
2653
2654         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2655         assertion that colormap != NULL, you can set the colormap to NULL
2656         if you like.
2657         
2658         * Makefile.am: remove gtk-config-2.0
2659
2660         * configure.in: Use pkg-config to locate GLib. Remove
2661         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2662         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2663         Use pkg-config to locate Pango. Output correct Pango libs to
2664         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2665
2666         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2667         files
2668         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2669         X11 pc files
2670
2671         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2672         unref from here
2673
2674 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2675
2676         * configure.in:
2677         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2678
2679 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2680
2681         * gtk/gtktextlayout.c
2682         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2683         variable when moving back onto a single line.
2684
2685 2001-01-01  Havoc Pennington  <hp@redhat.com>
2686
2687         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2688
2689         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2690
2691         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2692         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2693
2694 2001-01-01  Havoc Pennington  <hp@redhat.com>
2695
2696         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2697
2698         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2699         GtkTextAttributes
2700
2701         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2702         #40246
2703         (gtk_text_attributes_copy_values): rename from 
2704         gtk_text_attributes_copy
2705         (gtk_text_attributes_copy): a more standard GTK copy function, 
2706         which returns a new object
2707
2708 2001-01-01  Havoc Pennington  <hp@redhat.com>
2709
2710         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2711         
2712         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2713         don't fill in tree_view->priv->selection, kind of an unexpected
2714         side effect
2715
2716         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2717         gtkintl.h
2718         
2719         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2720         gtkintl.h
2721         (gtk_cell_renderer_get_property): remove calls to g_value_init
2722
2723         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2724         gtkintl.h
2725
2726         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2727         and include gtkintl.h
2728         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2729         property names
2730
2731         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2732         GtkTreeSelection
2733         (_gtk_tree_selection_new_from_with_view): rename, return
2734         GtkTreeSelection
2735         (_gtk_tree_selection_set_tree_view): rename with uscore
2736         (gtk_tree_selection_get_selected): fill in the "model" out param
2737         first, so it gets filled in even if we return at the top of the 
2738         function
2739         (gtk_tree_selection_real_select_all): add a comment and an else{}
2740         to clarify this a bit
2741         (gtk_tree_selection_real_unselect_all): add the same else{}
2742
2743         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2744         set_tree_view to have underscore prefixes, move them to the
2745         private header, fix return type of new_with_tree_view
2746         (struct _GtkTreeSelection): mark struct
2747         fields private  
2748
2749         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2750         GtkTreeModelFlags, not a guint
2751         (gtk_tree_path_prev): return gboolean not gint
2752         (gtk_tree_path_up): return gboolean not gint
2753
2754         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2755         return GtkTreeModelFlags, not a guint
2756
2757         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2758         that child model is non-null before unrefing it
2759         (g_value_int_compare_func): make this a qsort compare func, not 
2760         a boolean predicate
2761
2762         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2763         (add -umn to the end), and mark it unimplemented
2764         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2765         I don't see what it's for - doesn't the model always sort itself?
2766         (gtk_tree_model_sort_set_compare): this had the wrong signature
2767
2768         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2769         Fix the docs to say that it destructively replaces existing
2770         attributes (previously said that it added attributes).
2771         (gtk_tree_view_column_set_visible): canonicalize bool before
2772         equality testing. Also, check for realization before
2773         hiding/showing the tree_column->window; if this window could exist
2774         before realization, then it's busted and needs fixing, we can't 
2775         create GDK resources pre-realization. Also, remove
2776         superfluous queue_resize(), since set_size() does that for us.
2777         (gtk_tree_view_column_set_col_type): check realization before 
2778         using tree_column->window
2779
2780         * gtk/gtktreedatalist.c: fix filename in copyright notice
2781
2782 2000-12-31  Havoc Pennington  <hp@pobox.com>
2783
2784         * gtk/gtktextview.c: Rearrange all the
2785         scroll-while-dragging-or-selecting code to be different, not
2786         necessarily better. ;-)
2787         (gtk_text_view_scroll_to_mark): Change this
2788         function to take within_margin as a fraction instead of a pixel
2789         value, and to take alignment arguments (indicating where to align 
2790         the mark inside the visible area)
2791         
2792         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2793         to GtkObject
2794
2795         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2796         behavior so that offsets past the end of the line are not 
2797         allowed, and an offset equal to the line length moves the iterator
2798         to the next line
2799         (gtk_text_iter_set_line_index): make parallel change
2800         (gtk_text_iter_get_bytes_in_line): add this function
2801         
2802         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2803         of byte indexes off the end of the line; byte index at the end of
2804         the line now returns FALSE and doesn't fill in the requested
2805         values, byte index past the end of the line is an error.  Also,
2806         don't allow -1 offset anymore, since its meaning is unclear.
2807
2808         This change exposes some bug in visual cursor motion, where we
2809         end up with a huge invalid byte index; needs fixing. Symptom of 
2810         bug is a crash when you hit up arrow.
2811         
2812         (_gtk_text_line_char_locate): match the change to byte_locate
2813
2814         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2815         from start of line properly. fixes bug reported by Mikael
2816         Hermansson where backspace would delete all text before the
2817         cursor.
2818
2819 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2820
2821         * gdk/win32/gdkwindow-win32.c
2822         (gdk_window_impl_win32_get_visible_region): New function, as in
2823         the X11 backend.
2824         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2825         instead of duplicating the same code here.
2826
2827         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2828         GDK_COLORMAP macro.
2829
2830         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2831         destroy function.
2832         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2833         access that.
2834
2835         * gtk/gtk.def: Update.
2836
2837         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2838
2839 2000-12-30  Havoc Pennington  <hp@pobox.com>
2840
2841         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2842         colormap on input only windows, to avoid special cases all over
2843         the code for these windows.
2844
2845 2000-12-26  Tor Lillqvist  <tml@iki.fi>
2846
2847         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
2848         we are on a palettized display ("PseudoColor" in X11), as the code
2849         for that doesn't work anyway, and never has.
2850
2851 2000-12-22  Alexander Larsson  <alexl@redhat.com>
2852
2853         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
2854         Don't use isprint() for chars > 255.
2855
2856 2000-12-21  Havoc Pennington  <hp@redhat.com>
2857
2858         * tests/testtreeview.c: more work
2859
2860 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2861
2862         * docs/README.linux-fb:
2863         Update the docs to the new pangoft2 way.
2864
2865 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2866
2867         * configure.in:
2868         For linux-fb get the pangoft2 cflags and libs. This needs a recent
2869         pango version.
2870         Remove modules/linux-fb/Makefile.
2871
2872         * gdk/linux-fb/gdkdrawable-fb2.c:
2873         Render glyphs using freetype.
2874
2875         * gdk/linux-fb/gdkfb.h:
2876         Add new fb-specific functions needed for managing windows.
2877
2878         * gdk/linux-fb/gdkmain-fb.c:
2879         Remove gdk_font_init/fini() calls.
2880
2881         * gdk/linux-fb/gdkpango-fb.c:
2882         Remove old implementation. Use pangoft2 instead.
2883
2884         * gdk/linux-fb/gdkprivate-fb.h:
2885         Remove PangoFBFont and related stuff.
2886
2887         * gdk/linux-fb/gdkwindow-fb.c:
2888         Implement drawable->get_visible_region.
2889         Implement support for _gdk_window_set_child_handler () and
2890         _gdk_window_get_decorations().
2891
2892         * modules/Makefile.am:
2893         Remove linux-fb subdir.
2894
2895         * modules/linux-fb/*:
2896         Removed all.
2897         
2898 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
2899
2900         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
2901         calls, as they are no longer needed.
2902
2903         * gtk/gtktreemodelsort.c: Fix up the comparison code.
2904         
2905         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
2906         figure out how to emit a signal on an interface.
2907
2908 2000-12-20  Havoc Pennington  <hp@redhat.com>
2909
2910         * tests: new directory to contain tests, gtk/test* should move
2911         here sometime (with appropriate on-cvs-server hackery)
2912
2913         * tests/testtreeview.c, tests/Makefile.am: a test
2914         
2915         * configure.in (AC_OUTPUT): add tests/Makefile
2916
2917         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
2918         and "invisible_set" which were missing
2919
2920         * gtk/gtkrbtree.h: some cheesy indentation fix
2921         
2922 2000-12-20  Alexander Larsson  <alexl@redhat.com>
2923
2924         * gtk/gtkinvisible.c (gtk_invisible_realize):
2925         Attach the style to the window so that the style it is not
2926         leaked when unrealizing the window.
2927
2928 2000-12-18  Havoc Pennington  <hp@redhat.com>
2929
2930         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2931         begin/end user action where appropriate
2932         (gtk_text_view_commit_handler): add begin/end user action
2933
2934         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2935         bracket interactive operations with begin/end user action pair.
2936         
2937         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2938         "interactive" arg from insert_text and delete_text signals.
2939         Add begin_user_action, end_user_action signals
2940         (gtk_text_buffer_begin_user_action): 
2941         (gtk_text_buffer_end_user_action): New functions to delimit 
2942         a user-visible action
2943
2944         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2945         signals.
2946         
2947 2000-12-18  Havoc Pennington  <hp@redhat.com>
2948
2949         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2950         was pretty non-working.
2951
2952         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2953         by passing the length to g_utf8_validate().
2954
2955 2000-12-16  Havoc Pennington  <hp@pobox.com>
2956
2957         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2958         Port to GObject, can go back in gdk-pixbuf after setting up 
2959         a gdk-pixbuf-marshal.h header over there.
2960
2961         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2962         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2963         args
2964         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2965         set
2966         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2967         here, do it when we create the buttons later
2968         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2969         (gtk_tree_view_map): paranoia checks that column->button is shown 
2970         and unmapped
2971         (gtk_tree_view_size_request): only request visible children.
2972         Move header size calculation in here, for cleanliness, and 
2973         to maintain invariants for child widgets if we eventually 
2974         let users set different children inside the buttons
2975         (gtk_tree_view_map_buttons): factor out code to map buttons,
2976         since it was being called several times
2977         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2978         windows instead of just moving them; their height may change 
2979         if we allow random widgets in there, or the theme changes.
2980         (gtk_tree_view_size_allocate): move button size allocation 
2981         above emitting the scroll signals, to ensure a sane state when we
2982         hit user code
2983         (gtk_tree_view_button_release): remove queue_resize after
2984         tree_view_set_size(), set_size() will handle any resize queuing
2985         that's needed
2986         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2987         draw_focus goo
2988         (gtk_tree_view_focus): use gtk_get_current_event() and
2989         gdk_event_get_state()
2990         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2991         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2992         semicolon
2993         (gtk_tree_view_create_button): show the button here
2994         (gtk_tree_view_button_clicked): actually emit the clicked signal
2995         on the column
2996         (_gtk_tree_view_set_size): return right away if the size is
2997         unchanged, as a cheesy optimization
2998         (gtk_tree_view_setup_model): rename set_model_realized to 
2999         setup_model to match the flag that indicates whether we've 
3000         called it
3001         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3002         exist, because set_scroll_adjustment does that and it shouldn't
3003         matter what order you call these in
3004         (gtk_tree_view_get_vadjustment): ditto
3005         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3006         for paranoia
3007         (gtk_tree_view_set_headers_visible): call
3008         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3009         (gtk_tree_view_append_column): clarify whether the return value
3010         is the count of columns before or after, and do the increment 
3011         separately from the return statement so you can tell from the code.
3012         (gtk_tree_view_remove_column): ditto
3013         (gtk_tree_view_insert_column): ditto
3014         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3015         outside the existing range, the docs say that outside-range
3016         columns are allowed, so we handle them as documented. (Presumably
3017         this allows a nice loop with column != NULL as test.)
3018         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3019         mean (left/right/center etc.).
3020         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3021         (gtk_tree_view_expand_row): add docs
3022         (gtk_tree_view_collapse_row): add docs
3023
3024         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3025         function to emit the clicked signal on a column
3026         
3027         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3028         state of an event
3029         (gdk_event_get_time): don't treat GDK_SCROLL 
3030         as a button event, remove default case from switch so gcc 
3031         will whine if we don't explicitly handle all event types
3032
3033         * gtk/gtktreeselection.h: added some FIXME 
3034         
3035         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3036         "columns" to "n_columns" and "column" to "columns" for clarity
3037
3038 2000-12-16  Havoc Pennington  <hp@pobox.com>
3039         
3040         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3041         stuff. This should make e.g. the delete key work again in the
3042         text widget...
3043         (gtk_text_iter_forward_cursor_positions): handle negative count
3044         (gtk_text_iter_backward_cursor_positions): handle negative count
3045         (gtk_text_iter_forward_word_ends): handle negative count
3046         (gtk_text_iter_backward_word_starts): handle negative count
3047
3048         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3049         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3050         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3051         GObject. No doubt will cause breakage.
3052
3053         * demos/gtk-demo/textview.c: remove hacks around
3054         non-GObject-ification of the text objects
3055
3056         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3057         the text tag
3058         
3059 2000-12-14  Havoc Pennington  <hp@pobox.com>
3060
3061         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3062         that we have Xrender
3063
3064 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3065
3066         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3067         Add two virtualized functions gdk_drawable_get_clip_region - to
3068         get the clip region when drawing.
3069         
3070         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3071         use invalidate_region.
3072
3073         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3074         region.
3075
3076         * acconfig.h configure.in: Check for Xft. For now, assume
3077         that if Xft is found, Pango was compiled with Xft support
3078         as well.
3079
3080         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3081         gdk_colormap_query_color().
3082         
3083         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3084         with Xft if appropriate.
3085
3086         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3087         a pangoxft context if we have XFT and the environment
3088         variable GD_USE_XFT is set.
3089         
3090         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3091         and also possibly an XftDraw structure.
3092
3093         * gtk/gtkfontsel.c: Handle the case where the font from the
3094         style doesn't match any of the fonts a bit better.
3095         
3096         * gtk/testgtk.c: Add tabs between directional segments for
3097         hebrew/arabic test. (Not really necessary, just a little
3098         prettier.)
3099
3100 2000-12-14  Havoc Pennington  <hp@redhat.com>
3101
3102         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3103         reading a file
3104
3105 2000-12-14  Havoc Pennington  <hp@redhat.com>
3106
3107         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3108         unused call to get_last_line()
3109
3110         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3111         here until boxed is working (and maybe after that - we should
3112         really not gratuitously break old code)
3113
3114         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3115         specific types for font_desc and tabs args, move them to
3116         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3117         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3118
3119         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3120         use GTK_TYPE_POINTER for signal signatures as a hack-around
3121
3122         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3123         PangoTabArray
3124
3125         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3126         make static
3127         (line_display_index_to_iter): make static
3128
3129         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3130         to marshal a string not a boxed
3131
3132         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3133
3134         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3135         since the UTF-8 isn't validated yet
3136
3137         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3138         lines to end in '\n'
3139         
3140         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3141         forward_to_delimiters, and grapheme boundaries
3142         (gtk_text_view_delete_from_cursor): properly handle non-newline
3143         delimiters, and grapheme boundaries
3144
3145         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3146         to gtk_text_iter_forward_to_delimiters, and make it work properly
3147         if empty lines end with a character other than '\n'
3148
3149         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3150         position
3151
3152 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3153
3154         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3155
3156         * gtk/gtk.def
3157         * gdk/gdk.def: Update.
3158
3159         * gdk/win32/gdkmain-win32.c
3160         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3161         gdkmain-win32.c here.
3162
3163         * gdk/win32/makefile.mingw.in (all): No need to make
3164         gdk-win32res.o here, the makefile one step up will call us to make
3165         it.
3166
3167         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3168         gdkkeys-win32.
3169
3170         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3171
3172         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3173         call to g_source_add().
3174
3175         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3176         leak. Thanks to Andreas Kemnade.
3177
3178 2000-12-13  Havoc Pennington  <hp@pobox.com>
3179
3180         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3181
3182         * gtk/gtktext*.[hc]: update accordingly
3183         
3184 2000-12-13  Havoc Pennington  <hp@pobox.com>
3185
3186         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3187         header file
3188
3189         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3190
3191 2000-12-13  Alex Larsson  <alexl@redhat.com>
3192
3193         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3194         Add support for ps2 intellimouse.
3195
3196         * gdkkeyboard-fb.c:
3197         Move shift-F1 repaint handling to xlate handler only.
3198         
3199         * docs/README.linux-fb:
3200         Add imps2 to docs.
3201         Document the new refresh keys.
3202         
3203 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3204
3205         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3206
3207         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3208         ::position and ::padding.
3209
3210         * gtk/gtkcontainer.c: make ::border_width an INT property.
3211
3212         * gtk/gtkpacker.c: make ::position an INT property.
3213
3214         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3215         guard against NULL h/v scrollbars, since this is used at construction
3216         time.
3217
3218         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3219         internal gtk_clist_constructor().
3220
3221         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3222         gtk_ctree_constructor().
3223
3224         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3225         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3226
3227         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3228         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3229
3230         * gtk/gtkwidget.[hc]:
3231         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3232         and gtk_widget_get().
3233         (gtk_widget_new): use g_object_new_valist().
3234         (gtk_widget_set): use g_object_set_valist().
3235
3236         * gtk/gtkobject.[hc]:
3237         removed gtk_object_arg_get_info(), gtk_object_getv(),
3238         gtk_object_query_args(), gtk_object_newv(),
3239         gtk_object_class_add_signals(),
3240         gtk_object_class_user_signal_new(),
3241         gtk_object_class_user_signal_newv(),
3242         gtk_object_arg_set(), gtk_object_arg_get(),
3243         gtk_object_args_collect(),
3244         gtk_object_default_construct(),
3245         gtk_object_constructed(),
3246         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3247         removed nsignals, signals and n_args members from GtkObjectClass.
3248         (gtk_object_new): use g_object_new_valist().
3249         (gtk_object_set): use g_object_set_valist().
3250         (gtk_object_get): use g_object_get_valist().
3251         
3252         * gtk/gtkcompat.h: define gtk_object_default_construct().
3253         
3254         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3255         g_object_new().
3256
3257         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3258         fucntions, cleaned up method assignments (make sure your structures
3259         are setup properly before calling out). removed all GTK_CONSTRUCTED
3260         hacks ;)
3261
3262 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3263
3264         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3265         off-by-one error in checks. (Dave Lambert)
3266
3267 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3268
3269         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3270         Don't free gdk_fb_keyboard twice.
3271
3272 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3273
3274         * gtk/testgtk.c:
3275         (create_tooltips): 
3276         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3277         use GObject swapped_signal:: properties instead.
3278
3279         * gtk/gtkcellrenderertoggle.c: 
3280         * gtk/gtkcellrenderertextpixbuf.c: 
3281         * gtk/gtkcellrenderertext.c: 
3282         * gtk/gtkcellrendererpixbuf.c: 
3283         * gtk/gtkcellrenderer.c:
3284         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3285         missing warnings for invalid property ids, install properties
3286         with g_object_class_install_property() now.
3287         
3288         * gtk/gtksignal.c:
3289         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3290         
3291 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3292         
3293         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3294         to determine if a window is the focus widget within
3295         its toplevel.
3296
3297         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3298         to be boolean.
3299
3300         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3301         of the case where the container CAN_FOCUS to here instead
3302         of having it in each individual move-the-focus place.
3303
3304         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3305         focusing to be geometric in a much more obvious sense. Arrowing
3306         around is still non-intuitive because it isn't perfect and
3307         because entries, etc, grab the arrow keys, but it at least
3308         usually will do what you expect now.
3309         
3310         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3311         file.
3312
3313         * gtk/gtknotebook.c: Change tabs to be a single item in
3314         the focus chain. Make movement of focus on tabs with arrow
3315         keys wrap around.
3316         
3317         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3318         CHECK_FIND_CHILD macro to give informative error messages
3319         instead of silent returns.
3320
3321         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3322         flag since we handle GdkReturn on the tabs.
3323
3324         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3325         windows rather than sending expose events directly.
3326
3327         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3328         definition for GtkNotebookPage into .c file, since it is private.
3329
3330         * gtk/testgtk.c (create_notebook): Add option for 
3331         testing borderless notebook.
3332
3333         * gtk/testgtk.c (page_switch): Removed egregious poking
3334         around in GTK+ internals.
3335
3336         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3337
3338         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3339         properly through gtk_clist_focus. Make the title headers a
3340         single item in the tab-focus chain, and make left-right wrap
3341         around.
3342
3343         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3344         focus method so that wrapping around works properly.
3345
3346         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3347         that is handled for the widget now. 
3348
3349 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3350
3351         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3352         widgets as TOPLEVEL.
3353
3354         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3355         TOPLEVEL widgets are containers.
3356
3357         * gtk/gtkinvisible.h: Remove useless include.
3358
3359 2000-12-11  Havoc Pennington  <hp@redhat.com>
3360
3361         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3362         Handle chopping off \r\n and 0x2029 in addition to \n before
3363         passing to PangoLayout
3364
3365         * gtk/gtkimcontextsimple.c
3366         (gtk_im_context_simple_get_preedit_string): 
3367         return an empty string if no match is pending
3368
3369         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3370         assertion that the returned preedit string was sane
3371
3372         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3373         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3374         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3375
3376 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3377
3378         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3379         Fix up finalizer to chain to its parent.
3380
3381 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3382
3383         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3384         Clearified the difference between the keyboard types. Wrote a note
3385         about the magic sysrq key to get out of raw mode.
3386
3387 2000-12-09  James Henstridge  <james@daa.com.au>
3388
3389         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3390         member to hold masks for detecting the start of a protocol packet.
3391         (mouse_devs): add packet start masks for ps2 and ms device types.
3392         Left the mask for fidmour blank, as I have no idea what it should
3393         be.
3394         (handle_mouse_io): skip bytes until we get to the start of a
3395         packet.  My Logitech mouse seems to be passing an extra NULL pad
3396         byte, and GPM does a similar thing here.
3397         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3398         this is the ms mouse driver.
3399         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3400         completely broken except for button1.  It was checking the wrong
3401         bit in the packet for the status of the right mouse button, and
3402         wrongly assuming right == button2 rather than 3.  I fixed that and
3403         also added support for middle button (button2).
3404
3405 2000-12-08  Havoc Pennington  <hp@redhat.com>
3406
3407         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3408         that cause a segfault on text insertion
3409
3410         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3411         warning
3412
3413         * gtk/gtktextiter.c (test_log_attrs): use
3414         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3415
3416         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3417         Get log attrs for a line, using a cache stored on the buffer
3418         
3419         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3420         reported by Jeff Franks
3421
3422 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3423
3424         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3425         /dev/ttyS0 -> /dev/mouse
3426
3427 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3428
3429         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3430         Added dummy gdk_fontset_load.
3431
3432 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3433
3434         * docs/README.linux-fb:
3435         * docs/Makefile.am:
3436         Initial GtkFB docs.
3437         
3438         * gdk/linux-fb/Makefile.am:
3439         Define GDK_DATA_PREFIX.
3440
3441         * gdk/linux-fb/gdkmain-fb.c:
3442         Fix typo.
3443         Change default display to /dev/fb0.
3444
3445         * gdk/linux-fb/gdkpango-fb.c:
3446         Add $(prefix)/share/fonts/ to font path.
3447         
3448 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3449
3450         * gdk/linux-fb/gdkkeyboard-fb.c:
3451         New file containing the abstracted keyboard driver. Most code
3452         taken from gdkinput-ps2.c
3453
3454         * gdk/linux-fb/gdkinput-ps2.c:
3455         Removed file.
3456         
3457         * gdk/linux-fb/Makefile.am:
3458         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3459
3460         * gdk/linux-fb/gdkcolor-fb.c:
3461         display->fb was renamed to display->fb_fd.
3462
3463         * gdk/linux-fb/gdkcursor-fb.c:
3464         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3465
3466         * gdk/linux-fb/gdkinput.c:
3467         Moved gdk_input_init here from gdkinput-ps2.c
3468
3469         * gdk/linux-fb/gdkmain-fb.c:
3470         display->fb was renamed to display->fb_fd.
3471         Now the tty and the console is opened here instead
3472         of in the keyboard driver. Also check GDK_VT to see what
3473         tty to open.
3474         Move gdk_beep () here from gdkinput-ps2.c
3475         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3476
3477         * gdk/linux-fb/gdkmouse-fb.c:
3478         Add header.
3479         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3480         Return correct keyboard modifiers.
3481         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3482
3483         * gdk/linux-fb/gdkprivate-fb.h:
3484         Add tty and vt info to display.
3485         Add orignal modeinfo storage to display
3486         Update global functions
3487
3488         * gdk/linux-fb/gdkwindow-fb.c:
3489         Added gdk_fb_window_find_focus().
3490         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3491
3492 2000-12-07  Havoc Pennington  <hp@pobox.com>
3493
3494         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3495         function, noticed by Alex
3496
3497 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3498
3499         * configure.in: Detect freetype properly
3500
3501         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3502         above.
3503
3504 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3505
3506         * gdk/linux-fb/Makefile.am:
3507         Add gdkmouse-fb.c
3508         
3509         * gdk/linux-fb/gdkmouse-fb.c:
3510         New file. Abstracted the mouse drivers a bit.
3511
3512         * gdk/linux-fb/gdkcursor-fb.c:
3513         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3514
3515         * gdk/linux-fb/gdkinput-ps2.c:
3516         Removed old mouse handling code. Moved cursor handling code
3517         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3518         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3519         gdk_mouse_get_info.
3520
3521         * gdk/linux-fb/gdkmain-fb.c:
3522         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3523
3524         * gdk/linux-fb/gdkprivate-fb.h:
3525         Removed public gdk_fb_find_common_ancestor, added and renamed
3526         functions for the new mouse handling code.
3527
3528         * gdk/linux-fb/gdkwindow-fb.c:
3529         Moved gdk_fb_window_send_crossing_events here. added global
3530         variable gdk_fb_window_containing_pointer. made
3531         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3532         renamed to gdk_mouse_get_info.
3533
3534 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3535
3536         * gdk/linux-fb/gdkevents-fb.c:
3537         Update to match latest gmain/gsource changes.
3538
3539         * gdk/linux-fb/gdkinput-ps2.c:
3540         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3541         it links. Will be implemented later.
3542
3543 2000-12-03  Havoc Pennington  <hp@pobox.com>
3544
3545         * gdk/Makefile.am: add gdkkeys.[hc]
3546
3547         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3548         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3549
3550         * acconfig.h, configure.in: add checks and command line options
3551         for XKB
3552
3553         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3554         
3555         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3556         and group in the key event
3557
3558         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3559         field with the low-level hardware key code, and a group
3560         field with the keyboard group
3561
3562         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3563         and declare a couple globals used for keymap handling
3564         
3565         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3566         hold down Shift-Control and type a hex number to get a Unicode 
3567         character corresponding to the hex number
3568         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3569         (return bytes not chars)
3570
3571 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3572
3573         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3574         to avoid waste on 64-bit platforms.
3575
3576 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3577
3578         * INSTALL: Fix link to PNG home, remove reference
3579         to fribidi.
3580
3581         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3582         
3583         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3584         tested.)
3585
3586         * gtk/gtkcheckmenuitem.c: Permanently turn on
3587         always_show_toggle.
3588
3589         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3590         be NULL. (Vladimir Klebanov, #26545)
3591
3592         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3593         some signed/unsigned comparison problems. (#6510,
3594         David Kaelbling)
3595
3596         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3597         return type to boolean (Oskar Liljeblad, #18648)
3598
3599 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3600
3601         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3602         Remove bogus colormap setting.
3603
3604 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3605
3606         * gdk/linux-fb/gdkcolor-fb.c:
3607         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3608
3609         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3610         Must set colormap.
3611         
3612 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3613
3614         * docs/tutorial/gtk-tut.sgml: DND updates
3615
3616 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3617
3618         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3619         Remove old debug g_warning().
3620         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3621         or an implementation, just pass the implementation to draw_drawable_2.
3622         
3623         * gdk/linux-fb/gdkprivate-fb.h:
3624         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3625
3626         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3627         clear and invalidate area when window is destroyed.
3628         (send_map_events): Remove old commented out code.
3629
3630 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3631
3632         * gdk/linux-fb/gdkpango-fb.c:
3633         Use italic instead of oblique in font aliases.
3634         
3635         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3636         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3637         other unsupported functions.
3638
3639 2000-12-04  Havoc Pennington  <hp@redhat.com>
3640
3641         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3642
3643         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3644
3645         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3646
3647         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3648         hack to avoid infinite loops (synthetic expose event) - 
3649         Owen has more appropriate fixes in a branch he'll check in later.
3650
3651         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3652         separator, CR, and CRLF as line ends
3653
3654         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3655         into lines using pango_find_paragraph_boundary(); other bits of
3656         the widget are still going to be broken if the boundary isn't '\n'
3657         though
3658
3659 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3660
3661         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3662         multiply.
3663
3664         * gdk/linux-fb/gdkpango-fb.c:
3665         Copied some 26.6 scaling macros from pango to clean up the rounding.
3666         (pango_fb_font_get_glyph_info): Correct sign on x value.
3667
3668         * gdk/linux-fb/gdkprivate-fb.h:
3669         Removed unreferenced external functions.
3670
3671         * modules/linux-fb/Makefile.am: Use ` instead of '.
3672
3673         * modules/linux-fb/basic.c:
3674         Remove dead code. In particular the dummy lang engine which broke all
3675         pango layouts in GtkFB. Don't include tables-big.i anymore.
3676
3677         * modules/linux-fb/tables-big.i:
3678         Upgrade to latest version from pango. Left for reference, basic_ranges
3679         moved to basic.c.
3680         
3681 2000-12-04  Havoc Pennington  <hp@redhat.com>
3682
3683         Fix bugs Alex found:
3684         
3685         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3686         to "draw"
3687
3688         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3689
3690         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3691
3692         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3693         implementation in here, apparently the expose() implementation was
3694         dead code.
3695
3696 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3697
3698         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3699         Return positive descent.
3700
3701 2000-12-02  Havoc Pennington  <hp@pobox.com>
3702
3703         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3704         method and signal
3705         
3706         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3707         calls gdk_window_process_updates() to push the exposes through
3708         (gtk_widget_class_init): No more draw signal, no
3709         gtk_widget_real_draw()  
3710         
3711         * gtk/gtkbin.c (gtk_bin_draw): remove
3712
3713         * gtk/gtkbox.c (gtk_box_draw): remove
3714
3715         * gtk/gtkbutton.c (gtk_button_draw): remove
3716
3717         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3718
3719         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3720
3721         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3722
3723         * gtk/gtkclist.c (gtk_clist_draw): remove
3724
3725         * gtk/gtkentry.c (gtk_entry_draw): remove
3726
3727         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3728
3729         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3730
3731         * gtk/gtkframe.c (gtk_frame_draw): remove
3732
3733         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3734
3735         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3736
3737         * gtk/gtklayout.c (gtk_layout_draw): remove
3738
3739         * gtk/gtklist.c (gtk_list_draw): remove
3740
3741         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3742
3743         * gtk/gtkmenu.c (gtk_menu_draw): remove
3744
3745         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3746
3747         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3748
3749         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3750
3751         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3752
3753         * gtk/gtkpacker.c (gtk_packer_draw): remove
3754
3755         * gtk/gtkrange.c (gtk_range_draw): remove
3756
3757         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3758
3759         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3760
3761         * gtk/gtktable.c (gtk_table_draw): remove
3762
3763         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3764
3765         * gtk/gtktext.c (gtk_text_draw): remove
3766
3767         * gtk/gtktextview.c (gtk_text_view_draw): remove
3768
3769         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3770
3771         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3772
3773         * gtk/gtktree.c (gtk_tree_draw): remove
3774
3775         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3776
3777         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3778
3779         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3780
3781         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3782
3783         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3784
3785         * gtk/gtkwindow.c (gtk_window_draw): remove
3786
3787 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3788
3789         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3790         a GtkToggleButton is both insensitive and active, it was being
3791         drawn by the GtkButton draw handler which doesn't check the
3792         state. Now it's calling gtk_toggle_button_paint instead.
3793         
3794 2000-12-01  Havoc Pennington  <hp@redhat.com>
3795
3796         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3797         dangling pointers to the appearance attributes from the 
3798         line display
3799
3800         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3801         width/height to mean "full width/height of drawable"
3802
3803         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3804         click to select word/line
3805         
3806         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3807         when getting log attrs. Get a slice, so that pixmaps and stuff
3808         are properly handled.
3809
3810         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3811         paste into the selection (replaces selection now, previously
3812         crashed or added to selection). Reveals longstanding btree bug -
3813         select multiple lines, middle-click on the selection, boom. This
3814         isn't related to my changes though.
3815
3816         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3817         PangoLogAttrs changes
3818         (gtk_entry_move_backward_word): ditto
3819
3820         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3821         functions return bool whether the iter moved onto a
3822         dereferenceable position.
3823  
3824         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3825         functions for motion in terms of display lines.
3826
3827         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3828         get the buffer a mark is inside
3829         
3830 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3831
3832         * gdk/linux-fb/Makefile.am:
3833         * modules/linux-fb/Makefile.am:
3834         Freetype 2 final uses freetype-config
3835
3836         * gdk/linux-fb/gdkpango-fb.c:
3837         Upgrade to use Freetype 2 final.
3838         More flexible support for font aliases, this also fixes a bug with
3839         GtkFontSelector, as the aliases must be visible in the font/family list,
3840         or GtkFontSelector reads uninitialized memory.
3841
3842 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3843
3844         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3845         XGetIMValues to properly terminate variable argument list, and do
3846         NULL return check for ic_values and xim_styles.
3847
3848         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
3849         Restore preedit state after XmbResetIC().
3850         
3851         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
3852         XvaCreateNestedList() should take XvaNestedList, but not
3853         XvaNestedList*.
3854
3855         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
3856         preedit_draw_callback, preedit_caret_callback): Match
3857         "preedit-changed" signal name to "preedit_changed" to be
3858         consistent to the spec.
3859
3860         * gtk/gtkimcontextsimple.c (check_table):
3861         Match "preedit-changed" to "preedit_changed" to be consistent
3862         to the spec.
3863
3864 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
3865
3866         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
3867         gc->clip_region == NULL>
3868
3869 2000-11-30  Tor Lillqvist  <tml@iki.fi>
3870
3871         Changes by Hans Breuer:
3872         
3873         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3874         Dont't use negative width and height as max_hints. This fixes
3875         Owen's recent testgtk changes for win32.
3876
3877         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
3878         gdk_win32_hdc_release): These are exported and may be called with
3879         other drawable types than our GdkDrawableImplWin32 (?).
3880
3881         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
3882         so always #define USE_BACKING_STORE.
3883
3884         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
3885         of printf for debugging output.
3886
3887         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
3888         
3889         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
3890
3891         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
3892         declaration.
3893
3894         * gtk/gtktexttypes.h: Ditto.
3895
3896         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
3897         (GDK_VoidSymbol) also if in case of arg check failure.
3898
3899         * gtk/gtkimcontextsimple.c
3900         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
3901         position to the pointer, but to the variable it points to.
3902
3903         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
3904
3905         * gtk/gtk.def: Updates.
3906
3907 2000-11-29  Elliot Lee  <sopwith@redhat.com>
3908
3909         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
3910         GTK_TYPE_TREE_MODEL.
3911
3912 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3913
3914         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
3915         Set the size of the font from the description.
3916         (gdk_text_width): Gross hack that calculates the width
3917         of text by text_length * size/2. This is necessary because
3918         GtkLabel does some ugly gtk_string_width call to calculate
3919         an good size.
3920         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
3921
3922 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
3923
3924         * docs/tutorial/gtk-tut.sgml: DND updates
3925
3926 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3927
3928         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3929         If you pass width or height == 0 to gdk_window_clear_area they
3930         should be calculated from the window size.
3931
3932 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3933
3934         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3935         a grab, but no grab-cursor, use the cursor from the grabbed
3936         window. (gdk_fb_window_send_crossing_events): Send normal
3937         enter/leave notifications if grab and owner_events == TRUE.
3938
3939 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3940
3941         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3942         Do implicit button grabs, even if the window doesn't
3943         want the event.
3944         (gdk_fb_window_send_crossing_events): If there is a
3945         grab, only the grabbed window gets normal enter/leave
3946         notifications. On ungrab go from grabbed window to current.
3947         Don't send any notification to b when propagating from c -> b.
3948         If setting a grab on window, don't set prev_window.
3949         (handle_mouse_input): Send enter/leave events to the window the
3950         mouse is over, not the grabbed one.
3951         
3952 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3953
3954         * gdk/gdkregion-generic.c: Zap warning.
3955         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3956         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3957
3958 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3959
3960         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3961         The cursor should be hidden if it is part of either the
3962         source or destination region. Not only if it is in both.
3963         (gdk_window_set_transient_for): Silence warnings.
3964
3965 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3966
3967         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3968         The default mode in X is Pie Arcs, therefore that is
3969         what Gtk+ uses.
3970
3971 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3972
3973         * gdk/linux-fb/gdkinput-ps2.c:
3974         Implement correct EnterNotify/LeaveNotify:
3975         (gdk_fb_window_send_crossing_events): New function that sends
3976         all GdkCrossingEvents from the last mouse-window to the specified
3977         destination.
3978         (gdk_fb_window_visibility_crossing): Removed function.
3979         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3980         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3981         instead of gdk_window_get_pointer() for better readability.
3982
3983         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3984         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3985
3986         * gdk/linux-fb/gdkprivate-fb.h:
3987         removed gdk_fb_window_visibility_crossing, added
3988         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3989
3990         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3991         New function that finds the least common ancestor of two windows.
3992         (gdk_window_show, gdk_window_hide):
3993         Use gdk_fb_window_send_crossing_events.
3994         (gdk_fb_window_move_resize): Send configure events to toplevel
3995         windows. Use gdk_fb_window_send_crossing_events.
3996
3997 2000-11-27  Havoc Pennington  <hp@redhat.com>
3998
3999         * gtk/gtkprivate.h (enum): Remove a trailing comma
4000
4001 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4002
4003         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4004         the "changed" callback of the adjustment.  We need to redraw the
4005         spin button's arrows when the adjustment's range changes.
4006         (adjustment_changed_cb): Draw the arrows.
4007         (gtk_spin_button_value_changed): Draw the arrows.
4008
4009 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4010
4011         * gdk/linux-fb/gdkselection-fb.c:
4012         Initial selection implementation.
4013
4014         * gtk/gtkselection.c:
4015         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4016         requestor in gtk_selection_request.
4017         
4018         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4019         Added gdk_selection_property atom.
4020
4021         * gdk/linux-fb/gdkprivate-fb.h:
4022         Export _gdk_selection_window_destroyed.
4023         Removed mask_off_x/y from GdkCursorPrivateFB.
4024         Removed hbearing, added top, left to PangoFBGlyphInfo.
4025
4026         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4027         Call _gdk_selection_window_destroyed
4028         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4029         the root window has been created.
4030         (static_dx_hack, static_dy_hack, compare_draw_rects,
4031         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4032         in region. They are already sorted. Instead just traverse them in
4033         reverse if draw_direction < 0.
4034         
4035         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4036         Double-clicks must be sent after the normal button_press.
4037         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4038         
4039         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4040         Pass _gdk_fb_screen_gc instead of NULL.
4041
4042         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4043         Initialize gdk_selection_property.
4044         (gdk_event_make): Remove unused code.
4045
4046         * gdk/linux-fb/gdkcursor-fb.c:
4047         Make the pixmap for the cursor the same size as the mask. Also remove
4048         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4049         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4050         Now the whole cursor is visible.
4051
4052         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4053         Fix bug where xdest+height instead of ydest+height was used
4054         to calculate if the source and dest overlapped. This fixes the
4055         redraw bug when the main window in testgtk was scrolled when
4056         partially covered by a tall window.
4057         Copy rectangles in region in order depending on draw_direction.
4058         Also moved the draw_direction flipping of start_y and end_y into
4059         the gc functions, as this might not be what all of them want.
4060         (gdk_fb_draw_lines): Support dashed lines.
4061         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4062         so that the text is positioned correctly (was 1 pixel high).
4063
4064         gdk/linux-fb/gdkgc-fb.c:
4065         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4066         all lines were drawn a pixel to short. Also checked the default of
4067         the rest of the values, and they're the same as X now.
4068
4069         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4070         Clean up pixel positioning of the glyphs. Just use bgy->top and
4071         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4072         to all divisions to get correct rounding behaviour.
4073
4074         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4075         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4076         Moved start_y/end_y flip into draw_drawable implementations.
4077         Flip also x rendering when draw_direction < 0.
4078         Remove unneccesary multiply with draw_direction.
4079
4080 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4081
4082         * docs/tutorial/gtk-tut.sgml:
4083           - get rid of gtk_toggle_button_toggled FUD
4084           - start DND section - needs work - based on:
4085                 http://wolfpack.twu.net/docs/gtkdnd/
4086
4087 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4088
4089         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4090         Correct calculation of font metrics. Now GtkEntrys have sane
4091         size.
4092
4093 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4094
4095         * gdk/gdktypes.h:
4096         Add new type GdkSpan
4097         
4098         * docs/reference/gdk/gdk-sections.txt,
4099         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4100         gdk/gdkregion.h:
4101         Implement and document gdk_region_spans_intersect_foreach.
4102
4103         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4104         Add new file gdkrender-fb.c which contains all core
4105         rendering code.
4106         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4107         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4108         (optimized rectangle fillers).
4109
4110         * gdk/linux-fb/gdkdrawable-fb2.c:
4111         Move all rendering code to gdkrender-fb.c.
4112         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4113         Use the new span intersection functions in gdk_fb_fill_spans.
4114         gdk_fb_draw_rectangle() clips filled rectangles and calls
4115         gc->fill_rectangle with the result.
4116         gdk_fb_fill_spans() gets extra argument "sorted".
4117
4118         * gdk/linux-fb/gdkevents-fb.c:
4119         Remove unused includes and defines.
4120         New function gdk_fb_get_time() to get correct time for events.
4121
4122         * gdk/linux-fb/gdkinput-ps2.c:
4123         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4124         Make sure to set the time of all events.
4125
4126         * gdk/linux-fb/gdkmain-fb.c:
4127         Use gdk_fb_get_time ().
4128
4129         * gdk/linux-fb/gdkprivate-fb.h:
4130         New virtual GC calls: fill_span & fill_rectangle.
4131         Export gdk_fb_get_time().
4132         gdk_fb_fill_spans() gets extra argument "sorted".
4133
4134         * gdk/linux-fb/mi*.c:
4135         Use GdkSpan instead of GdkRectangle.
4136         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4137         from XFree 4 source)
4138         
4139 2000-11-22    <jrb@redhat.com>
4140
4141         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4142         reversing the order in an if statement will do.  Doing so managed
4143         to make the treemodelsort half work.  Other half will follow after
4144         I get the insert function fully fixed.
4145
4146 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4147         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4148         more than 2 bits. Besides, I need to implement an evil hack. :)
4149
4150 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4151
4152         * docs/tutorial/gtk-tut.sgml: minor corrections
4153
4154 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4155         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4156           convert to and from relative path's and iters.
4157
4158         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4159           testing sorting functions a bit better.  Currently broken -- will
4160           fix in morning.
4161
4162 2000-11-20  Havoc Pennington  <hp@redhat.com>
4163
4164         * gtk/gtkwidget.c: Documented a bunch of functions in here
4165         (gtk_widget_realize): Warn if you try to realize
4166         a widget with no parent that isn't a toplevel
4167         (gtk_widget_intersect): return a gboolean
4168
4169 2000-11-20  Havoc Pennington  <hp@redhat.com>
4170
4171         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4172         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4173         scrolling to be implemented in GDK to finish. Also, right now
4174         we just size_allocate all children on every layout change,
4175         which is pretty lame. Test commented out of testtext.c, 
4176         until it works better.
4177
4178 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4179
4180         * gdk/linux-fb/gdkdrawable-fb2.c:
4181         Removed unused arguments from gdk_fb_drawable_get_pixel().
4182
4183         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4184         Renamed fidur specific mouse packet data in MouseDevice to
4185         generic. Used it in ps2 mouse handling code to avoid blocking
4186         reads.
4187
4188 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4189
4190         * demos/gtk-demo/main.c: Changed to have the list become
4191         non-italic when the demo window is destroyed through an external
4192         event (like a close button).  Doing so found three bugs in the
4193         widget.
4194
4195         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4196
4197         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4198         we actually set the cell.
4199
4200         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4201
4202         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4203         free a leaked path.  Thanks memprof.
4204
4205 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4206
4207         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4208         off-by-one error when destroying allocated segments
4209         on failure. (Elliot)
4210
4211 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4212
4213         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4214         memleaks found by Evan Martin.
4215
4216 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4217
4218         * Released 1.3.2
4219         
4220         * NEWS: Updates for 1.3.2
4221
4222 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4223
4224         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4225         but in general for window system specific events.
4226
4227         * gtk/gtk.def
4228         * gtk/makefile.mingw.in
4229         * gtk/makefile.msc.in: Update.
4230         
4231         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4232
4233 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4234
4235         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4236         distribute gtk.immodules.
4237
4238         * gtk/Makefile.am (install-data-local): Don't install the
4239         gtk.immodules file created for the uninstalled modules;
4240         instead run gtk-query-immodules after install
4241
4242 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4243
4244         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4245         -rpath to the right install location.
4246
4247         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4248         -export-dynamic.
4249
4250         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4251         properly.
4252
4253 2000-11-15  Havoc Pennington  <hp@pobox.com>
4254
4255         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4256         patch from Mikael Hermansson to temporarily stop blinking while
4257         the user is using the keyboard to type or navigate. 
4258
4259         Also, when blinking, stay on for longer than we stay off. Also,
4260         return from start_cursor_blink if !cursor_visible, to save
4261         checking that flag all over the place before we call
4262         start_cursor_blink.
4263
4264 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4265
4266         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4267         only contain a "fontset" line, which is now ignored.
4268
4269         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4270         double-click-to-select-word work.
4271         
4272 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4273
4274         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4275         Don't move back one char when we are actually at the end of the 
4276         paragraph.
4277
4278 2000-11-15  Robert Brady  <robert@suse.co.uk>
4279
4280         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4281         'o' < 'p'.
4282         
4283         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4284         bind_textdomain_codeset.
4285
4286         (gtk_init_check): Make the warning about translating default:LTR
4287         sterner.
4288         
4289 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4290
4291         * **/Makefile.am : remove unecessary rules for win32-specific
4292         config-substituted targets. If you want these rules, use
4293         --enable-maintainer-mode (called automatically by autogen.sh).
4294         Stops a lot of unneccessary make-time warnings.
4295
4296         * gtk/gtktext{layout,display}.c: Factor in total width as
4297         well as screen when figuring alignment for word-wrap as well as
4298         no wrap; this is necessary to handle lines that cannot be wrapped
4299         at all.
4300
4301 2000-11-15  Havoc Pennington  <hp@redhat.com>
4302
4303         * gtk/testtext.c: Implement essential color cycling feature
4304
4305 2000-11-15  Havoc Pennington  <hp@redhat.com>
4306
4307         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4308         when we invalidate the main window.
4309
4310         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4311         GtkTextView will now invalidate the side windows for us when text
4312         changes.
4313
4314 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4315
4316         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4317         unconditionally, since we may need to update the horizontal
4318         scrollbars even if the height didn't change.
4319
4320         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4321         the extra attrs, since some of them affect size.
4322
4323         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4324         x_offset correctly.
4325
4326 2000-11-15  Havoc Pennington  <hp@redhat.com>
4327
4328         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4329         don't move the first line out into the margin, instead move the
4330         whole paragraph in order to make space for the first line within 
4331         the margin
4332
4333 2000-11-15  Havoc Pennington  <hp@redhat.com>
4334
4335         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4336         xoffset in addition to yoffset, so horizontal scrolling doesn't
4337         break redraws
4338
4339 2000-11-15  Havoc Pennington  <hp@redhat.com>
4340
4341         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4342         from the cursor
4343         (render_layout_line): fix reversed test that caused weird
4344         underlines to get drawn
4345
4346 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4347
4348         * gdk/linux-fb/gdkprivate-fb.h:
4349         Fix debug macros.
4350         
4351 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4352
4353         * gdk/linux-fb/gdkprivate-fb.h:
4354         Added virtual functions set_pixel, get_color,
4355         fill_span and draw_drawable to the GC.
4356         Added global _gdk_fb_screen_gc to use instead of
4357         NULL when drawing to the screen.
4358         Added _gdk_fb_gc_calc_state() prototype.
4359
4360         * gdk/linux-fb/gdkgc-fb.c:
4361         Call _gdk_fb_gc_calc_state() on any gc state change.
4362
4363         * gdk/linux-fb/gdkglobals-fb.c:
4364         Add _gdk_fb_screen_gc
4365                 
4366         * gdk/linux-fb/gdkdrawable-fb2.c:
4367         _gdk_fb_gc_calc_state() calculates best functions
4368         for the GC state and depth.
4369         Moved bpp specialized code to separate functions.
4370         Added optimized 24 bpp AA draw_drawable.
4371
4372         * gdk/linux-fb/gdkevents-fb.c:
4373         Silence gcc warning.
4374
4375         * gdk/linux-fb/gdkimage-fb.c:
4376         Use _gdk_fb_screen_gc
4377
4378         * gdk/linux-fb/gdkwindow-fb.c:
4379         Init and use _gdk_fb_screen_gc
4380
4381         * gdk/linux-fb/mitypes.h:
4382         Remove unused types.
4383
4384 2000-11-14  Havoc Pennington  <hp@pobox.com>
4385
4386         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4387         to pixels
4388
4389 2000-11-14  Havoc Pennington  <hp@pobox.com>
4390
4391         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4392
4393         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4394         unknown char, no real reason we were using a variable. 
4395         Remove gtk_text_unknown_char variable. Fix all the text widget
4396         files accordingly.
4397
4398         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4399         since the Unicode spec seems to prefer that character for our
4400         purposes.
4401
4402 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4403
4404         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4405         value of g_getenv() isn't freeable, so g_strdup it.
4406
4407         * modules/input/inuktitut.c: Inuktitut input method.
4408
4409         * modules/input/Makefile.am: Build this.
4410         
4411 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4412
4413         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4414         of gtk programs.
4415
4416 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4417
4418         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4419         reversed > that was causing Home to go to end of previous line.
4420
4421         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4422         modified-keypresses (leave for bindings.)
4423
4424         * modules/input/Makefile.am: Remove useless -export-dynamic
4425         from module LDFLAGS.
4426
4427 2000-11-14  Havoc Pennington  <hp@redhat.com>
4428
4429         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4430         higher.
4431
4432         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4433         account. Also, render rise, underline, background, etc. for
4434         pixbufs as well as text. Also, draw underlines one pixel higher.
4435
4436         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4437         PangoAttribute for the rise, so it gets drawn properly. Also,
4438         add the GtkTextAppearance attribute for pixbuf/widget segments
4439         as well; we should go ahead and have rise, underline, background,
4440         stipple work for those
4441
4442         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4443         Pango
4444
4445 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4446
4447         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4448
4449         * gtk/gtk.def: Update.
4450
4451         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4452         included.
4453         (gtk_rc_get_im_module_file): Use run-time installation directory
4454         on Win32.
4455
4456         * gdk/win32/rc/gdk.rc: Remove.
4457         * gdk/win32/rc/gdk.rc.in: New file.
4458         * gdk/win32/rc/Makefile.am: New file
4459         * gdk/win32/Makefile.am: Corresponding changes.
4460
4461         * gtk/gtk.rc: Remove.
4462         * gtk/gtk-win32.rc.in: New file.
4463         * gtk/Makefile.am: Corresponding changes.
4464
4465         * configure.in: Corresponding changes.
4466
4467         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4468         has a built gtkcompat.h. Developers using CVS code on Win32 can
4469         hand-edit it from gtkcompat.h.in.
4470
4471         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4472         gtkcompat.h from gtkcompat.h.win32.
4473
4474 2000-11-14  Havoc Pennington  <hp@redhat.com>
4475
4476         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4477         to default to GDK_ACTION_MOVE if the drag is within a single
4478         widget. Defaults to GDK_ACTION_COPY between widgets.
4479
4480 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4481
4482         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4483
4484         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4485
4486         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4487         srcdir != builddir
4488
4489         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4490
4491         * configure.in (GTK_VERSION): Up to 1.3.2
4492
4493         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4494         gtkimcontextxim.h
4495
4496         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4497         missing doc comment.
4498
4499 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4500
4501         * modules/linux-fb/basic.c:
4502         Use the glib iconv wrappers.
4503
4504 2000-11-13  Havoc Pennington  <hp@pobox.com>
4505
4506         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4507         still more bugs.
4508
4509         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4510         scroll the GdkWindows before realization.
4511
4512 2000-11-13  Havoc Pennington  <hp@redhat.com>
4513
4514         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4515         where GC didn't always get updated properly
4516
4517         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4518         of fonts instead of setting the entire font
4519
4520         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4521         setting entire font
4522
4523         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4524
4525         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4526         a bunch of individually-settable font attributes. You can still 
4527         use the "font" and "font_desc" args, they just set all the font
4528         attributes at once.
4529
4530 2000-11-13 Elliot Lee <sopwith@redhat.com>
4531
4532         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4533
4534 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4535
4536         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4537         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4538
4539         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4540         work better.
4541
4542 2000-11-13  Havoc Pennington  <hp@redhat.com>
4543
4544         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4545         the module file.
4546
4547         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4548         dest->language
4549
4550         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4551         settings
4552
4553         * gtk/gtktextview.c: Implement object args and setters/getters for
4554         all the aspects of the GtkTextAttributes that are not set from
4555         GtkWidget attributes. This is spacing, justification, margins,
4556         etc.
4557
4558         (gtk_text_view_set_arg)
4559         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4560         args
4561         (gtk_text_view_class_init): Add args for justify, left_margin,
4562         right_margin, indent, and tabs
4563         
4564
4565         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4566         attribute properly
4567
4568         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4569         replace with indent attribute
4570
4571         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4572         PANGO_SCALE
4573
4574         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4575         rearranging code to do that
4576         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4577         i.e. don't subtract the top_margin first, just to keep
4578         all margin-futzing in one place.
4579
4580         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4581
4582         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4583         special case of last line, Pango now handles this itself.
4584         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4585         Y coordinate
4586         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4587         (find_display_line_above): wasn't moving the byte index as it
4588         iterated over lines, so always returned byte 0. Also, port to use
4589         PangoLayoutIter.
4590         (find_display_line_below): same problem as
4591         find_display_line_above. Also, port to use PangoLayoutIter.
4592
4593 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4594
4595         * gdk/linux-fb/*.[ch]:
4596         Massive reindent to gtk+ standard. My hands hurt.
4597
4598         * gdk/linux-fb/gdkcolor-fb.c:
4599         Move GdkColorPrivateFB from inherited to windowing_data
4600
4601         * gdk/linux-fb/gdkcursor-fb.c:
4602         _gdk_cursor_new_from_pixmap made static
4603
4604         * gdk/linux-fb/gdkdnd-fb.c:
4605         GdkDragContextPrivate moved to windowing_data
4606
4607         * gdk/linux-fb/gdkdrawable-fb2.c:
4608         Removed endian.h, use glib endianness macros instead
4609         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4610         and GDK_DRAWABLE_IMPL_FBDATA
4611
4612         * gdk/linux-fb/gdkfont-fb.c:
4613         Add empty gdk_font_load(). Needed for linking of Gtk+.
4614
4615         * gdk/linux-fb/gdkimage-fb.c:
4616         Removed endian.h, use glib endianness macros instead
4617         Moved GdkImagePrivateFB to windowing_data
4618         gdk_image_new_bitmap didn't always allocate enough
4619         memory.
4620
4621         * gdk/linux-fb/gdkinput-ps2.c:
4622         Added semi-working support for MS serial mice.
4623
4624         * gdk/linux-fb/gdkprivate-fb.h:
4625         s/GdkWindowPrivate/GdkWindowObject/
4626         Removed GdkWindowPrivate typedef
4627         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4628         Removed GDK_DRAWABLE_P
4629         Move GdkColorPrivateFB from inherited to windowing_data
4630         Moved GdkImagePrivateFB to windowing_data
4631
4632         * gdk/linux-fb/gdkvisual-fb.c:
4633         Removed some unused debug code.
4634
4635         * gdk/linux-fb/gdkwindow-fb.c:
4636         Use stock cursors instead of including X headers.
4637         s/GdkWindowPrivate/GdkWindowObject/
4638
4639         * gdk/linux-fb/mitypes.h:
4640         Removed unused types.
4641
4642         * modules/linux-fb/basic.c:
4643         Use the pango fribidi wrappers.
4644
4645 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4646
4647         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4648         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4649         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4650         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4651         GEqualFunc where applicable.
4652         
4653         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4654         pango_font_description_equal as changed in pango.
4655         
4656         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4657
4658         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4659
4660         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4661
4662         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4663
4664         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4665
4666         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4667
4668         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4669         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4670
4671         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4672         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4673
4674 2000-11-12  Havoc Pennington  <hp@pobox.com>
4675
4676         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4677         dir to datadir/gtk+-2.0/demo
4678
4679         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4680         sorts of text widget and Pango font bugs. Urgh.
4681
4682         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4683
4684         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4685         tree that you should double click to see the demo. Fix 
4686         types of variables to reflect changed return values from 
4687         GtkTreeStore and GtkTreeViewColumn constructors.
4688
4689         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4690         newly-created buffer to prepare for GObject semantics
4691
4692         * gtk/testtext.c: don't leak the buffer with GObject semantics
4693
4694         * gtk/testtextbuffer.c: ditto
4695         
4696 2000-11-12  Havoc Pennington  <hp@pobox.com>
4697
4698         Rename this testgtk to gtk-demo to avoid confusion, and 
4699         install it so people can use it as a supplement to 
4700         the documentation.
4701         
4702         * demos/gtk-demo: Moved from demos/testgtk
4703
4704         * demos/testgtk: Removed
4705
4706         * configure.in: make Makefile in gtk-demo
4707         
4708         * demos/gtk-demo/Makefile.am: Install sample source to 
4709         datadir/gtk-demo (maybe there's a better place?), and 
4710         rename the binary to gtk-demo
4711         
4712         * demos/gtk-demo/main.c (load_file): Load installed sample
4713         source if source isn't found in pwd.
4714
4715 2000-11-09  Havoc Pennington  <hp@pobox.com>
4716
4717         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4718         argument to set the char displayed when visibility == FALSE
4719         (gtk_entry_create_layout): If !entry->visible, replace 
4720         all chars with the "invisible char"
4721
4722         * gtk/testgtk.c: Test the invisible_char deal
4723         
4724 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4725
4726         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4727         can't get a native font in the right encoding.
4728
4729 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4730
4731         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4732         respectively.
4733
4734 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4735
4736         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4737         Fix warning when moving between paragraphs.
4738
4739         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4740         delete => delete_from_cursor, insert => insert_at_cursor
4741
4742 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4743
4744         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4745
4746         * modules/input/imthai-broken.c: A Thai input method for use if
4747         Thai keys are really generating Latin1 keysyms.
4748
4749         * modules/input/Makefile.am: Build these.
4750
4751 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4752
4753         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4754         g_filename_{to,from}_utf8 now takes an extra parameter.
4755
4756         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4757         strftime into UTF-8.
4758
4759         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4760         calendars.
4761
4762         (gtk_calendar_paint_day_names): Draw day names in the right 
4763         place.
4764         
4765 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4766
4767         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4768         problem with using result of g_get_charset() backwards -
4769         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4770
4771         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4772         negative min_width/height and max_width/height to
4773         mean "requisition"; this allows setting a window
4774         to be user-resizable in only one direction easily.
4775
4776         * gtk/testgtk.c (create_main_window): Remove hard-coded
4777         usize - set a default size in the vertical direction.
4778
4779 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4780
4781         * gtk/gtkrange.c: Add some missing casts. Support 
4782         2 and 3 button clicks on the arrows to mean 
4783         "move by pages" and "jump to end". (Like gtkspinbutton)
4784
4785 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4786
4787         * gdk/win32/makefile.msc : reflect build module changes
4788
4789         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4790         from GdkPixmap*, cast implementation member instead.
4791
4792         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4793         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4794         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4795         more Gdi functions return value checking. 
4796         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4797         GdkImagePrivateWin32 *.
4798
4799         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4800         menus useable again. Add #pragma message to keep reminded on this issue.
4801         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4802         windows. This allows to enable backing store on Win32!
4803
4804         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4805         in drawable is of impl type. Correct specific type checks appropriate.
4806  
4807         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4808         GDK_WINDOW_DESTROYED before allocating new resources.
4809
4810         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4811
4812         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4813         (gdk_window_foreign_new) initialize parent handle.
4814         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4815
4816         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4817         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4818         problems (e.g. main buttons in testgtk). 
4819
4820 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4821
4822         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4823         gtk_widget_activate for GDK_Return.
4824
4825         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4826         of preedit cursor position.
4827
4828 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4829
4830         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4831         static.
4832
4833 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4834
4835         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4836         out support for multiple locales; that simple doesn't
4837         work reliably with current Xlib
4838
4839         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4840         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4841         Add support for positioning the cursor within the preedit string.
4842
4843 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4844
4845         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
4846         at XIM input method module.
4847
4848         * gtk/gtktextview.c: Check for bindings after passing
4849         events to im context filter.
4850
4851 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
4852
4853         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
4854         empty attribute lists properly.
4855
4856 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
4857
4858         * gtk/queryimmodules.c (main): Return non-zero exit
4859         status if errors were encountered querying any
4860         modules.
4861
4862         * modules/input/Makefile.am (moduledir): remove
4863         leftover bin program target.
4864
4865         * docs/make-todo: Fix typo in error message.
4866
4867 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
4868
4869         * configure.in: Add modules/input/Makefile
4870
4871 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
4872
4873         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
4874         don't include gtkthemes.h.
4875
4876         * gtk/testgtk.c gtk/testtext.c: Set environment variables
4877         to point
4878
4879         * gtk/Makefile.am: Add new .c and .h files, build 
4880         gtk-query-immodules and use it to create a gtk.immodules
4881         file for use of test programs.
4882
4883         * gtk/gtkpreview.c: remove extra blank line.
4884
4885 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
4886
4887         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
4888         Add the ability to add extra tables beyond the default
4889         one, and also the ability to have compose sequences 
4890         that are prefixes of other compose sequences. 
4891
4892         * gtk/gtkimcontextsimple.c: Export a preedit string which
4893         consists of possible candidates for keystrokes that have
4894         been entered but not yet committed.
4895
4896         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
4897         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
4898
4899         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
4900         Add a function to add input-method switching menu items
4901         to a menu.
4902
4903         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
4904         when switching input methods.
4905
4906         * gtk/gtkimcontextsimple.[ch]: Change the format of
4907         the compose table to allow compose tables of different
4908         lengths / sequence.
4909
4910 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
4911
4912         * gtk/gtkimmodule.[ch]: Support routines for loading
4913         GtkIMContext implementations dynamically at runtime.
4914
4915         * modules/input/imcyrillic-translit.c: A sample input
4916         method (based on GtkIMContextSimple with an extra table),
4917         which demonstrates preedit strings and the module
4918         system for input modules
4919
4920         * gtk/queryimmodules.c: Program to query the available
4921         input modules and write the results into a file.
4922          
4923         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
4924         extra config options "im_module_file" (cache file for
4925         input method modules), and "im_module_path" - path
4926         to look for modules when generating cache file.
4927
4928         This doesn't scale.
4929
4930 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4931
4932         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4933         generic code from gtkthemes into a new abstraction
4934         GtkModule which has the logic for implementing
4935         a loadable module which implements a number of 
4936         GObject types.
4937
4938 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4939
4940         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4941         a class into an interface  
4942         
4943         * gtk/gtkoldeditable.[ch]: Move the old editable
4944         implementation into here, so legacy widgets can
4945         still rely on the implemenation. GtkOldEditable
4946         exports GtkEditable. Make selection handling
4947         code use new text conversion functions (and
4948         handle UTF-8 as a side-effect). Use GtkClipboard
4949         for CLIPBOARD.
4950
4951         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4952         Adopt to match above changes.
4953
4954         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4955         avoid GtkOldEditable implementation. Restructure
4956         to reduce number of places that modify state directly.
4957         Move to GtkBindingSet. Display the preedit string.
4958         Queue recomputation of PangoLayout and scroll position
4959         to improve effiency of doing complex changes naively.
4960         Add a menu with cut/copy/paste and input method selection.
4961
4962 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4963
4964         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4965         to set preedit string and attributes; display preedit string by
4966         inserting string and attributes at cursor when creating the
4967         GtkTextLineDisplay.
4968
4969         * gtk/gtktextlayout.c: Move all conversions between byte
4970         positions in PangoLayout and GtkTextIter into new functions
4971         line_display_iter_to_index/index_to_iter that properly
4972         handle the preedit string.
4973
4974         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4975         it to return const char * (eventually will end up
4976         as GCONST char *, most likely.)
4977
4978         * gtk/gtktextview.[ch]: Handle the preedit string, call
4979         gtk_im_context_reset() as necessary, add a menu to switch
4980         input methods.
4981         
4982         * gtk/gtktextlayout.[ch]: Remove useless
4983         gtk_text_layout_get_log_attrs() function.
4984
4985 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4986
4987         * gdk/gdk.def
4988         * gtk/gtk.def: Update.
4989
4990         * gdk/win32/*.c: Add last argument to g_type_register_static()
4991         calls.
4992
4993         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4994
4995         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4996         generated by older wheel mouse drivers. Get the correct y
4997         coordinate from WM_MOUSEWHEEL messages.
4998
4999         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5000         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5001         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5002         Debugging functions.
5003
5004         * gdk/win32/gdkprivate-win32.h: Declare them.
5005
5006         * gdk/win32/gdkinput-win32.h: Add declaration for
5007         gdk_input_window_destroy().
5008
5009         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5010
5011 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5012
5013         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5014         function to help handle keeping things in sync.
5015
5016 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5017
5018         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5019         BOXED marshallers.
5020
5021         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5022         (gtk_list_store_class_init): use the new BOXED marshallers.
5023
5024         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5025         new_with_values to new_with_types.
5026         (gtk_tree_store_get_column_type): add this.
5027         (gtk_tree_store_class_init): use the new BOXED marshallers.
5028
5029         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5030         mirror some POINTER marshallers.
5031
5032 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5033
5034         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5035         allow more interesting iterators.  Also, made the lifecycle of
5036         iterators more explicit.
5037
5038         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5039
5040         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5041         types.
5042
5043 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5044
5045         * demos/testgtk/menus.c:
5046         Changes to make the new testgtk compile after
5047         gtk_menu_append was removed.
5048
5049         * gdk/linux-fb/gdkdrawable-fb2.c
5050         (gdk_fb_get_depth, gdk_fb_get_visual,
5051         gdk_drawable_impl_fb_class_init): Implement
5052         these drawable functions. Now GtkImages work again.
5053
5054         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5055
5056         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5057         
5058         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5059         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5060         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5061         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5062
5063 2000-11-08  Havoc Pennington  <hp@pobox.com>
5064
5065         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5066         visible_set args, don't know where these had gone, I thought they
5067         used to be there
5068
5069         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5070         now we can test the feature and see that it's totally broken.
5071
5072 2000-11-08  Havoc Pennington  <hp@pobox.com>
5073
5074         Make DND copy pixbufs and tags when source and target share a 
5075         tag table.
5076         
5077         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5078         in-process GTK_TEXT_BUFFER_CONTENTS target
5079         (gtk_text_view_drag_data_received): Paste from
5080         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5081
5082 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5083
5084         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5085         API changes.
5086
5087         * gtk/gtkmenu.c: Add support for scrolling menus.
5088         Remove gtk_menu_append/prepend/insert, these have been moved to
5089         gtkcompat.h as #defines.
5090
5091         * gtk/gtkcompat.h.in:
5092         Add compatibility #defines for gtk_menu_append/prepend/insert
5093
5094         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5095         GtkMenuPositionFunc gets an extra argument push_in.
5096         gtk_menu_append/prepend/insert removed.
5097         
5098         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5099         positioning behaviour to fit to scrolling menus.
5100
5101         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5102         into menuitem->submeny. That is wrong, and broke torn
5103         off submenus of torn off menus, since they were unrealized
5104         when the first menu was unrealized.
5105
5106         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5107         gtk_menu_shell_select_item() since these need to be overridden in
5108         GtkMenu.
5109
5110         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5111         positioning behaviour to fit to scrolling menus.
5112         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5113         the current item so that it is prelighted when the menu pops up.
5114         This is a workaround to the fact that the menu doesn't get the
5115         initial enter event (due to grabs).
5116
5117         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5118         s/gtk_menu_append/gtk_menu_shell_append/
5119
5120         * gtk/gtknotebook.c:
5121         s/gtk_menu_insert/gtk_menu_shell_insert/
5122
5123         * gtk/testgtk.c (create_menu, create_menus):
5124         Create the first menu with 50 items so that menu scrolling
5125         can be tested.
5126         
5127         
5128         Patch from Jonathan Blandford  <jrb@redhat.com>
5129
5130         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5131         system to handle size requests.  First, we ask what the size of
5132         the toggle is.  Then, when allocating the size, we allocate the
5133         toggle_size first.  This way we can have multiple menu-item
5134         classes w/o needing a seperate class for each.
5135
5136         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5137         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5138
5139         * gtk/gtkcheckmenuitem.c
5140         (gtk_check_menu_item_toggle_size_request): New function to handle
5141         the toggle size-request.
5142
5143 2000-11-07  Havoc Pennington  <hp@redhat.com>
5144
5145         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5146         Half-ass somewhat fix this function, so that scrolling to the
5147         insertion point works. Pango hacking is in the future to really
5148         fix it.
5149
5150         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5151         length of data, no longer used.
5152
5153         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5154         method contents in here, get rid of destroy method
5155         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5156         that were backward. Remove debug spew.
5157         (cut_or_copy): Make the clipboard work with insert_range to
5158         preserve tags and pixbufs, not just the primary selection.
5159
5160 2000-11-07  Havoc Pennington  <hp@redhat.com>
5161
5162         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5163         to gtk_text_mark_get_visible
5164
5165         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5166         bug that was generating an invalid iterator
5167
5168         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5169         ensure_char_offsets() in front of code placing the iter in an
5170         invalid state.
5171
5172         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5173         make override_location arg const
5174         (paste): Replace the selection if we paste into the 
5175         current selection
5176
5177         * gtk/gtkselection.h: Remove "GtkSelectioData"
5178         (struct _GtkSelectionData): move the definition here.
5179
5180         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5181         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5182
5183         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5184
5185         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5186         (gtk_text_buffer_insert_range_interactive): implement
5187         (gtk_text_buffer_get_tags): Remove, replaced by
5188         gtk_text_iter_get_tags()
5189
5190         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5191         limit parameter, to avoid infinite linear scan.
5192         (gtk_text_iter_backward_search): Add search limit
5193         (gtk_text_iter_forward_find_char): Add search limit
5194         (gtk_text_iter_backward_find_char): Add search limit
5195
5196 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5197
5198         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5199         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5200         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5201         gdk/linux-fb/gdkwindow-fb.c:
5202         use g_object_new() instead of g_type_create_instance() which
5203         is a private function for fundamental type implementations.
5204
5205         * gdk/linux-fb/gdkinput-ps2.c:
5206         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5207         instead just store the current modifier state. Add a (somewhat broken)
5208         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5209         Rename exported function gdk_input_ps2_get_mouseinfo to
5210         gdk_input_get_mouseinfo.
5211
5212         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5213         gdk/linux-fb/gdkwindow-fb.c:
5214         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5215         
5216
5217 2000-11-02  Havoc Pennington  <hp@redhat.com>
5218
5219         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5220         use stock buttons. Should be 100% source compatible, appropriate
5221         filesel fields now point to dialog->vbox and dialog->action_area.
5222         On the bizarre side, dialog->action_area and filesel->action_area
5223         are not the same widget.
5224         (gtk_file_selection_init): Put some padding around the selection
5225         entry, so it isn't touching the GtkDialog separator.    
5226
5227         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5228         use stock buttons, etc. Should also be source compatible.
5229         Set the dialog default title in _init not _new().
5230         
5231         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5232         Use stock buttons; don't put a button box inside the existing
5233         dialog button box. Don't bother with push/pop colormap anymore.
5234
5235         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5236         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5237         for message dialog, and necessary for the font selection and color
5238         selection with help and apply buttons.
5239         
5240         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5241         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5242         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5243         between buttons, put less padding around the action area.
5244         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5245         This will also exit the loop if the widget is hidden.
5246         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5247         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5248         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5249         special-case delete event.
5250
5251         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5252         formatting
5253         
5254 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5255
5256         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5257         button to temporarily disable position recording in the
5258         "saved position" test.
5259
5260 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5261
5262         * gtk/gtkthemes.c: added compat code that temporarily implements
5263         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5264         going to be revamped by owen's upcoming GtkModule patches, but
5265         untill then people want gtk to build, right? ;)
5266
5267 2000-11-04  Havoc Pennington  <hp@pobox.com>
5268
5269         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5270         list
5271
5272         * docs/Changes-2.0.txt: Add note about
5273         gtk_container_get_toplevels()
5274
5275         * gtk/gtktextview.h: formatting
5276         
5277         * gtk/gtktextview.c: don't start descriptions with "Returns",
5278         confuses gtk-doc
5279
5280 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5281
5282         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5283         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5284
5285 2000-11-03  Havoc Pennington  <hp@redhat.com>
5286
5287         * gtk/gtktexttagtable.c: Docs
5288         (gtk_text_tag_table_size): return a signed int
5289
5290         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5291         (gtk_text_tag_event): make the event_object a GObject
5292
5293         * gtk/gtktextview.c: Write API docs for all functions.
5294
5295         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5296         for gtk_text_view_get_window_type() called on one of the private
5297         windows.
5298
5299         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5300         directly, call get_buffer() which demand-creates a default
5301         buffer. So gtk_text_view_new() can be used to create a view with a
5302         default buffer in it, if you just want an empty text box users can
5303         put data in. Useful for GUI builders also.
5304
5305 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5306
5307         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5308         the charset encodign portion MUST be in lowercase.
5309         * gtk/gtkrc.az: added file for Azeri language
5310
5311 2000-11-03  Havoc Pennington  <hp@redhat.com>
5312
5313         Get widgets working on the btree/buffer side. Display of them 
5314         still doesn't work.
5315         
5316         * gtk/gtktextview.c: start implementing child widget stuff
5317
5318         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5319
5320         * gtk/gtktextlayout.c: handle embedded widgets
5321
5322         * gtk/gtktextdisplay.c: handle embedded widgets
5323
5324         * gtk/gtktextchild.c: Implement all the child anchor goo
5325
5326         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5327         function
5328
5329         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5330         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5331         creating a child anchor or a pixbuf segment.
5332         (gtk_text_btree_create_child_anchor): new function
5333         (gtk_text_btree_unregister_child_anchor): new function
5334
5335         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5336         allocate_child signal on GtkTextLayout
5337
5338         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5339         values
5340         (gtk_text_iter_get_child_anchor): new function
5341
5342         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5343         default handler for the changed signal, which calls
5344         gtk_text_buffer_set_modified(), instead of just always emitting
5345         changed then calling set_modified() manually. I guess this is
5346         maybe more flexible. It seems logical.
5347
5348 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5349
5350         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5351         now.
5352
5353         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5354
5355 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5356
5357         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5358         been marked static.
5359
5360 2000-11-02  Havoc Pennington  <hp@redhat.com>
5361
5362         * gtk/testgtk.c (create_labels): had a test backward
5363
5364         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5365         fields, so the dest GC ends up with the correct clip origin, 
5366         etc. Fixes a bug where colored labels didn't redraw 
5367         properly.
5368
5369 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5370
5371         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5372         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5373         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5374         Add last argument to t_type_register_static call.
5375         
5376         * gdk/linux-fb/gdkdrawable-fb2.c:
5377         Add last argument to t_type_register_static call.
5378         export the get_image drawable virtual function.
5379
5380         * gdk/linux-fb/gdkimage-fb.c:
5381         Add last argument to t_type_register_static call.
5382         rename gtk_image_get to _gdk_fb_get_image and
5383         export it for use by gdkdrawable-fb2.
5384
5385         * gdk/linux-fb/gdkprivate-fb.h:
5386         export _gdk_fb_get_image.
5387
5388         * gdk/linux-fb/gdkselection-fb.c:
5389         Add new api call stubs.
5390
5391         * gtk/Makefile.am:
5392         Missing ( in linux-fb part.
5393
5394         * modules/linux-fb/Makefile.am:
5395         Must link with gdk_pixbuf or get unresolved symbol.
5396
5397 2000-11-01  Havoc Pennington  <hp@pobox.com>
5398
5399         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5400         GTK_TYPE_TEXT_ITER and BOXED marshallers
5401
5402         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5403
5404         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5405         
5406         * gtk/gtk-boxed.defs: add GtkTextIter
5407
5408         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5409         properly use OBJECT and BOXED
5410
5411 2000-11-01  Havoc Pennington  <hp@redhat.com>
5412
5413         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5414
5415         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5416         before returning it. 
5417         
5418 2000-11-01  Havoc Pennington  <hp@redhat.com>
5419
5420         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5421         Clip the rectangle to be rendered to the drawable, since
5422         get_from_drawable() requires a region within the drawable
5423
5424 2000-11-01  Havoc Pennington  <hp@redhat.com>
5425
5426         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5427         from coordinates.
5428
5429 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5430
5431         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5432         it isn't NULL.
5433
5434 2000-11-01  Havoc Pennington  <hp@pobox.com>
5435
5436         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5437         on a label
5438         (gtk_label_finalize): unref the attr list if any.
5439
5440         * gtk/testgtk.c (create_get_image): close test on second click
5441         (make_message_dialog): close dialog if it exists
5442
5443         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5444
5445         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5446         gdk-pixbuf
5447
5448         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5449         from Pango markup format
5450         (gtk_label_set_markup_with_accel): ditto but with accelerator
5451         parsing
5452
5453         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5454
5455         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5456         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5457         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5458         call gdk_window_get_origin().
5459
5460         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5461         implement GDK_PIXBUF_ALPHA_FULL
5462         
5463 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5464
5465         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5466         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5467         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5468         multiple handlers respectively, instead of only treating the
5469         first handler found (bug reported by owen).
5470
5471 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5472
5473         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5474
5475         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5476
5477         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5478         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5479         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5480
5481         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5482         widget.  Needs writing someday.
5483
5484         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5485         the docs.
5486
5487 2000-10-30  Havoc Pennington  <hp@redhat.com>
5488
5489         * gtk/gtktextview.h, gtk/gtktextview.c:
5490         Rename delete_at_cursor delete_from_cursor, and 
5491         move to move_cursor.
5492
5493 2000-10-30  Havoc Pennington  <hp@redhat.com>
5494
5495         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5496         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5497         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5498         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5499         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5500         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5501         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5502         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5503         gtktexttypes.h, gtktextview.c, gtktextview.h:
5504
5505         Massive reindentation and reformatting. Arg alignment and comments
5506         still need fixing in various places.
5507
5508 2000-10-30  Havoc Pennington  <hp@redhat.com>
5509
5510         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5511         to be named insert_at_cursor and delete_at_cursor so C++ can
5512         handle them.
5513
5514 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5515
5516         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5517         to get a double directory separator in case the home directory
5518         ends with one. This would cause trouble especially on Windows,
5519         where the path will be confused with the syntax for an an UNC
5520         (network share) path \\server\share\path.
5521         (gtk_rc_add_initial_default_files): Ditto.
5522
5523 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5524
5525         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5526
5527         * gtk/gtktextview.c: Use correct marshallers.
5528
5529 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5530
5531         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5532         use new iter stuff, and added all the appropriate signals et al.
5533
5534         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5535         code is internal to gtk only.
5536
5537 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5538
5539         * gtk/gtk.def
5540         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5541         glib-genmarshal etc.
5542
5543 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5544
5545         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5546         parallel builds.
5547
5548 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5549
5550         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5551
5552 2000-10-27  Robert Brady  <robert@suse.co.uk>
5553
5554         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5555         en_GB (British), ia (Interlingua).
5556
5557 2000-10-26  Havoc Pennington  <hp@redhat.com>
5558
5559         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5560
5561         Fixed output of:
5562         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5563         
5564         * gtk/gtktextsegment.c (char_segment_new): rename
5565         (_char_segment_new_from_two_strings): rename
5566         (_toggle_segment_new): rename
5567         
5568         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5569         (make_clipboard_widget): make it static
5570         (text_get_func): static
5571         (text_clear_func): static
5572
5573         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5574         static
5575         (hex_changed): make it static
5576         (hsv_changed): make it static
5577         (opacity_entry_changed): make it static
5578
5579         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5580         (toggle_segment_check_func): rename with _gtk
5581
5582         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5583         (_widget_segment_new): rename
5584         (_widget_segment_add): rename
5585         (_widget_segment_remove): rename
5586         (_widget_segment_ref): rename
5587         (_widget_segment_unref): rename
5588
5589         * gtk/gtktextmark.c (_mark_segment_new): Rename
5590         _gtk_mark_segment_new   
5591
5592 2000-10-26  Havoc Pennington  <hp@redhat.com>
5593
5594         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5595         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5596         types
5597
5598         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5599         marshaller types
5600
5601         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5602         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5603         license on these files.
5604
5605         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5606         work.
5607
5608         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5609         runtime random number different for each tree, instead of 
5610         a constant I made up.
5611
5612 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5613
5614         * gtk/Makefile.am: buncha cleanups, kludged build sources
5615         dependencies with a Makefile: oldest-source-stamp dependancy
5616         for the moment. automake is really fighting us here, with
5617         intentionally not allowing user-defined rules or dependancies
5618         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5619
5620         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5621         to public headers. tehy have a comment stating that they are
5622         "semi-public" aren't included by gtk.h and if enums popup there,
5623         they can be /*< skip >*/-ed.
5624
5625         * gtk/gtktextlayout.h: 
5626         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5627         added LGPL... <SIGH>
5628
5629 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5630
5631         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5632         GtkTreeIter.  Added iterators everywhere.
5633
5634         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5635
5636         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5637
5638         * gtk/gtktreestore.c: Changed to use the iterators.
5639
5640         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5641         iterators tomorrow.
5642
5643         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5644         iterators tomorrow.
5645
5646         * gtk/treestoretest.c: Changed to use iterators.
5647
5648         * demos/testgtk/main.c: Moved to use the new iterator system.
5649
5650 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5651
5652         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5653         localization misbehaviour.
5654
5655         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5656         a useless type without copy/free.
5657
5658         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5659         of GTK_TYPE_CTREE_NODE.
5660
5661 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5662
5663         * gtk/gtksignal.c:
5664         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5665         applicable.
5666
5667         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5668         gtk_selection_data_copy and gtk_selection_data_free
5669         do GtkSelectionData work as params in signals.
5670
5671 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5672
5673         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5674         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5675         couldn't they at least give it a non-standard name?
5676         
5677         * gtk/gtktextlayout.c: arg! yet another implementation of
5678         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5679
5680         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5681         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5682         home. now i know this _is_ a conspiracy.
5683
5684         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5685         ::state-changed.
5686
5687         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5688         (gtk_accel_group_create_add): marshaller signature fixups.
5689
5690         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5691         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5692
5693         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5694         anymore.
5695
5696 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5697
5698         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5699         due to the signal system changes, it wouldn't build currently. to
5700         be fixed soon.
5701
5702         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5703
5704         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5705         so it needs gtk_marshal_VOID__ENUM() instead of
5706         gtk_marshal_NONE__UINT().
5707
5708         * gdk/gdk*.c: adapted type registration functions.
5709
5710         * gtk/gtkbindings.c:
5711         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5712         gone.
5713
5714         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5715
5716         * gtk/gtkobject.c:
5717         (gtk_object_destroy):
5718         (gtk_object_shutdown): fixed recursion guards. basically we have to
5719         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5720         is called during ::destroy, and avoid recursion there.
5721
5722         * gtk/gtktypeutils.c:
5723         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5724         boxed_copy/boxed_free. this needs a more general solution based on a
5725         publically installed code-generator utility.
5726
5727         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5728         glib's gobject has support for that now.
5729         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5730
5731 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5732
5733         * gtk/gtksignal.[hc]:
5734         * gtk/gtkmarshal.[hc]:
5735         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5736         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5737         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5738         care of that.
5739
5740         * *.c: marshaller name fixups.
5741
5742         * gtk/gtkmarshal.list: added a comment briefing the format.
5743
5744 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5745
5746         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5747         compatibility macros here now. more specifically, most of
5748         the API is preserved (yes, _most_, nonwithstanding the
5749         following exceptions listed, the API is stil lHUGE ;)
5750         things that got removed completely:
5751         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5752         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5753         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5754         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5755         gtk_signal_remove_emission_hook().
5756         non-functional functions variants:
5757         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5758         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5759         not supported anymore.
5760         (gtk_signal_compat_matched): new internal function to aid
5761         implementation of the compatibility macros, it  provides
5762         functionality to block/unblock/disconnect handlers based
5763         on func/data.
5764
5765         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5766
5767         * *.c: adaptions to new type registration API signatures.
5768
5769 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5770
5771         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5772
5773 2000-10-25  Robert Brady  <robert@suse.co.uk>
5774
5775         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5776         gdk_property_delete): If window == NULL, assume the root window.
5777         (restoring the behaviour that was in 1.2).
5778         
5779         * gtk/testtext.c (save_buffer): Allow creation of new files when
5780         saving.
5781
5782         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5783         calls to read().
5784
5785 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5786
5787         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5788
5789         * gdk/win32/gdkdrawable-win32.c
5790         * gdk/win32/gdkimage-win32.c
5791         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5792         X11 backend.
5793
5794         * gdk/win32/gdkcc-win32.c
5795         * gdk/win32/gdkcolor-win32.c
5796         * gdk/win32/gdkfont-win32.c
5797         * gdk/win32/gdkinput-win32.c
5798         * gdk/win32/gdkmain-win32.c
5799         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5800
5801 2000-10-24  Havoc Pennington  <hp@redhat.com>
5802
5803         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5804         it a static function
5805
5806         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5807         redraw text when a tag is applied to it.
5808
5809         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5810         (gtk_text_tag_affects_nonsize_appearance): private functions to
5811         see if a tag requires various kinds of redraw/layout to be queued
5812         up.
5813
5814         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5815
5816         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5817         at the start of the buffer, so search works by default
5818
5819         * gtk/gtktextiter.c (lines_match): init match_start always
5820
5821         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5822         function, get iter at a line + a byte index
5823
5824         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5825         to set byte position within a line
5826         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5827
5828 2000-10-23  Havoc Pennington  <hp@redhat.com>
5829
5830         * gtk/testtext.c: Re-enable the "find" dialog
5831
5832         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5833         
5834         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5835         the arguments to gdk_draw_drawable were in the wrong order
5836         (gdk_window_paint_init_bg): This function was ignoring the
5837         init_region, instead of clipping to it, so the entire backing
5838         pixmap was cleared on every begin_paint()
5839         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5840         was in here again, the loop kept using the same GtkWindowPaint
5841         over and over.
5842         (gdk_window_begin_paint_region): Fix a bug where we had two
5843         x_offset instead of x_offset and y_offset
5844
5845         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
5846         before we get the image.
5847         (gdk_draw_drawable): get the composite before we draw the drawable.
5848         (gdk_drawable_real_get_composite_drawable): default
5849         get_composite_drawable implementation that returns the drawable 
5850         itself
5851
5852         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
5853         get_composite_drawable virtual function
5854
5855         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
5856         list-walking bug
5857
5858         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
5859         make this work if the source drawable is a GdkDrawableImplX11
5860         instead of a public drawable type. This is really broken; the
5861         problem is that GdkDrawable needs a virtual method get_xid(), but
5862         of course that doesn't work in practice. Enter RTTI.
5863
5864         Also, improve mismatched depth message.
5865
5866         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
5867         GdkPixmap
5868
5869         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
5870         install _gdk_x11_get_image as our implementation of get_image
5871         
5872         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
5873         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
5874
5875         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
5876         gdk_drawable_get_image
5877
5878         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
5879
5880         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
5881         get_image
5882
5883         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
5884         trailing semicolon after for loop
5885
5886 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
5887
5888         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
5889         where font_desc for widget's context lagged widget's font_desc by
5890         one step.
5891
5892 2000-10-22  Tor Lillqvist  <tml@iki.fi>
5893
5894         * gdk/win32/gdkgc-win32.c
5895         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
5896
5897         * gtk/makefile.mingw.in
5898         * gtk/gtk.def: Updates.
5899
5900         * gtk/testgtk.c: sleep() is called _sleep in MS's C
5901         library.
5902
5903         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
5904
5905         * gtk/makefile.msc: Remove
5906
5907         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
5908
5909         * gtk/Makefile.am: Add it.
5910
5911         * configure.in: Generate it.
5912
5913         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
5914         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
5915         something even if not implemented, to satisfy picky MSVC.
5916
5917         Patches by Hans Breuer:
5918         
5919         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
5920         SetBkMode() and SetTextAlign() before calling
5921         pango_win32_render().
5922
5923         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
5924         Set hcliprgn to NULL after destroying it.
5925         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
5926
5927         * gdk/win32/gdkgeometry-win32.c
5928         (_gdk_windowing_window_queue_antiexpose): More effective
5929         implementation.
5930
5931         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5932         depth as default, not the visual's.
5933
5934         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5935         against empty title.
5936
5937         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5938         IMAGE_PRIVATE_DATA.
5939
5940         * gdk/win32/gdkimage-win32.c: Use it.
5941
5942 2000-10-22  Robert Brady  <robert@suse.co.uk>
5943
5944         * configure.in: Check for bind_textdomain_codeset
5945
5946         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5947         present, make use of it.
5948
5949         Add a translatable string "default:LTR" which, if translated
5950         to "default:RTL", will cause the default direction to be
5951         Right-to-Left.
5952
5953         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5954         direction if marked as flippable.
5955
5956         * gtk/gtkhscale.c: Mark widget as flippable.
5957         
5958 2000-10-04  Havoc Pennington  <hp@redhat.com>
5959
5960         * gtk/testgtk.c (create_buttons): create some stock buttons
5961         with the default accel group
5962         (create_image): test some new GtkImage features
5963         (make_message_dialog): test GtkMessageDialog
5964         (create_modal_window): fix someone's bizzarro indentation
5965
5966         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5967         GTK_WIN_POS_CENTER_ON_PARENT. 
5968         Add "destroy with parent" setting, which means the window goes
5969         away with its transient parent.
5970         (gtk_window_get_default_accel_group): get the default accel group
5971         for the window.
5972         (gtk_window_set_destroy_with_parent): set/unset destroy with
5973         parent flag
5974         (gtk_window_read_rcfiles): invalidate icon set caches
5975         after reloading rcfiles 
5976
5977         * gtk/gtkenums.h (GtkWindowPosition): add
5978         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5979         on its parent window when the dialog is mapped for the first time.
5980
5981         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5982         a simple message dialog class
5983         
5984         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5985         handler to emit response signal, and maybe later it would
5986         honor a hide_on_delete flag - though that isn't there yet.
5987         Set border width on the vbox to 2, so we get some padding.      
5988         Use a button box for the action area.
5989         (gtk_dialog_key_press): synthesize a delete event if Esc
5990         is pressed and the GtkWidget key press handler didn't 
5991         handle the escape key.
5992         (gtk_dialog_new_with_buttons): new function creates a dialog
5993         with some default buttons in it.
5994         (gtk_dialog_add_action_widget): add an activatable widget
5995         as a button in the dialog - you can also add a non-activatable
5996         widget by accessing the action area directly.
5997         (gtk_dialog_add_button): add a simple button - stock ID or 
5998         label - to the action area
5999         (gtk_dialog_response): emit response signal
6000         (gtk_dialog_run): block waiting for the dialog, return 
6001         the response. Override normal delete_event behavior, so that 
6002         delete_event does nothing inside gtk_dialog_run().
6003
6004         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6005         emitted when an action widget is clicked or the dialog gets
6006         delete_event
6007
6008         * gtk/gtk.h: add gtkmessagedialog.h
6009
6010         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6011
6012 2000-10-18  Havoc Pennington  <hp@redhat.com>
6013
6014         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6015         where any number of empty lines would get skipped
6016
6017         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6018         edge.
6019
6020         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6021         warning about invalid iterators (explain more thoroughly)
6022         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6023
6024         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6025         big
6026
6027         * demos/*.c: Add error handling
6028
6029         * gtk/gtktextbuffer.c: don't modify const iterators
6030
6031         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6032
6033         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6034         on file load
6035
6036         * gtk/gtkiconfactory.c: Update to reflect addition of error
6037         handling to gdk-pixbuf loaders
6038
6039 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6040
6041         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6042         move to new modularized testgtk.
6043
6044 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6045
6046         * gtk/gtktreeview.c: Draw the arrows correctly.
6047
6048         * gtk/gtktreemodel.c: Added user docs.
6049
6050         * gtk/gtk.h: remove gtktreedatalist.h.
6051
6052         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6053         parent when generating my type.
6054
6055         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6056         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6057
6058 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6059
6060         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6061         GtkTreeModel from object to interface.
6062
6063 2000-10-16  Havoc Pennington  <hp@redhat.com>
6064
6065         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6066         compilation
6067
6068 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6069
6070         * gtk/gtktreeselection.c: Add API documentation to all public
6071         functions.
6072
6073         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6074         functions.
6075
6076 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6077
6078         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6079         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6080         docs to all public functions.
6081
6082         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6083         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6084         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6085         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6086         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6087         issue.
6088
6089 2000-10-14  Robert Brady  <robert@suse.co.uk>
6090
6091         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6092
6093 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6094
6095         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6096         values other then G_TYPE_STRING.
6097         * gtk/gtktreeselection.c: Minor commenting updates.
6098         * gtk/gtktreeview.c: Format updates.
6099
6100 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6101
6102         * README.win32: Update.
6103
6104         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6105         lines that had been deleted by mistake (?).
6106
6107         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6108         also the case fg==white and bg==black (but still not randomly
6109         coloured cursors). Thanks to Wolfgang Sourdeau.
6110
6111         * gdk/win32/*.c: Silence gcc -Wall.
6112
6113         * gtk/gtk.def: Add missing entry points.
6114
6115         Fixes by Hans Breuer:
6116
6117         * gdk/makefile.msc
6118         * gdk/win32/makefile.msc: Update.
6119
6120         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6121         some MSVC thing, presumably), cause breakpoint on failures. Add
6122         GDK_NOR case. Call g_log_set_always_fatal.
6123
6124         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6125         should be pased by reference.
6126         
6127         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6128         
6129         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6130
6131         * gdk/win32/gdkevents-win32.c
6132         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6133
6134         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6135         implementation object.
6136
6137         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6138         not just windows.
6139         
6140         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6141         Use the wrapper object.
6142         
6143 2000-10-06  Havoc Pennington  <hp@redhat.com>
6144
6145         * Makefile.am (SRC_SUBDIRS): contrib subdir
6146
6147         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6148         so it can be used in Xlib version
6149
6150         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6151         tree
6152
6153         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6154         change from 1.0 tree that returns first frame of animation
6155         if the loaded file is an animation.
6156
6157         * contrib: add new directory to hold stuff that comes with GTK+
6158         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6159         
6160         * configure.in: add contrib/*
6161
6162 2000-10-05  Havoc Pennington  <hp@redhat.com>
6163
6164         * demos/testpixbuf-save.c: add pixbuf save test
6165
6166         * demos/Makefile.am: add testpixbuf-save.c
6167
6168 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6169
6170         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6171         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6172         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6173         * gtk/gtktreeselection.[ch]: Replaced
6174         "node_selected"/"node_unselected" signal with "selection_changed"
6175         signal.
6176
6177 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6178
6179         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6180         tree widget.
6181
6182 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6183
6184         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6185         drawing.
6186
6187 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6188
6189         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6190         Move list pointer forwards before removing item from
6191         list. (Crash reported by Salmaso Raffaele)
6192
6193         * gdk/gdkwindow.h: Remove spurious trailing ,
6194
6195         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6196         dependencies on uninstalled libraries, sorry folks.
6197
6198 2000-10-04  Havoc Pennington  <hp@redhat.com>
6199
6200         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6201         gtk/gtkiconfactory.c: Fix copyrights    
6202
6203         * demos/testpixbuf.c: add inline pixbuf test
6204         
6205 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6206
6207         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6208         Add gdk_window_iconify.
6209
6210         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6211         (gdk_window_set_geometry_hints): Add win_gravity
6212         to geometry structure.
6213
6214         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6215         Implement _NET_WM_PING.
6216
6217         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6218         Set _NET_WM_PID on the client leader.
6219
6220         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6221         Handle UTF-8 better.
6222
6223         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6224         UTF-8 better, set _NET_WM_NAME as well. Only set
6225         icon name if it hasn't previously been explicitely 
6226         set.
6227
6228 2000-10-03  Havoc Pennington  <hp@redhat.com>
6229
6230         * gtk/testtextbuffer.c: clean up trailing whitespace,
6231         add extensive tests for tag toggle iteration.
6232         
6233         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6234         distance
6235
6236         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6237         optimize case where the tag root is on level 1
6238         (gtk_text_line_previous_could_contain_tag): attempt to implement
6239         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6240         functionality
6241
6242         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6243         Implement this, though not very efficiently.
6244
6245         * gtk/gtktextiterprivate.h: reformat
6246
6247         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6248         iterator
6249
6250         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6251         this to properly revalidate the iterators.
6252
6253         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6254         properly at the end of the line (and therefore on empty lines)
6255
6256         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6257         maybe we should return a value...
6258
6259 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6260
6261         * config.h.win32: Guard definition of alloca(). glib.h now handles
6262         that.
6263
6264         * gdk/gdk.def
6265         * gtk/gtk.def: Add new entry points.
6266
6267         Changes just to make GTK+ build without errors on Win32. No hope
6268         of it working in its current state, though...:
6269         
6270         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6271         some functions from the X11 backend, just to make GTK+ build.
6272
6273         * gdk/makefile.mingw.in
6274         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6275         number. Add new object files.
6276
6277         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6278         GetMessageTime to get timestamp (where on X11 uses
6279         gdk_x11_get_server_time()).
6280
6281 2000-10-02  Havoc Pennington  <hp@pobox.com>
6282
6283         * gtk/gtktextview.c: text_window_* weren't static and should have
6284         been.
6285         Start work on child widgets; not yet complete, syncing to 
6286         office computer.
6287
6288         * gtk/gtktextchild.h: change this to contain a public interface,
6289         starting work on child interfaces.
6290         * gtk/gtktextchildprivate.h: move private interfaces here
6291
6292         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6293
6294         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6295         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6296         gtk/gtktextmark.c: copyright notices
6297
6298         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6299         internal functions      
6300
6301         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6302         internal function
6303
6304         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6305         Reformatting    
6306
6307 2000-09-30  Havoc Pennington  <hp@pobox.com>
6308
6309         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6310         NULL start/end pointers
6311
6312         * gtk/gtktextbuffer.c: Write some docs
6313         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6314         NULL, so you can just check whether there's a selection.        
6315
6316         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6317         cleanup_line or segments_changed ourselves, it gets done 
6318         in unlink_segment
6319
6320         * gtk/gtktextmark.h:
6321         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6322         
6323         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6324
6325         * gtk/gtktextmark.c: delete some more old Tk cruft
6326
6327         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6328         mark before removing it, so we can emit MARK_DELETED with a valid
6329         pointer.
6330         (gtk_text_buffer_mark_set): hold ref across signal emission
6331
6332         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6333         whining about attempts to delete special marks
6334
6335         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6336         underscore, since it's internal.
6337
6338         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6339         now implemented in terms of iterators in gtktextiter.h
6340
6341         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6342         New function, destructively sets contents of buffer. Also 
6343         a convenient way to clear the buffer by setting text to ""
6344
6345         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6346         multiline string literal
6347
6348         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6349         text changes.
6350
6351         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6352         is not dereferenceable
6353         (gtk_text_iter_forward_lines): fix return value
6354
6355 2000-09-29  Havoc Pennington  <hp@redhat.com>
6356
6357         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6358
6359         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6360         that set border window size to have nicer name
6361         (gtk_text_view_mark_set_handler):  Fix this to have the 
6362         right signature.
6363
6364         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6365
6366         * gtk/testtext.c: Update with API changes, put line numbers on 
6367         both sides.
6368         
6369         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6370         with this
6371
6372         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6373         pixbuf; delete a big block of #if 0 Tk code
6374
6375         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6376         insert_pixmap with insert_pixbuf
6377
6378 2000-09-29  Martin Baulig  <baulig@suse.de>
6379
6380         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6381         confusion with the GdkPixbuf of the GNOME 1.x platform.
6382
6383 2000-09-29  Havoc Pennington  <hp@pobox.com>
6384
6385         * gtk/gtktextview.c: Implement the side windows.
6386
6387         * gtk/testtext.c: Implement simple line numbering in the 
6388         left side window; seems to make scrolling sloooow. Oops.
6389         Also, cursor blink is for some reason causing redraws
6390         of the line numbers. Should investigate...
6391
6392 2000-09-28  Havoc Pennington  <hp@redhat.com>
6393
6394         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6395         scrolling child windows, and draw focus rectangle properly.
6396         
6397         (gtk_text_view_buffer_to_window_coords):
6398         Coordinate transformation to deal with all these freaking windows
6399         and offsets
6400         (gtk_text_view_window_to_buffer_coords): transform the other way
6401
6402         * gtk/testtext.c (create_buffer): Update to match Pango API change
6403
6404         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6405         anonymous tags
6406         (foreach_unref): don't emit remove signal from finalize, just
6407         set tag's parent to NULL
6408
6409 2000-09-26  Havoc Pennington  <hp@redhat.com>
6410
6411         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6412         Fix some warnings       
6413
6414 2000-09-26  Havoc Pennington  <hp@redhat.com>
6415
6416         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6417         headers into the private header list
6418
6419         * Makefile.am (pkgconfig_DATA): install pkg-config files
6420
6421         * configure.in: add pkg-config files
6422
6423         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6424
6425         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6426         outstanding icon caches on theme change.
6427
6428         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6429         important types:
6430
6431         (GtkIconSource): Specification for creating a pixbuf 
6432         appropriate for a direction/state/size triplet from 
6433         a source pixbuf or filename
6434
6435         (GtkIconSet): List of GtkIconSource objects that are used to
6436         create the "same" icon (e.g. an OK button icon), and cache for
6437         rendered icons
6438
6439         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6440         up the icon set for a given stock ID.  GTK maintains a stack of
6441         GtkIconFactory to search, and applications or libraries can add
6442         additional icon factories on top of the stack
6443         
6444         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6445         the set of GtkIconSource specified for a given stock ID into 
6446         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6447         RcStyle, under the specified stock ID.
6448
6449         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6450         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6451         This allows people to theme how prelight, insensitive, etc. are
6452         done.
6453
6454         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6455         icon factories for a style, and return the resulting 
6456         icon set if any.
6457
6458         (gtk_style_render_icon): Render an icon using the render_icon 
6459         method in the GtkStyleClass.
6460
6461         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6462         Use the style for a given widget to look up a stock ID, get the
6463         icon set, and render an icon using the render_icon method 
6464         of the style
6465
6466         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6467         (contains information about a stock item), the built-in stock item
6468         IDs, and functions to add/lookup stock items.
6469
6470         * gtk/stock-icons/*: Stock icons that come with GTK
6471
6472         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6473         a button based on a GtkStockItem
6474         (gtk_button_new_accel): Takes a uline string and accel group, and
6475         installs the accelerator.
6476
6477         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6478         image-display widget.
6479
6480 2000-09-25  Havoc Pennington  <hp@redhat.com>
6481
6482         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6483
6484         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6485         Fix a bug when removing node data, we didn't properly 
6486         re-splice the linked list after removing the data.
6487
6488         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6489         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6490
6491         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6492
6493         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6494         for the layout from the GtkTextTag.
6495
6496         * gtk/gtktexttypes.h: delete tab and search cruft, 
6497         remove g_convert() in favor of GLib version
6498
6499         * gtk/gtktexttypes.c: remove tab implementation from here,
6500         move to Pango
6501
6502         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6503         tab stuff using new PangoTabArray from Pango
6504
6505         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6506         unused border_width stuff
6507
6508 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6509
6510         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6511         glib) and now useless utf_to_latin1() latin1_to_utf()
6512
6513         * gtk/gtktextview.[ch]: Change ::move_insert and
6514         ::delete_text action signals to ::move and ::delete;
6515         create the signals with the right enumeration type,
6516         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6517         C-v bindings, change Home, End to move to beginning/end
6518         of line, Add C-Home C-End to move to beginning/end
6519         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6520         combine ::scroll_text into ::move; use new GtkSelectionData
6521         functions to simplify DND text handling.
6522         
6523         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6524         deletion enumerations here, rename enumeration values to 
6525         be consistently plural.
6526
6527         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6528         for cut/copy/paste and primary selection.
6529
6530         * gtk/gtktextbuffer.[ch]: Remove excess time and
6531         'interactive' arguments from cut/copy/paste;
6532         rename cut to cut_clipboard, etc; remove
6533         gtk_text_buffer_get_clipboard_contents().
6534
6535         * gtk/gtktextlayout.[ch]: Add 
6536         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6537         line ends.
6538
6539         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6540         Functions to set or get a UTF-8 string on the selection
6541         data.
6542
6543         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6544         interfaces.
6545
6546         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6547         created widgets - one of these is useless if we don't.
6548
6549         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6550         a public function clear all targets registered for the
6551         widget.
6552
6553         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6554         Never call gtk_widget_realize() - that was just asking
6555         for bizarre side-effects.
6556
6557         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6558         gdk_selection_owner_set even if the widget is the
6559         same so that we reliably update the timestamp on
6560         the server.
6561
6562         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6563         gdk_x11_get_server_time() function.
6564         
6565         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6566         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6567         Add some tricky filtering on serial numbers for
6568         selection clear events to fix up long-standard
6569         race condition FIXME's in gtkselection.c.
6570
6571         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6572         routines to convert from utf8 to compound text or
6573         STRING and from a text property to UTF-8.
6574
6575         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6576         a convenience function gdk_get_current_event_time().
6577
6578         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6579         and free selection_data->data properly
6580
6581 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6582
6583         * gtk/gtkthemes.c: Remove some unecessary includes.
6584
6585 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6586
6587         * gtk/gtktextdisplay.c
6588         * gtk/gtktextlayout.c
6589         * gtk/gtktexttag.c
6590         * gtk/gtktexttag.h
6591         * gtk/testtext.c: Change the overstrike property to strikethrough,
6592         to closer match pango.
6593
6594 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6595
6596         * gtk/gtktextview.c: Fix up visibility so that focus,
6597         cursor_visible and blink interact properly.  Reenable cursor blink
6598         which had been roughly disabled. Make blink and focus
6599         properly per-view.
6600
6601         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6602         Add a flag for whether to display insertion cursor and
6603         a function to set the flag.
6604
6605         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6606         get_line_y() to get_line_yrange(), to be a bit more generally
6607         useful.
6608
6609 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6610
6611         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6612           do stop_navigating_submenu, to clear last timeout properly.
6613           Also in gtk_menu_motion_notify move ignore_enter above
6614           the conditional to make it always happen as suggested by Owen
6615
6616 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6617
6618         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6619
6620         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6621         w32api headers.
6622
6623         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6624         declarations.
6625
6626         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6627         (gdk_win32_get_colormap): A line had been deleted by mistake.
6628
6629         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6630         (gdk_event_translate): Handle more virtual keycodes to be able to
6631         generate GDK events for Control-comma, Control-period, etc.
6632
6633         * gtk/gtk.def: Add some missing entry points.
6634
6635 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6636
6637         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6638         Doc comment fixing. (Mostly non-matching parameter names.)
6639
6640         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6641         comments a little to avoid looking like a doc comment.
6642
6643         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6644         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6645         conversions be changed to GError?)
6646
6647         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6648         Move private #defines into .c file.
6649
6650         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6651         order of argument addition, remove duplicates.
6652
6653         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6654         parent class is FrameClass, not BinClass.
6655
6656         * gtk/gtk.h: Add gtkinvisible, which was missing.
6657         (It's occasionalyl useful for client apps, if seldom.)
6658
6659         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6660         #define.
6661
6662 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6663
6664         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6665         coordinates when creating window, instead of GDK-space
6666         coordinates. (Avoid BadValue on too large windows.)
6667
6668 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6669
6670         * configure.in (use_mmx_asm): Remove conftest* after use along the
6671         lines of AC_TRY_COMPILE.        
6672         
6673         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6674         of g_dirname, which is deprecated.
6675         (gtk_rc_parse_any): Removed calls to
6676         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6677
6678         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6679         Removed calls to g_hash_table_{freeze,thaw}, as they are
6680         deprecated now.
6681
6682         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6683         instead of g_basename.
6684         
6685 2000-09-04 Elliot Lee <sopwith@redhat.com>
6686         
6687         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6688         ANSI warning.
6689
6690 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6691
6692         * gtk/gtkwidget.h:  Add some documenting comments about 
6693           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6694           just as owen said on irc.
6695
6696         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6697           set HAS_DEFAULT.  Only set it if there isn't another window
6698           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6699           it if the widget is not the focused window with RECEIVES_DEFAULT.
6700           This fixes weird double default bugs in dialogs which has things
6701           call gtk_window_set_default at times.
6702
6703 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6704
6705         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6706         Nils Barth and David Santiago to improve submenu
6707         navigation. The patch does this by creating a triangular
6708         region from the point where the pointer leaves the
6709         menu to the submenu.  While the pointer is in
6710         that region and a timeout has not expired, events 
6711         that would cause the active submenu to change are
6712         ignored.
6713
6714 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6715
6716         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6717         moving a toplevel window immediately after sizing it would
6718         result in it being sized back to the old size since 
6719         impl->width, impl->height aren't updated until we hear
6720         back from the server. There is still a (longstanding) bug
6721         here that gdk_window_get_size() will give the wrong size
6722         until we do hear back.
6723
6724 2000-08-31  Havoc Pennington  <hp@redhat.com>
6725
6726         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6727         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6728         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6729         Rename GtkTextStyleValues to GtkTextAttributes
6730
6731 2000-08-31  Havoc Pennington  <hp@pobox.com>
6732
6733         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6734         for rapid testing whether an iterator is the end iterator
6735         (gtk_text_btree_new): init end line cache
6736         (gtk_text_line_is_last): use fast cached line to 
6737         see if we're the last line.
6738         (get_last_line): use cached line here too, should 
6739         speed up some random unrelated code.
6740         
6741 2000-08-30  Havoc Pennington  <hp@pobox.com>
6742
6743         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6744         signals.
6745
6746         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6747         delete_text signals. This allows the signals to be used for
6748         implementing undo.
6749
6750         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6751         provide "interactive" argument when emitting insert_text or
6752         delete_text signal.
6753         
6754 2000-08-30  Havoc Pennington  <hp@pobox.com>
6755
6756         * gtk/gtktextbuffer.c: Docs
6757
6758 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6759
6760         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6761         from switch statements, since Tor removed the enumeration
6762         value.
6763         
6764         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6765         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6766
6767 2000-08-29 Elliot Lee <sopwith@redhat.com>
6768         * */*.h: Use G_GNUC_CONST.
6769
6770 2000-08-27  Havoc Pennington  <hp@pobox.com>
6771
6772         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6773         minor indentation fixes, inserted some FIXME about stuff I
6774         realized was broken while documenting it.
6775         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6776         GTK convention  
6777
6778 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6779
6780         * gtk/testgtk.c (create_styles): Fix double free of
6781         font desc.
6782
6783 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6784
6785         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6786         
6787         * gtk/testgtk.c (create_styles): Add a test for modifying
6788         the style through gtk_widget_modify_*.
6789
6790         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6791         a function to get the current modifier style.
6792
6793         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6794         of the passed in GtkRcStyle instead of ref'ing it.
6795
6796         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6797
6798 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6799
6800         * gdk/gdkimage.h
6801         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6802         shared memory image+pixmap GdkImage type, or
6803         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6804         I am dropping that.
6805
6806         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6807         actually call gtk_init_abi_check(), passing also
6808         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6809
6810         * gtk/gtk.def
6811         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6812         New functions, used to check that the GTK+-using code has been
6813         compiled using the correct compiler and switches. In particular,
6814         with gcc one has to use the -fnative-struct switch as GTK+ is
6815         compiled with that.
6816
6817 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6818
6819         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6820         ->prev fields when merging lists. (Found simultaneously
6821         by Pawel Salek and Jakub Jelinek)
6822
6823 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6824
6825         * gdk/gdk.def
6826         * gtk/gtk.def: Add missing entries.
6827
6828         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6829         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6830
6831         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6832         function. Dummy implementation at this point.
6833
6834         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6835         rules. Undefine GTK_COMPILATION when compiling the test programs.
6836         
6837         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6838
6839 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6840
6841         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6842         to convert back and forth from UTF-8 and the "system" (or "current
6843         locale") charset when necessary. Indentation/spacing cleanup.
6844
6845 2000-08-10  Havoc Pennington  <hp@redhat.com>
6846
6847         * Makefile.am (snapshot): Change the format of the snapshot
6848         version to match glib
6849
6850         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
6851         from EXTRA_DIST since it doesn't seem to exist
6852
6853 2000-08-10  Tor Lillqvist  <tml@iki.fi>
6854
6855         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
6856         version of the directory name (not the UTF-8 one) when building
6857         the path name to stat().
6858
6859 2000-08-03  Elliot Lee  <sopwith@redhat.com>
6860
6861         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
6862         PANGO_ATTR_SHAPE set.
6863
6864 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
6865
6866         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
6867         Peter Osterlund to simplify the code while keeping the
6868         functionality the same.
6869
6870 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
6871
6872         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
6873         is_viewable() test further inside the function, since removing the 
6874         window from the redraw list without clearing ->update_area
6875         was also very broken.
6876
6877 2000-08-02  Tor Lillqvist  <tml@iki.fi>
6878
6879         * configure.in: Check for <unistd.h>.
6880
6881 2000-08-01  Martin Baulig  <baulig@suse.de>
6882
6883         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
6884         to display the message that this is a development version of GTK+.
6885
6886 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
6887
6888         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
6889         was depending on widget->allocation instead of the width of text_area,
6890         which was incorrect for subclasses like GtkSpinButton.
6891
6892         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
6893         with width == 1 tests that should be width == -1.
6894
6895 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
6896
6897         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
6898         (broken, Elliot, every single window blank on X) custom code with call
6899         to gdk_window_is_viewable() which a) prevents code duplicate and
6900         b) works. 
6901
6902 2000-07-31  Elliot Lee  <sopwith@redhat.com>
6903
6904         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
6905         to get the GDK_PARENT_ROOT() macro to work.
6906         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
6907         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
6908         of, windows that aren't shown.
6909         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
6910         pointer grab stuff.
6911
6912 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
6913
6914         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
6915           s/gtk_main_iteration/g_main_iteration/
6916
6917           Did this already in change:
6918                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6919           don't know how it got reverted.
6920
6921 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
6922
6923         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
6924         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
6925
6926         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6927         not gdk_pixbuf.
6928
6929 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6930
6931         * configure.in,po/{sp,sr}.po: Added Serbian files
6932
6933 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6934
6935         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6936
6937         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6938         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6939         GIOChannel implementation.
6940
6941         * gdk/win32/gdkinput.c
6942         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6943
6944         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6945         definition to match prototype.
6946
6947         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6948
6949 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6950
6951         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6952         function, to allow handling image formats that cannot be detected
6953         by looking at content alone.
6954
6955 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6956
6957         * docs/tutorial/*.gif *.jpg *.eps
6958           Update these to the same look-n-feel.
6959           Why does including images in DocBook suck so badly?
6960
6961 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6962
6963         * gtk/gtktable.c: applied patch from Phil Thompson
6964         <phil@river-bank.demon.co.uk> that enables space settings for
6965         the last row/columns as well.
6966
6967 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6968
6969         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6970         updates the license headers to the GNU Lesser General Public License,
6971         as well as updating the copyright year to 2000.
6972
6973 2000-07-26  Robert Brady  <rwb197@zepler.org>
6974
6975         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6976           and po/Makefile, was installing and looking for them under gtk20
6977           and gtk2 respectively.
6978
6979 2000-07-25  Havoc Pennington  <hp@redhat.com>
6980
6981         * gtk/testtext.c: Comment out some stuff that depends on the rest
6982         of my patches.
6983
6984 2000-07-25  Havoc Pennington  <hp@redhat.com>
6985
6986         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6987         buffer
6988
6989 2000-07-25  Havoc Pennington  <hp@redhat.com>
6990
6991         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6992         widget changes.
6993
6994         * gtk/gtktextview.h: To be consistent with usage of "line"
6995         throughout the API to mean "newline-terminated thingy", change
6996         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6997         to MOVEMENT_LINE.
6998
6999         (GtkTextView): Add flags for default editability, and whether to
7000         show the cursor. Add functions to get/set that. Add 
7001
7002         (gtk_text_view_get_iter_location): new function
7003
7004         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7005         gtktextlayout.h
7006         (g_convert): Add g_convert temporarily, will go in glib in a bit
7007         
7008         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7009         GtkTextTagTableForeach instead of brokenly using GHFunc.
7010         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7011
7012         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7013         moved to public header.
7014
7015         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7016         "invisible", since "elide" was a bad name.
7017         (gtk_text_tag_get_priority): Added
7018
7019         (GtkTextStyleValues): put this in public header, along with
7020         functions to use it.
7021
7022         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7023         longer include gtktextbtree.h.
7024
7025         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7026         gtk_text_mark_deleted
7027
7028         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7029         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7030         to make this possible. Now we only need to install
7031         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7032         (However the Makefile.am isn't changed yet because of the
7033         logistics of merging gtk-hp-patches piecemeal)
7034
7035         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7036         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7037         gtk_text_iter_get_line is now used in the public API for a
7038         different purpose.
7039
7040         * gtk/gtktextiter.h: Clean up function names to be more
7041         consistent. Always call char offset "offset" and byte index
7042         "index". A "line" is always a line number. 
7043
7044         (gtk_text_iter_is_last): new function, more efficient than 
7045         the existing way to check
7046         (gtk_text_iter_is_first): new function, also more efficient
7047
7048         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7049
7050         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7051         gtk_text_iter_forward_char, etc.
7052
7053         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7054         forward_find_tag_toggle, since this isn't a linear search
7055
7056         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7057
7058         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7059         New functions, search for a buffer substring.
7060
7061         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7062         interactive and default editable (since we need to store that info
7063         until we receive the selection data).
7064
7065         Remove all the _at_char and at_line etc. versions of functions;
7066         only have iterator versions.
7067
7068         Add _interactive() versions of functions, that consider the
7069         editability of text. (FIXME add interactive flag to the 
7070         insert/delete signals per Darin's suggestion)
7071
7072         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7073         tag table if necessary
7074
7075         Remove declaration of gtk_text_buffer_get_iter_from_string
7076
7077         (_gtk_text_buffer_get_btree): private/internal function, added.
7078         
7079
7080         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7081         (gtk_text_line_is_last): new function
7082
7083 2000-07-25  Havoc Pennington  <hp@redhat.com>
7084
7085         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7086         using GtkProgressBar. See Changes-2.0.txt for details.
7087
7088         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7089         "pulse_step" which are the equivalent of
7090         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7091         Implement new API.
7092         
7093         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7094         (use_text_format) to mark whether text set on the progress bar is
7095         a format string. Deprecate entire GtkProgress interface.
7096
7097         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7098         (gtk_progress_build_string): make this a no-op if use_text_format
7099         is FALSE
7100
7101         * docs/Changes-2.0.txt: Describe progress bar changes.
7102
7103 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7104
7105         * Makefile.am: Include the build directory.
7106
7107         * configure.in: Generate build/Makefile, build/win32/Makefile,
7108         gdk/, gdk/win32/, and gtk/makefile.mingw.
7109
7110         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7111         Add GETTEXT_PACKAGE.
7112         
7113         * gdk/gdk.def
7114         * gtk/gtk.def: Updates.
7115
7116         * gdk/gdkfont.h
7117         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7118         need them any longer.
7119
7120         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7121
7122         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7123         PANGOWIN32_LIBS and gdk_pixbuf.
7124
7125         * gdk/win32: Compiles, but no doubt doesn't work at all.
7126
7127         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7128
7129         * gdk/win32/gdkinput.c: New file, temporarily.
7130         
7131         * gdk/win32/gdkinput-win32.h: New file
7132
7133         * gdk/win32/gdkinputprivate.h: Remove.
7134
7135         * gdk/win32/gdkpango-win32.c: New file.
7136
7137         * gtk/makefile.mingw.in: New file
7138
7139         * gtk/makefile.cygwin: Removed
7140         
7141         * gtk/Makefile.am: Update accordingly.
7142
7143         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7144         made externally visible.
7145
7146         * gtk/gtkmain.c: Use it.
7147         
7148         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7149         is enough.
7150
7151         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7152
7153 2000-07-24 Elliot Lee <sopwith@redhat.com>
7154         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7155         individual backends already.
7156         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7157         again. Yes, there really is a good reason for this, if you are using the gdkregion
7158         internals, and if you're not, why do you care?
7159         * gdk/gdkwindow.c: Fix inverted condition
7160         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7161         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7162         * gtk/gtkrange.c: Redraw trough when moving.
7163         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7164         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7165
7166 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7167
7168         * configure.in: Check for mkstemp and sigsetjmp. Output
7169         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7170
7171         More work on GDK for Win32. Still in an intermediate state.
7172
7173         * gdk/makefile.cygwin
7174         * gdk/win32/makefile.cygwin: Removed.
7175         
7176         * gdk/makefile.mingw.in
7177         * gdk/win32/makefile.mingw.in: New files.
7178
7179         * gdk/Makefile.am
7180         * gdk/win32/Makefile.am: Generate and distribute them.
7181
7182         * gdk/win32/gdkwindow-win32.h
7183         * gdk/win32/gdkdrawable-win32.h
7184         * gdk/win32/gdkpixmap-win32.h: New files.
7185
7186         * gdk/win32/gdkcolor-win32.c
7187         * gdk/win32/gdkcursor-win32.c
7188         * gdk/win32/gdkdrawable-win32.c
7189         * gdk/win32/gdkgc-win32.c
7190         * gdk/win32/gdkimage-win32.c
7191         * gdk/win32/gdkprivate-win32.h
7192         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7193         Rename fields and variables called xcursor, xid, etc (these names
7194         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7195
7196 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7197
7198         * gtk/gtkentry.[ch]: Fix some problems with vertical
7199         alignment.
7200
7201         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7202         char/byte confusion.
7203
7204 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7205
7206         * gtk/gtktextview.c (changed_handler): Fix bug where
7207         redraw wasn't being done properly when height of
7208         dirty region changed.
7209
7210         * demos/Makefile.am: Remove various references to
7211         -lgmodule
7212
7213 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7214
7215         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7216         PangoAttrShape to reserve space for pixmaps, add 
7217         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7218         in the display functions.
7219         
7220         * gtk/testgtk.c (create_layout): Set some more exotic
7221         scrolled window options
7222
7223         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7224         Add function to set the shadow type of a window, to allow
7225         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7226         which don't draw their own frame.
7227
7228 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7229
7230         * docs/tutorial/package-db-tutorial.sh: New file for
7231           packaging DocBook format tutorial
7232
7233 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7234
7235         * docs/tutorial/gtk-tut.sgml: Minor updates
7236
7237         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7238
7239 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7240
7241         * gtk/gtksignal.c: Fix C++ comment.
7242
7243         * gtk/gtkimmulticontext.c
7244         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7245         don't return value from void functions.
7246
7247         * gtk/gtk.def: Add gtk_rc_style_unref.
7248
7249 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7250
7251         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7252         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7253         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7254         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7255         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7256         gtk/gtktypeutils.h: Include files outside of the extern "C"
7257         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7258         <vakatov@peony.nlm.nih.gov>.
7259
7260 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7261
7262         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7263           Completes first pass. Hurrah!
7264
7265 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7266
7267         * docs/tutorial/gtk-tut.sgml: More clean ups.
7268
7269 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7270
7271         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7272         paint the background of the text area which was accidentally
7273         removed at some point.
7274
7275         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7276           
7277          - Move most of the functionality from the theme vtable
7278            into GtkRcStyleClass and GtkStyleClass. The moved
7279            vtable functions were changed a bit in the move to
7280            work better in their new home.
7281
7282          - Get rid of the engine and engine_data fields from
7283            GtkRcStyle and GtkStyle; instead the theme
7284            engine derives theme-specific subclasses of GtkRcStyle
7285            and GtkStyle
7286
7287          - Add extra dlsym() found entry point to themes,
7288            theme_create_rc_style().
7289
7290         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7291         in gtk_style_real_copy.
7292
7293         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7294         to register a type associated with an engine. (The engine
7295         won't be unloaded as there is an instance of the type.)
7296
7297
7298 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7299
7300         * docs/tutorial/gtk-tut.sgml: Clean ups.
7301
7302 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7303
7304         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7305           of cleaning up to do.
7306
7307 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7308
7309         * gdk/testgdk.c: New file, quick hack to test backends for
7310         pixel-by-pixel correctness of the most simple graphic operations.
7311
7312 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7313
7314         * Really release 1.3.1
7315         
7316         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7317         include structure.
7318
7319 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7320
7321         * Released 1.3.1
7322
7323 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7324
7325         * gtk/gtktextlayout.c: use FALSE for size_only most
7326         of the time when calling gtk_text_layout_get_line_display()
7327         to avoid causing double reshapes when a redraw follows
7328         immediately after.
7329
7330 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7331
7332         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7333         appropriate region and gdk_window_process_updates() so trough
7334         updating doesn't lag behind the window being scrolled.
7335
7336         * gdk/gdkgc.c: Make parent_class pointer static.
7337          
7338 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7339
7340         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7341         include <string.h>.
7342          
7343         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7344         cut-and-paste error in computing memory offset for 4 channels.
7345
7346 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7347
7348         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7349         gtk_rc_append_default_pixmap_path(), since it wasn't
7350         adding an interesting path and we don't have a meaningful
7351         default for this value.
7352
7353 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7354
7355         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7356         gtk-config to gtk-config-2.0 move gtk_.m4 to
7357         gtk-2.0.m4
7358
7359         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7360         gdk/Makefile.am demos/Makefile.am: Change 
7361         library names to libgtk-1.3.la, etc, so that we
7362         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7363
7364         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7365         gdk/Makefile.am gdk/x11/Makfile.am
7366         Move include files into /usr/include/gtk-2.0, 
7367         /usr/lib/gtk-2.0/include/
7368          
7369         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7370         gtk/gtkintl.h: Change package for gettext from 
7371         gtk+ to gtk20. Put hack in autogen.sh to modify
7372         po/Makefile.in.in after gettextize to make this
7373         possible.
7374
7375         * gtk+.spec: Some updates, not tested.
7376
7377         * gdk-pixbuf/Makefile.am: Move loaders into
7378         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7379
7380         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7381         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7382         to THEMENAME/gtk-2.0/. Move engine directory  to
7383         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7384         
7385 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7386
7387         Win32 changes, still doesn't build though.
7388
7389         * gdk/makefile.cygwin
7390         * gdk/win32/makefile.cygwin
7391         * gtk/makefile.cygwin: Updates.
7392
7393         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7394         default values for fg and bg pixel as X11 does (0 and 1), not
7395         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7396         Use 0 for pen width by default (treated as 1 anyway later, but for
7397         apps that might check the value in the GdkGC).
7398         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7399         interface to gdk_gc_predraw and _postdraw.
7400
7401         * gdk/win32/gdkwin32.h
7402         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7403
7404         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7405         extraneous semicolon.
7406
7407         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7408
7409         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7410         not the Win32 bitspixel value.
7411
7412         * gdk/win32/gdkcc-win32.c:
7413         * gdk/win32/gdkcolor-win32.c 
7414         * gdk/win32/gdkprivate-win32.h
7415         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7416         GDK object structure.
7417
7418 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7419
7420         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7421         * docs/tutorial/gtk_tut_it.sgml (name): 
7422         * docs/tutorial/gtk_tut_fr.sgml (name): 
7423         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7424         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7425
7426 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7427
7428         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7429           small changes.
7430
7431 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7432
7433         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7434         a bug here, never been here and never fixed anything ;(
7435         (don't segfault if tree->root_tree is NULL, which happens prior
7436         to widget realization, but puke instead).
7437
7438 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7439
7440         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7441         add the necessary tokens.
7442
7443         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7444         (gtk_rc_style_to_style): copy thicknesses.
7445         (gtk_rc_init_style): apply thicknesses.
7446         (gtk_rc_parse_style): parse xthickness and ythickness.
7447
7448         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7449
7450         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7451         (gdk_window_new): 
7452         (_gdk_windowing_window_init): 
7453         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7454         (gdk_pixmap_create_from_data): 
7455         (gdk_bitmap_create_from_data): 
7456         (gdk_pixmap_new): 
7457         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7458         (gdk_image_new): 
7459         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7460         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7461         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7462         (gdk_colormap_get_system): 
7463         (gdk_colormap_new): 
7464         * gdk/gdkwindow.c (gdk_window_init): 
7465         * gtk/gtkstyle.c (gtk_style_new):
7466         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7467         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7468         * gtk/gtkrc.c (gtk_rc_style_new):
7469         use g_object_new() instead of g_type_create_instance() which
7470         is a private function for fundamental type implementations.
7471
7472 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7473
7474         * configure.in: Add check for db2html
7475
7476 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7477
7478         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7479         hack to set glib_debug_objects based on gtk_debug_flags.
7480
7481 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7482
7483         * INSTALL.in: Update the Prerequisites section.
7484
7485         * Makefile.am demos/Makefile.am docs/Makefile.am
7486         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7487         gdk/linux-fb/Makefile.am: Dist fixes
7488
7489 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7490
7491         * NEWS: 10,000 foot view of 1.3.1 changes.
7492
7493 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7494
7495         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7496         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7497         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7498         gdk/x11/gdkmain-x11.c: 
7499
7500         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7501         as a return value of gdk_*_grab(). Previously, we just
7502         returned the X11 values directly.
7503
7504 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7505
7506         * gdk/x11/Makefile.am: Patch from George Lebl to 
7507         install all the headers in the right place.
7508
7509 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7510
7511         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7512           initial conversion to DocBook.
7513
7514 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7515
7516         * README.win32: Improve a bit.
7517
7518         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7519         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7520         Alt+0nnn on the numpad (used to enter characters by numeric code
7521         from current DOS or ANSI codepage) working correctly, as in other
7522         Windows apps.
7523
7524         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7525         same argument validity tests as in X11 version.
7526         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7527
7528         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7529         definitions in case missing from headers.
7530
7531         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7532         destroy the window-specific cursor.
7533         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7534         calling GetModuleHandle(NULL).
7535         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7536         with CopyCursor before setting it as the window-specific
7537         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7538         also its Windows cursor) after calling this function. Destroy any
7539         previous window-specific cursor.
7540
7541 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7542
7543         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7544         font charset is iso8859-1, not iso-8859-1.
7545
7546 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7547
7548         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7549         Use g_get_charset() instead of g_get_codeset().
7550
7551         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7552         Comment out some strdup'ing functions to keep timj
7553         happy until we finish fighting this out.
7554
7555 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7556
7557         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7558         <= width or height.
7559
7560         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7561         from 1.2 for parent/child states.
7562
7563         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7564         of typos.
7565
7566         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7567         event structures, replace with a generic axes field. Replace 
7568         deviceid/sourec with GdkDevice *device.
7569
7570         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7571         to extract particular axis use value from event. (Also
7572         can be used for normal X/Y.)
7573
7574         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7575         allow for arbitrary number of axes, namespace everything
7576         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7577         everywhere.
7578
7579         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7580         Get rid of the gdk_input_vtable setup if favor of simply
7581         defining the functions in gdkinput-none/gxi/xfree.c in
7582         a similar fashion to the way that the port structure is 
7583         done.
7584
7585         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7586         for new event structures. 
7587
7588         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7589         new device interfaces.
7590
7591 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7592
7593         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7594         set the initial text.
7595
7596         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7597         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7598         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7599         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
7600
7601         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7602         pango_layout_set_font_description to simplify.
7603
7604 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
7605
7606         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7607         pango_layout_set_font_description to simplify.
7608
7609 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7610
7611         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7612         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7613         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7614
7615         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7616         PANGO_PIXELS() macro.
7617
7618 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7619
7620         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7621         that returns a PangoContext owned by the widget and updated to
7622         match future changes in the widget. Also, make 
7623         gtk_widget_create_pango_layout() use this context. If we ever
7624         add a ::changed signal to PangoContext, this will make things
7625         much more convenient. 
7626
7627         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7628         in the appropriate places instead of destroying the layouts and
7629         creating new ones.
7630
7631         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7632         in a few strategic places.
7633
7634 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7635
7636         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7637         gtk_widget_size_request() on reparented child, if one. Otherwise,
7638         queue_resize() on the child never results in it getting size-requested
7639         at all.
7640
7641         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7642         in option menus, so that (with luck) people won't copy it into
7643         their apps in the future.
7644
7645         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7646         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7647         a lot of problems with changing the size of the menu's menu
7648         items after adding it to the option menu.
7649
7650         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7651
7652         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7653         the text direction for a widget changes.
7654
7655         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7656         ::direction_changed to get rid of various hacks.
7657
7658 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7659
7660         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7661         name.
7662
7663 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7664
7665         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7666         flag to the structure. Do not call XFreePixmap on pixmaps created
7667         by gdk_pixmap_foreign_new().
7668
7669 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7670
7671         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7672         value using GdkRGB functionality given GdkColormap and GdkColor.
7673         (name not final, waiting for inspiration.)
7674         
7675         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7676         set the foreground/background of a GC using the GC's colormap
7677         and GdkRGB. (name not final, waiting for inspiration.)
7678
7679         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7680         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7681
7682         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7683         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7684         purely a function of the corresponding colormap. Make
7685         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7686
7687         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7688         gdk_pixbuf_*create_from_xpm_* in terms of
7689         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7690         code.
7691
7692         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7693         advantage of the new draw_rgb_32_image_dithalign.
7694
7695         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7696
7697         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7698         on each created GC.
7699
7700         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7701
7702         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7703         which we initialize from the drawable when the GC is created,
7704         if the drawable has a colormap.
7705
7706         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7707
7708         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7709
7710         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7711
7712 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7713
7714         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7715         actually returning expose events, make sure to set
7716         the count field properly.
7717
7718         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7719         accidentally reintroced bug which always cleared
7720         the graphics_exposures value. 
7721
7722 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7723
7724         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7725
7726 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7727
7728         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7729
7730 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7731
7732         * docs/faq/gtk-faq.sgml: Start of Section 6.
7733
7734 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7735
7736         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7737         
7738         (Fixes problem with drawing childless frames. Pointed out
7739         by and a first patch from Anders)
7740         
7741         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7742         compute a child_allocation, even if we don't have a child.
7743
7744         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7745         Always chain to the parent's impl, even if we don't have a child.
7746
7747 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7748
7749         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7750         use multiple parts of it instead of creating a bunch of separate
7751         segments, since the maximum number of segments per system is not
7752         large. (This might be worth backporting to GTK+-1.2.x if we make a
7753         new release )
7754
7755         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7756         structure in preparation for per-colormap GdkRGB.
7757
7758         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7759         to False when we get EINVAL from shmget so that the caller of
7760         gdk_image_new can retry with a smaller segment size.
7761
7762 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7763
7764         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7765
7766 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7767
7768         * configure.in: make the current version number 1.3.1 (binary age 0,
7769         interface age 0).
7770         
7771         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7772         gtkcompat.h is all we want.
7773
7774         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7775         GLib primitive types. fixed g_type_register_fundamental() argument
7776         ordering.
7777
7778         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7779         compiles.
7780
7781         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7782         object code cleanup, comment trigraph fixes, etc...
7783
7784 2000-06-23  Havoc Pennington  <hp@redhat.com>
7785
7786         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7787         instead of making up a bogus name for first_para_mark
7788
7789         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7790         0 as a context ID
7791
7792 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7793
7794         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7795
7796 2000-06-21  Havoc Pennington  <hp@pobox.com>
7797
7798         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7799         we didn't check window->bg_pixmap != GDK_NO_BG.
7800
7801         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7802         gdk-pixbuf
7803
7804 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7805
7806         * docs/faq/gtk-faq.sgm: Move file to here.
7807           TODO: Update Makfile.am 
7808
7809 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7810
7811         * docs/gtk-faq.sgm: Add Section 2
7812
7813 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7814
7815         * docs/gtk-faq.sgm: New file. Start of DocBook
7816           version of the FAQ.
7817
7818 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7819
7820         * configure.in (GDK_PIXBUF_MAJOR): Define version
7821         numbers for GDK_PIXBUF_*, as they get substituted
7822         into a header file. Need to consider versioning
7823         for gdk-pixbuf more carefully later.
7824
7825 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7826
7827         Work with srcdir != builddir.   
7828         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7829         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7830         * demos/testpixbuf.c: Likewise.
7831         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7832         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7833         <gdk/x11/gdkx.h>.
7834         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7835         "gdk-pixbuf.h".
7836         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7837
7838 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7839
7840         * TODO.xml: Change 1.4 version numbers to 2.0.
7841
7842 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7843
7844         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7845         fixups to GTK+ standard.
7846
7847 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
7848
7849         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
7850         gdk-pixbuf.
7851
7852         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
7853         fixups for GObject.
7854
7855         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
7856         gdk-pixbuf with GDK dependencies moved into GDK.
7857         
7858         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
7859         move gdk-pixbuf-loader here until GObject has signals.
7860
7861         * demos/: New directory of demos. Move demos from
7862         gdk-pixbuf here.
7863
7864         * demos/pixbuf-init.c: Small bit of code to check for
7865         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
7866         set GDK_PIXBUF_MODULEDIR appropriately.
7867
7868         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
7869         define which no longer makes sense.
7870
7871 2000-06-21  Havoc Pennington  <hp@redhat.com>
7872
7873         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
7874         gtk_get_default_language
7875
7876         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
7877         new function to get the default language
7878
7879         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
7880         s/gtk_text_view_style_values/gtk_text_style_values/
7881
7882         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
7883         Add a "language" field to tags.
7884
7885         (gtk_text_tag_set_arg): Fix bug in setting
7886         "bg_full_height_set" tag.
7887
7888 2000-06-21  Havoc Pennington  <hp@redhat.com>
7889
7890         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
7891         in the interfaces
7892
7893         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
7894         stuff instead when possible.
7895
7896         * gtk/gtktexttypes.h: Delete some unused constants
7897
7898         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
7899         testtextbuffer.c: use glib instead of custom unicode routines
7900
7901 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
7902
7903         * docs/es/: Removed mistakenly added generated sgml
7904
7905         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
7906         Remove outdated info files.
7907
7908         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
7909         Moved tutorial files into subdir
7910
7911         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
7912         subdir.
7913
7914         * docs/man/gtk_button.pod: Remove. (contents will be
7915         integrated into gtk-reference button page.)
7916
7917         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
7918         docs/faq/Makefile.am: Adjust for new organization
7919
7920 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
7921
7922         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
7923         not $(MKINSTALLDIRS)
7924
7925 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
7926
7927         * gtk/testgtk.c (create_text): Finish the job Elliot started
7928         of removing font setting test for text widget. (Since text widget
7929         and GdkFont are not deprecated, and cause portability problems.)
7930
7931 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7932
7933         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7934         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7935         Remove use of libunicode in favor of new GLib functions.
7936
7937         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7938         nano-x, framebuffer. The X11 include is just a hack until we get
7939         the necessary functions in gdkcolor.h, so there is no reason to
7940         add other includes of platforms.
7941
7942         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7943         window bigger than the screen change.
7944
7945         * gtk/testgtk.c: Revert some random changes from Elliot
7946         that had no particular point and were causing testgtkrc
7947         not to function correctly.
7948         
7949         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7950         because GdkSegment and GdkRegionBox have the same fields,
7951         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7952         results in clearer code.
7953
7954         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7955         gdk_input_translate_coordinates): Fix missed GdkObjectification
7956
7957 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7958
7959         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7960         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7961
7962 2000-06-20  Havoc Pennington  <hp@redhat.com>
7963
7964         * modules/linux-fb/Makefile.am: Make this compile
7965         without framebuffer enabled
7966
7967         * gdk/linux-fb/Makefile.am: Add conditional to not build
7968         framebuffer unless specified in configure
7969
7970         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7971         the size of the target instead of source if -1 was passed for
7972         width/height
7973
7974         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7975         width/height confusion.
7976
7977 2000-06-19  Havoc Pennington  <hp@redhat.com>
7978
7979         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7980         GDK_DRAWABLE_XID. In the future, we probably want to make it
7981         faster with G_DISABLE_CHECKS turned on.
7982
7983 2000-06-14  Havoc Pennington  <hp@redhat.com>
7984
7985         * gdk/Makefile.am: add gdkpixmap.c
7986
7987         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7988         s/gdk_image_init/_gdk_windowing_image_init
7989
7990         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7991         ref/unref
7992
7993         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7994
7995         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7996         GdkWindowType is now non-deprecated; 
7997         change gdk_window_get_type() compat to be
7998         gdk_window_get_window_type().
7999
8000         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8001
8002         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8003         virtual GObject. Make all functions call into the vtable.
8004         Move gdk_image_put() guts in here. Remove GdkDrawableType
8005         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8006         draw_image, get_depth, get_size, set_colormap, get_colormap,
8007         get_visual added to the vtable.
8008         
8009         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8010         GObject. Virtualize everything. 
8011         (gdk_gc_new_with_values): remove check for destroyed window,
8012         because now GdkWindow::create_gc will check this.
8013         (gdk_gc_set_values): New function to set GC values, this 
8014         was already implemented but wasn't in the header
8015
8016         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8017
8018         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8019         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8020         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8021         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8022         _gdk_windowing_window_init, rename gdk_image_init to
8023         _gdk_windowing_image_init.
8024         
8025         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8026         (gdk_draw_layout): Remove check for destroyed window, 
8027         because all the drawable methods already check it.
8028         
8029         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8030         Add gdkpixmap.c which contains implementation of GdkDrawable
8031         virtual table (by chaining to a platform-specific implementation
8032         object).
8033         
8034         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8035         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8036         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8037         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8038         GdkColormapPrivate. 
8039
8040         * gdk/gdktypes.h: #include <glib-object.h>
8041
8042         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8043         Move most functionality to platform-specific implementation
8044         object. GdkWindow itself now handles the backing store, then
8045         chains to the platform-specific implementation.
8046         (gdk_window_get_window_type): return GdkWindowType of the window.
8047         (gdk_window_peek_children): New routine, returns the children of 
8048         a GdkWindow
8049         (gdk_window_get_children): Was in X11-specific code and did 
8050         XQueryTree. Changed to simply return a copy of window->children; 
8051         so it can go in cross-platform code.
8052         
8053         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8054
8055         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8056         GdkColormap; just changed to use the new private data instead
8057         of casting to GdkColormapPrivate.
8058
8059         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8060         gdk_cursor_new().
8061
8062         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8063         (private data member in the GObject). 
8064         (xdnd_manager_source_filter): Function had broken 
8065         error handling, fix it (use gdk_error_trap_push).
8066
8067         * gdk/x11/gdkdrawable-x11.c: This file now implements
8068         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8069         base class is purely for the convenience of the X port,
8070         and not part of the interface to cross-platform GDK.
8071
8072         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8073         
8074         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8075         specific to X, and returned by the create_gc virtual method
8076         of GdkDrawableImplX11. 
8077         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8078         rather than gchar, this was also changed in the GdkGC vtable.
8079         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8080         mask is 0, return immediately, instead of checking every flag.
8081         This is faster, and keeps us from segfaulting if values is NULL
8082         and the mask contains some nonzero flags.
8083
8084         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8085         GdkWindow.
8086
8087         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8088         GdkWindowPrivate is gone.
8089
8090         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8091
8092         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8093         remove the image_put stuff that got transferred to GdkDrawable.
8094         
8095         * gdk/x11/gdkinput.c: renamings
8096
8097         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8098
8099         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8100
8101         * gdk/x11/gdkprivate-x11.h: indentation fixes
8102
8103         * gdk/x11/gdkproperty-x11.c: renamings
8104
8105         * gdk/x11/gdkselection-x11.c: renamings
8106
8107         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8108         implements the platform-specific "impl" object.
8109         Moved gdk_window_get_children to gdk/gdkwindow.c
8110
8111         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8112         that no longer exist. Add declaration of GdkGCX11 object here.
8113         Fix all the macros to still work. 
8114
8115         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8116         GdkDragContext from the boxed types since they are now GObjects.
8117
8118         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8119         moved xthickness/ythickness into the instance. GtkStyleClass
8120         functions are now in the standard vtable for GtkStyle, so you have
8121         to create a GObject subclass to write a theme engine.
8122         (gtk_style_copy): fixed a leaked PangoFontDescription
8123         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8124         can be the standard GObject function.
8125         
8126         * Throughout GTK:
8127         s/style->klass->[xy]thickness/style->[xy]thickness
8128         s/pango_layout_unref/g_object_unref/
8129
8130         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8131         
8132         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8133         accessing GDK internals.
8134
8135         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8136         accessing GDK internals.
8137
8138 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8139
8140         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8141
8142         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8143         problem by calculating event position relative to the trough
8144         rather than the slider.
8145         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8146
8147         * gdk/gdkgc.h: Add GDK_NOR.
8148
8149         * configure.in, Makefile.am: Add modules top level dir
8150         * configure.in: Only use pangox library if building x11 target.
8151         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8152
8153 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8154
8155         * gtk/gtkcolorsel.c: Change private class member to be named
8156         private_data throughout the file.
8157
8158         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8159         private_data to avoid clashing with keyword.
8160
8161 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8162
8163         * gdk/gdkdnd.h: Add comment to remove warning.
8164
8165 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8166
8167         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8168         Byelorussian language; changed the Makefile and file names 
8169         to reflect that.
8170
8171 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8172
8173         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8174         rather than gdk_window_hide; this makes things work
8175         correctly if the window is programmatically hidden while
8176         iconified.
8177
8178 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8179
8180         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8181         cut and paste typo where wrong pixmap was being
8182         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8183
8184 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8185
8186         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8187         Add helper function to compute format / bytes 
8188         relationship. Use in a couple places to fix up
8189         errors which assume 8 * format.
8190
8191         * gtk/gtkselection.c (gtk_selection_request): Use 32
8192         rather than 8 * sizeof (GdkAtom), to work correctly
8193         on Alpha.
8194
8195 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8196
8197         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8198         libgtk.la
8199         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8200         versions
8201
8202         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8203         checking macros return NULL since the function has a return value.
8204
8205 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8206
8207         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8208         GTK+ from building at all.
8209
8210         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8211
8212 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8213
8214         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8215         gtk/Makefile.am: make it possible to configure gtk for different
8216         targets on the same platform. The library name is now 
8217         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8218         flag. Only the x11 target compiles right now.
8219         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8220         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8221         * gdk/nanox/gdk*generic*: delete generic region code.
8222         * gdk/linux-fb/gdk*generic*: delete generic region code.
8223         * README.nanox: update information.
8224         
8225 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8226
8227         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8228         prepend not append. (Pointed out by Brett Hall.)
8229
8230 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8231
8232         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8233
8234 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8235
8236         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8237         need this later, and this makes sure that the atexit for
8238         glib gets called after that for GDK, so atexits are
8239         properly ordered for object leak checking.
8240
8241         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8242
8243         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8244         pango_x_shutdown_display()
8245
8246         * gtk/simple.c (main): Close window on destroy.
8247
8248 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8249
8250         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8251         to treat initial creation different from setting with 
8252         regards to the graphics-exposures parameter, so add a parameter
8253         indicating whether this is initial or not.
8254
8255 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8256
8257         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8258         to sort of work by adding an extra return_exposes arg
8259         to gdk_event_translate() - it might be better to simply
8260         deprecate the function altogether and force people to rewrite
8261         without it. gdk_window_scroll() handles most of it, and where
8262         gdk_window_scroll() doesn't work, simply redrawing more does.
8263
8264         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8265         assertion.
8266
8267         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8268
8269         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8270         bunch of pretty much useless /* Print debugging info */ comments 
8271         which had drifted away from the code they were commenting.
8272
8273 2000-06-02  Havoc Pennington  <hp@pobox.com>
8274
8275         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8276         is in working order.
8277         
8278         * gtk/testtext.c: Change to reflect anonymous mark API
8279
8280         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8281
8282         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8283         field, which was unused.
8284
8285         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8286         saves some typing.
8287
8288         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8289
8290         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8291         flag on the insertion point and selection bound
8292
8293         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8294         make mark-manipulation functions take a GtkTextMark* instead of a
8295         mark name.
8296         
8297         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8298         GtkTextMarkBody; will be used to detect attempts to delete
8299         the permanent marks (insert and selection bound)
8300
8301         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8302
8303 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8304
8305         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8306         flag to on.
8307
8308         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8309         Honor DOUBLE_BUFFRED_FLAG
8310
8311         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8312         function to set the DOUBLE_BUFFERED flag.
8313
8314         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8315         or not exposes done on the widget should be double-buffered.
8316
8317         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8318         to be what would be expected. (Fixes problem with a
8319         g_return_if_fail() validating a TextDirection enumeration)
8320
8321 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8322
8323         * gtk/gtkwidget.c: Remove all references to 
8324         offscreen flag which was no longer used.
8325
8326         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8327
8328         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8329         for non-null label_widget->parent.
8330
8331         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8332         which no longer was used.
8333
8334         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8335
8336         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8337         for null arguments.
8338
8339         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8340         check for destroyed windows.
8341
8342 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8343
8344         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8345         the slave context there.
8346
8347         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8348         identical to GtkWindow.
8349
8350 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8351
8352         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8353         pangox to here, so we can write them independent of rendering
8354         system, using GDK primitives.
8355
8356         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8357         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8358         since we have a rendering-system independent implementation in
8359         terms of draw_glyphs().
8360         
8361         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8362         function to render a single line.
8363
8364         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8365         into ../gdkpango.c, which simplifies things, since we
8366         don't have to deal with raw X gc's.
8367
8368 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8369
8370         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8371         get the logical attributes for a given GtkTextLine.
8372
8373 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8374
8375         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8376         g_locale_get_codeset() to g_get_codeset() change.
8377
8378 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8379
8380         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8381         descriptions.
8382
8383         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8384         the entry.
8385
8386         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8387         redoing (vastly simplifying) for Pango. Still needs quite
8388         a bit of work. (Size selection is currently poor. List of 
8389         predefined sizes is not a good idea, since all of these
8390         sizes won't necessarily be distinct.)
8391
8392 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8393
8394         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8395         CODESET results for LANG=C.
8396
8397 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8398
8399         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8400         which takes a stringized pango font description;
8401         ignore the older 'font' and 'fontset' declarations.
8402
8403         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8404         field with a GdkFont derived via gdk_font_from_description(),
8405         for compatibility. (Should we just remove it entirely?
8406         Probably too much compatibility breakage, but people
8407         should be migrating to the new Pango stuff as quickly
8408         as possible.)
8409
8410 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8411
8412         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8413
8414 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8415
8416         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8417         redoing; there are some bugs in size allocation right
8418         now, the semi-existant distinction between header / day
8419         fonts was removed, but, with Pango, could actually
8420         be made functional in a nice way.
8421         
8422         * gtk/testcalender: Move calender from examples into this
8423         directory as a test program. (We really need to restrcture
8424         testgtk into a whole directory full of tests for every
8425         widget or functionality group, separated into multiple .c
8426         files.)
8427
8428 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8429
8430         * gtk/testgtk.c (file_exists): Fix stupid typo that
8431         was keeping RC file from being loaded.
8432
8433         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8434         RC file font code.
8435
8436 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8437
8438         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8439         Add function to load a GdkFont from a PangoFontDescription.
8440
8441 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8442
8443         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8444         variable should be of type GdkEventPrivate.
8445
8446 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8447
8448         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8449         to have any widget for the label, use a GtkLabel widget
8450         to display the text. (Based partially on a patch from
8451         Anders Carlson.)
8452
8453         (Quite a bit of code reorganization - strip 90% of the
8454         guts out of gtkaspectframe and add a single virtual
8455         func to GtkFrameClass - compute_child_allocation.)
8456
8457 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8458
8459         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8460         (Removed clist->row_center_offset field because caching
8461         it wasn't saving time or code, added private function
8462         _gtk_clist_create_cell_layout()).
8463
8464 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8465
8466         * gtk/gtkaccellabel.c: Pangoized.
8467
8468         * gtk/[hv]ruler.c: Pangoized
8469
8470 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8471
8472         * gtk/gtkfilesel.c (gtk_file_selection_init):
8473         Use gtk_clist_set_column_auto_resize() to remove need
8474         need for manual column width computations.
8475
8476 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8477
8478         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8479         ensuring Pango correctness, and considerably simplifying the
8480         code.
8481         
8482         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8483
8484         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8485         getting of numbers of lines.
8486
8487         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8488         to the actual requested width of the lable, not to the wrap
8489         width we set.
8490
8491         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8492
8493         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8494           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8495
8496         * gtk/gtktextview.c: Fix structure inheritance.
8497
8498         * gtk/gtkprogressbar.c: Pangoize.
8499
8500 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8501
8502         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8503         in a function.
8504
8505         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8506         bug with computing line tops.
8507
8508         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8509
8510 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8511
8512         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8513         and y_offset coordinates to do what we need now. (The offset between
8514         buffer and layout coordinates has been reintroduced, but is a 
8515         bit different than before.)
8516
8517         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8518         handle the adjustments ourselves, and scroll as necessary using
8519         the new gdk_window_scroll().
8520         
8521         The advantage of this is that when we are incrementally revalidating,
8522         we are essentially rearranging things around the visible portion
8523         of the screen. With the old setup, the visible portion of the
8524         screen was moved around in the layout, so scrolling and redrawing
8525         to track that caused jumping of the display. Since we now
8526         control the scrolling ourselves, we can suppress this and
8527         only redraw when things actually change.
8528
8529 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8530
8531         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8532         the region not just redisplay it after-all, since we store the
8533         cursors in the LineDisplay. (Ugly interactions here between
8534         GtkLayout and GtkTextBTree here.)
8535         
8536         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8537
8538 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8539
8540         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8541         Added function to scroll contents of a window while keeping the
8542         window constant. Works by XCopyArea or guffaw-scrolling depending
8543         on the details of how the window is set up. (guffaw-scrolling
8544         still needs to be filled in.)
8545
8546 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8547
8548         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8549         move the debugging that was tied to a global variable
8550         to that.
8551
8552         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8553
8554         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8555         validated flag, in line data instead of setting height/width to
8556         -1. This allows us to perform operations with partially invalid
8557         buffer (using the old size for invalid lines) and thus to do
8558         incremental vaidation. Keep height/width aggregates up to date
8559         when deleting text and rebalancing the tree.
8560
8561         * gtk/gtktextbtree.[ch]: Add functions validate a line
8562         (gtk_text_btree_validate_line), and to validate up
8563         to a number of pixels (gtk_text_btree_validate).
8564
8565         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8566         that indicates that something is changed and a revalidation
8567         pass is needed. Change ::need_repaint to ::changed, and
8568         make it take old and new yranges instead of a rectangle.
8569
8570         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8571         the line_data_destroy() function from 
8572         gtk_text_btree_add_view() to a virtual function in 
8573         GtkTextLayout
8574
8575         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8576         since we are handling partial repaints in a different fashion
8577         now.
8578
8579         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8580         of the selection instead of queueing a repaint on the
8581         entire widget.
8582
8583         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8584         get_selection_bounds() down to btree, make the function
8585         in buffer a wrapper around the btree function.
8586
8587         * gtk/gtktextlayout.[ch]: Add functions to check if the
8588         layout is valid and to recompute either a range of pixels
8589         aroudn a line or a certain total number of pixels.
8590
8591         * gtk/gtktextlayout.[ch]: Cache a single line display;
8592         now that we only redraw the needed portions, the hit rate
8593         for this cache is quite high.
8594         
8595         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8596         on the screen so that when re-laying-out the buffer, we can
8597         keep the same place. This requires connecting to ::value_changed
8598         on the adjustments
8599
8600         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8601         the buffer after we receive an ::invalidated signal.
8602         
8603 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8604
8605         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8606         to max of allocation and layout size, not just to the
8607         layout size.
8608
8609         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8610         Invalidate window so it gets redrawn properly.
8611
8612         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8613         to mean the entire window.
8614
8615         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8616         into public header.
8617
8618 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8619
8620         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8621         to get the name of a mark.
8622
8623         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8624         to find the paragraph from a y position.
8625
8626 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8627
8628         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8629         nodes have width/height >= 0, not > 0.
8630
8631 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8632
8633         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8634         Add a size_only flag, so when we only need the size, we don't create
8635         useless appearance attributes.
8636
8637         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8638         duplicate setting of font description.
8639
8640         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8641
8642 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8643
8644         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8645         EXTRA_DIST. It does not work well when the file that
8646         everything depends on is not in the tarball.
8647
8648 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8649
8650         * gtk/testgtk.c: Some hacks and fixes so that it basically
8651         works when not sitting in the GTK+ build tree.
8652
8653 2000-05-03  Havoc Pennington  <hp@redhat.com>
8654
8655         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8656         Properly determine the ordering of the tag root and the current
8657         line within the tree. Previous algorithm only worked if the tag
8658         root's immediate parent was the common root of both the current
8659         line and the tag root.
8660
8661 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8662
8663         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8664         alignment.
8665
8666         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8667         the widget text directional dynamically.
8668
8669         * gtk/gtktextview.[ch]: Added functions to get and set default
8670         wrap mode.
8671
8672 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8673
8674         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8675         in cursor location computation.
8676
8677 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8678
8679         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8680         vadjusment values properly when layout gets smaller.
8681
8682         * gtk/gtktextview.c (need_repaint_handler): Areas being
8683         passed in are far completely inaccurate, and sometimes
8684         too small, so, for now, just queue a redraw on the
8685         whole visible region.
8686
8687 2000-04-25  Havoc Pennington  <hp@redhat.com>
8688
8689         * gtk/gtktextbtree.c (summary_destroy): new function to 
8690         destroy tag summary nodes
8691         (gtk_text_line_next_could_contain_tag): this function was 
8692         totally broken if the line passed in wasn't below the tag
8693         root. Fix it.
8694         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8695         "wildcard" case, we have to do a linear scan. Blah.
8696         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8697         we have to do the linear scan
8698         (tag_removed_cb): When a tag is removed from the tag table, 
8699         remove the GtkTextTagInfo node from the btree.
8700         (gtk_text_btree_spew): Implement the spew function, for 
8701         our debugging pleasure.
8702
8703 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8704
8705         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8706         a problem with referring to the wrong buffer.
8707
8708         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8709
8710         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8711         font description to gtk_style_new() - otherwise things
8712         don't work without a .gtkrc file.
8713
8714         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8715         tags table if we create it ourself, too.
8716
8717         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8718         it was conflicting with XKB modifiers.
8719
8720         * gtk/gtktextview.[ch]: Add simple support for 
8721         GtkIMContext.
8722
8723 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8724
8725         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8726         with deletion from last commit.
8727
8728 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8729
8730         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8731         in the context from the current locale.
8732         
8733         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8734         context, not hardcoded value.
8735
8736         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8737         not logical.
8738
8739 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8740
8741         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8742         attributes - that doesn't handle partial-glyph selection
8743         properly. Instead use new pango_layout_line_get_x_ranges()
8744         functionality to draw the selection.
8745
8746         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8747         now properly handles out-of-range coordinates.
8748
8749         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8750
8751         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8752         public.
8753
8754         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8755         for paragraphs opposite to the base direction of the widget.
8756
8757         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8758
8759         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8760         causes Arabic words to reshape as you cursor through.
8761
8762         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8763         cursor position when moving vertically with the arrow keys and
8764         scrolling with page-up/page-down. (Arrow keys save only the X,
8765         scrolling saves both X and Y.)
8766
8767         This means you can line-up / line-down or page-up / page-down
8768         without losing your place, and also that moving vertically
8769         with the cursor keys keeps the same X position, not the same
8770         character count:
8771
8772         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8773         arrow keys move by display lines, not paragraphs.
8774
8775 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8776
8777         * gtk/gtklayout.c: Make sure that the bin window is at least
8778         as big as the allocation. (Should we also make sure that the
8779         bin window is big enough to completely cover widget->window?)
8780
8781         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8782         function to get the onscreen rectangle.
8783
8784         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8785         for offsets in window coordinates.
8786
8787 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8788
8789         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8790         confusion.
8791
8792         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8793         from the widget direction.
8794
8795         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8796         Add a "direction" attribute.
8797
8798         * gtk/gtktextview.c: global s/tkxt/text_view/.
8799
8800         * gtk/testtext.c: Added long block of text in Arabic, to test out
8801         the direction attributes. (Some problems with the shaping system
8802         for arabic become obvious - like the fact the cursor splits words
8803         into unjoined pieces.)
8804
8805 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8806
8807         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8808
8809         * gtk/gtktextlayout.c: Fix up alignment.
8810
8811         * gtk/testtext.c: Add some tests for centering, wrapping.
8812
8813 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8814
8815         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8816         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8817         If we wrote GTK+-specific layout-render function this could just replace
8818         the draw_layout() operation in the vtable.
8819
8820         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8821         pango_layout_get_cursor_pos() and use that function.
8822
8823         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8824         is a non-static symbol.
8825
8826         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8827         with gtk_text_btree_find_line_by_y()
8828
8829         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8830         renderer that handles GtkTextAppearance attributes.
8831
8832         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8833
8834           - Move the values in the style that don't affect geometry into a
8835             GtkTextAppearance structure.
8836           - Change underline to take a PangoUnderline and "font" a string
8837             representation of a font description
8838           - Add a "font_desc" attribute which takes a FontDescription structure.
8839
8840         * gtk/gtktextlayout.[ch]:
8841
8842           - Get rid of the display-line list per each line. Instead, we
8843             generate, on demand, a GtkTextLineDisplay structure which]
8844             contains a PangoLayout * and other necesary information
8845             (offsets, cursor locations) for displaying a paragraph.
8846           - Get rid of the code to wrap lines, create display chunks,
8847             etc. Instead, we just go through a paragraph and convert
8848             it into the necessary inputs to a PangoLayout.
8849           - Implement a new attribute type, GtkTextAttrAppearance. This
8850             holds a GtkTextAppearance, and is used to pass colors, 
8851             stipple, etc, through from the layout to the display without
8852             having to use lots and lots of individual attributes.
8853           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
8854             in terms of PangoLayout functions.
8855         
8856         * gtk/gtktextview.c: 
8857          
8858           - Handle passing the necessary PangoContext to the layout
8859           - Some fixups in painting to deal with the automatic backing store
8860             and offsetting of GTK+-1.4
8861           - Add a style_set handler so that the default style reacts
8862             properly to theme changes.
8863         
8864         * gtk/gtktext?*.[ch]: Random code-style fixes.
8865
8866         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
8867
8868 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
8869
8870         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
8871         in original form preparatory to Pango-ization and gdkimcontext-ization.
8872
8873 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
8874
8875         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
8876         so that we can derive from gtkimcontext in language bindings properly.
8877
8878 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
8879
8880         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
8881         Add a compose table including (almost) all the compose combinations
8882         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
8883         data in the XIM implementation.
8884
8885         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
8886         Moved functions to convert keyvalues from and to unicode here from
8887         the win32 port and made them public.
8888
8889 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8890
8891         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
8892
8893 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
8894
8895         * gtk/gtkimcontext.[ch]: Base class for new input context system
8896
8897         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
8898         the real input context implementation to be loaded from modules
8899         and switched on the fly.
8900
8901         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
8902         context that just does direct keysymbol => unicode translation.
8903
8904         * gtk/gtkentry.[ch]: Start switching editing over to using
8905         GtkInputContext. (No handling of preedit yet.)
8906
8907 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
8908
8909         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
8910         many substitutions. (klass should not be subsituted.)
8911
8912 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
8913
8914         * configure.in: Add checks for Pango
8915
8916         * configure.in docs/Makefile.am: Add test for sgml2html
8917         and allow 'make dist' without building html, but print out
8918         warnings in that case. (For making snapshots)
8919
8920         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
8921         Add Pango libraries and C flags
8922
8923         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8924         Add function (gdk_draw_layout) to draw a pango layout.
8925
8926         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8927         for getting Pango contexts for GDK.
8928
8929         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8930
8931         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8932         editing.
8933
8934         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8935         keysym => unicode translations. More languages can be added
8936         here, but real input-method support is needed.
8937
8938         * docs/Changes-1.4.txt: Added note about entry behavior.
8939         
8940         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8941         to set the reading direction for a widget and the global direction.
8942         Add test which allows toggling the global direction. Two private
8943         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8944
8945         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8946           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8947
8948         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8949
8950         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8951         underlining now handled by Pango.
8952
8953         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8954         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8955         is temporary.)
8956
8957         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8958         convenience functions for creating contexts and layouts for widgets.
8959
8960         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8961
8962 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8963
8964         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8965         titles to be active, even if they aren't visible.
8966         (gtk_clist_column_titles_passive):  Ditto.
8967
8968 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8969
8970         * gtkmenu.c:
8971         * gtkmenu.h:
8972         * gtktypeutils.h: Spelling/grammar fixes in comments.
8973
8974 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8975
8976         * gdk/nanox/*.h: add missing header files.
8977
8978 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8979
8980         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8981         send_event to TRUE.
8982         (gtk_drawing_area_size): queue a resize.
8983
8984 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8985
8986         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8987         the handlers, also invalidate them. bug nailed down by Karl Nelson
8988         <kenelson@ece.ucdavis.edu>.
8989
8990 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8991
8992         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8993         "(nil)" foundries, patch from Grigorios Magklis.
8994
8995         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8996         on non-available fonts, based on a patch by Grigorios Magklis
8997         <maglis@cs.rochester.edu>.
8998
8999 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9000
9001         * gdk/x11/gdkregion-generic.c: If a region does not have any
9002         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9003         instead of GDK_OVERLAP_RECTANGLE_IN.
9004
9005 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9006
9007         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9008         OFFSCREEN, as it is no longer necessary.
9009
9010 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9011
9012         * gtk/gtkcolorsel.c: Patch from David Santiago
9013         <mrcooger@cyberverse.com> to change things so that the 
9014         indicator of the active palette entry is done independently,
9015         not via the focus, since it should always be visible.
9016
9017 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9018
9019         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9020         refcount leaks as in the X11 backend.
9021
9022         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9023         cosmetics.
9024
9025         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9026         backend. Add _gdk_windowing_window_destroy().
9027
9028         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9029         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9030         either, but these probably do exist on nanox?)
9031         
9032         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9033         which isn't necessarily defined by <math.h>.
9034
9035         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9036         ancestry past GtkObject.
9037
9038         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9039         from DLL on Win32.
9040
9041         * gtk/gtk.def: Update corresponding to recent changes.
9042
9043         * gtk/makefile.{cygwin,msc}: Updates.
9044
9045 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9046
9047         * docs/Changes-1.4.txt: A bit of editing.
9048
9049         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9050         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9051         to clear the update area for the window, and clear it
9052         when hiding a window.
9053
9054         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9055         if window destroyed.
9056
9057         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9058
9059         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9060         gdk_window_destroy() to the generic code, since there was a lot of 
9061         window-system-independent logic it in. Add a function:
9062         
9063          _gdk_window_destroy() 
9064
9065         to the internal API to destroy a window without unreferencing it.
9066         Add a function:
9067
9068          _gdk_windowing_window_destroy()
9069
9070         That does the windowing-system-dependent part of destroying 
9071         the window.
9072
9073 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9074
9075         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9076
9077 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9078
9079         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9080         Make gtk_widget_shape_combine_mask() keep a reference count on
9081         the pixmap since it keeps it around.
9082
9083 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9084
9085         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9086         leak.
9087
9088         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9089         leak with event filters.
9090
9091 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9092
9093         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9094         signal handlers with the right data arguments. (Fixes
9095         some warnings when a widget was repeatedly set as a drag
9096         destination.)
9097
9098         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9099         window so we can avoid avoid setting the DND properties on the
9100         toplevel window repeatedly.
9101
9102 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9103
9104         * gdk/win32/gdkwin32.h: Define more message types missing from
9105         mingw headers.
9106
9107         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9108         call gdk_window_destroy_notify(). It was never called. This
9109         probably meant that the GdkWindow was never freed. Thanks Owen for
9110         noticing (!).
9111
9112         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9113         window as destroyed before calling DestroyWindow(). DestroyWindow()
9114         causes a call to the window procedure (gdk_WindowProc), which
9115         calls gdk_event_translate(), which calls
9116         gdk_window_destroy_notify(), which gets confused unless the window
9117         is set as destroyed.
9118
9119         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9120         this function to indicate it's win32 only. Put inside #ifdef
9121         G_ENABLE_DEBUG.
9122
9123         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9124         debugging function. (gdk_event_translate:) Add a default branch
9125         that uses the above function to print debug messages with all
9126         Windows messages symbolically.
9127
9128         * gdk/win32/gdkprivate-win32.h: Declare it, and
9129         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9130
9131 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9132
9133         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9134         public header file.
9135
9136 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9137
9138         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9139
9140         * gtk/gtktext.c: made the adjustments no-construct args, simply
9141         provide default adjustments.
9142         (gtk_text_destroy): release adjustments.
9143
9144         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9145         adjustment argument non-construct.
9146
9147         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9148         instead of in finalize.
9149         (gtk_progress_get_text_from_value): 
9150         (gtk_progress_get_current_text): 
9151         (gtk_progress_set_value): 
9152         (gtk_progress_get_percentage_from_value): 
9153         (gtk_progress_get_current_percentage): 
9154         (gtk_progress_set_percentage): 
9155         (gtk_progress_configure): ensure an adjustment is present.
9156
9157 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9158
9159         * gtk/gtkcolorsel.[hc]:
9160         * gtk/gtkcolorseldialog.[hc]:
9161         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9162         their parent implementation, use bit fields for boolean values, don't
9163         create unused widgets, usage of glib types, braces go on their own
9164         lines, function argument alignment, #include directives etc. etc. etc..
9165
9166         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9167
9168 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9169
9170         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9171
9172         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9173         of NULL.
9174
9175         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9176         to freed data.
9177         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9178
9179         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9180         to NULL when the toplevel is getting destroyed.
9181         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9182         (gtk_menu_destroy): 
9183         (gtk_menu_init): store the information of whether we have to
9184         readd the initial child ref_count during destruction in a new
9185         GtkMenu field needs_destruction_ref_count.
9186
9187         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9188         here, those reading: learn from my mistake! ;)
9189         in order for set_?adjustment to support a default adjustemnt if
9190         invoked with an adjustment pointer of NULL, the code read (pseudo):
9191         if (v->adjustment) unref (v->adjustment);
9192         if (!adjustment) adjustment = adjustment_new ();
9193         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9194         now imagine the first unref to actually free the old adjustment and
9195         adjustment_new() creating a new adjustment from the very same memory
9196         portion. here, the latter comparision will unintendedly fail, and
9197         all hell breaks loose.
9198         (gtk_viewport_set_hadjustment):
9199         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9200         after unreferencing it.
9201
9202         * gtk/gtkcontainer.[hc]: removed toplevel registration
9203         functions: gtk_container_register_toplevel(),
9204         gtk_container_unregister_toplevel() and
9205         gtk_container_get_toplevels() which had wrong semantics
9206         anyways: it didn't reference and copy the list.
9207
9208         * gtk/gtkwindow.c: we take over the container toplevel registration
9209         bussiness now. windows are registered across multiple destructions,
9210         untill they are finalized. the initial implicit reference count
9211         users are holding on windows is removed with the first destruction
9212         though.
9213         (gtk_window_init): ref & sink and set has_user_ref_count, got
9214         rid of gtk_container_register_toplevel() call. add window to
9215         toplevel_list.
9216         (gtk_window_destroy): unref the window if has_user_ref_count
9217         is still set, got rid of call to
9218         gtk_container_unregister_toplevel().
9219         (gtk_window_finalize): remove window from toplevel list.
9220         (gtk_window_list_toplevels): new function to return a newly
9221         created list with referenced toplevels.
9222         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9223
9224         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9225         adjustment a non-construct arg.
9226         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9227         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9228         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9229
9230         * gtk/gtkrange.c: added some realized checks.
9231         (gtk_range_destroy): get rid of the h/v adjustments in the
9232         destroy handler instead of finalize. remove timer.
9233         (gtk_range_get_adjustment): demand create adjustment.
9234
9235         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9236         we simply create them on demand now and get rid of them in
9237         the destroy handler.
9238         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9239         destroy handler instead of finalize.
9240         (gtk_viewport_get_hadjustment): 
9241         (gtk_viewport_get_vadjustment): 
9242         (gtk_viewport_size_allocate): demand create h/v adjustment
9243         if required.
9244
9245         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9246         gtk_widget_real_destroy () functionality.
9247         (gtk_widget_real_destroy): reinitialize with a new style, instead
9248         of setting widget->style to NULL.
9249
9250 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9251
9252         * gtk/gtkcalendar.c:
9253         * gtk/gtkbutton.c: ported _get_type() implementation over to
9254         GType, either to preserve memchunks allocation facilities,
9255         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9256
9257         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9258         over. prepare for ::destroy to be emitted multiple times.
9259         removed reference tracer magic. chain into GObjectClass.shutdown()
9260         to emit ::destroy signal.
9261
9262         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9263         fundamental.
9264
9265         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9266         cludge.
9267
9268         * gtk/gtksocket.c:
9269         * gtk/gtkplug.c:
9270         * gtk/gtklayout.c:
9271         * gtk/gtklabel.c:
9272         * gtk/gtkargcollector.c:
9273         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9274         not being a fundamental anymore, and to work with the new
9275         type system (nuked fundamental type varargs clutter).
9276
9277         * gtk/*.c: install finalize handlers in the GObjectClass
9278         part of the class structure.
9279         changed direct GTK_OBJECT()->klass accesses to
9280         GTK_*_GET_CLASS().
9281         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9282
9283         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9284         GType. made most of the GTK_*() type macros and Gtk* typedefs
9285         simple wrappers around macros and types provided by GType.
9286         most notably, a significant portion of the old API vanished:
9287         GTK_TYPE_MAKE(),
9288         GTK_TYPE_SEQNO(),
9289         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9290         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9291         GTK_TYPE_ARGS,
9292         GTK_TYPE_CALLBACK,
9293         GTK_TYPE_C_CALLBACK,
9294         GTK_TYPE_FOREIGN,
9295         GtkTypeQuery,
9296         gtk_type_query(),
9297         gtk_type_set_varargs_type(),
9298         gtk_type_get_varargs_type(),
9299         gtk_type_check_object_cast(),
9300         gtk_type_check_class_cast(),
9301         gtk_type_describe_tree(),
9302         gtk_type_describe_heritage(),
9303         gtk_type_free(),
9304         gtk_type_children_types(),
9305         gtk_type_set_chunk_alloc(),
9306         gtk_type_register_enum(),
9307         gtk_type_register_flags(),
9308         gtk_type_parent_class().
9309         replacements, where available are described in ../docs/Changes-1.4.txt.
9310         implemented compatibility functions for the remaining API.
9311
9312         * configure.in: depend on glib 1.3.1, use gobject module.
9313
9314 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9315
9316         * TODO.xml: Various updates to current status.
9317
9318 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9319
9320         * gtk.m4: Print out version when test succeeds.
9321
9322 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9323
9324         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9325         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9326         
9327         (Original triangle color selector from Simon Budig
9328         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9329         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9330         Santiago <mrcooger@cyberverse.com>)
9331
9332         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9333         out into a separate widget.
9334
9335         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9336         and opacity controls.
9337
9338 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9339
9340         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9341         snuck in prematurely.
9342
9343 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9344
9345         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9346         had deleted a ! operator by mistake, which caused
9347         GDK_SELECTION_CLEAR events never to be generated, which caused
9348         only the first copy to the clipboard from an gtkeditable to
9349         actually cause a copy to the Windows clipboard.
9350
9351 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9352
9353         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9354         compilation, too. Current mingw gcc distributions include the
9355         necessary headers. Also the necessary IIDs are now in mingw
9356         headers/libraries, and own definitions unnecessary.
9357
9358         More hacking on OLE2 DND, still doesn't work though, and thus
9359         ifdeffed out.
9360
9361         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9362         here, too.
9363
9364 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9365
9366         * gdk/nanox/*: nano-X port work in progress.
9367         * gdk/simple.c: simple test for Gdk.
9368         * README.nanox: notes about the port: read this first!
9369         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9370         with nano-X.
9371
9372 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9373
9374         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9375         gdk_window_clear() into common code, implement in terms of
9376         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9377         not redirected to the backing rectangle.
9378
9379 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9380
9381         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9382         EXTRA_DIST. It does not work well when the file that
9383         everything depends on is not in the tarball.
9384
9385 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9386
9387         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9388         with recursion where process_updates() is called from
9389         an expose handler. (GtkTextView is highly broken in
9390         doing this, but it should work, so it is a nice test
9391         case.)
9392
9393 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9394
9395         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9396         handle the case where updates are queued during processing of
9397         updates.
9398
9399 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9400
9401         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9402         window is on gdk_display - use that instead of segfaulting.
9403
9404 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9405
9406         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9407         broken and require an empty arg, give it to them.
9408
9409 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9410
9411         * gtk/gtklabel.h: indentation fixes.
9412
9413 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9414
9415         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9416         draw too narrow or too low arcs, they seem to fail, at least with
9417         some display drivers.
9418
9419         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9420
9421         Large changes to the Win32 backend, partially made necessary by
9422         the changes to the backend-independent internal
9423         structures. Attempts to implement similar backing store stuff as
9424         on X11. The current (CVS) version of the Win32 backend is *not* as
9425         stable as it was before the no-flicker branch was merged. A
9426         zipfile with that version is available from
9427         http://www.gimp.org/win32/. That should be use by "production"
9428         code until this CVS version is usable. (But note, the Win32
9429         backend has never been claimed to be "production quality".)
9430
9431         * README.win32: Add the above comment about versions.
9432
9433         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9434
9435         * gdk/gdk.def: Update.
9436
9437         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9438         presumably be replaced by some more better mechanism as 1.4 gets
9439         closer to release shape.
9440
9441         * gdk/makefile.{cygwin,msc}: Update.
9442
9443         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9444         internal headers. Change code according to changes in these. Use
9445         gdk_drawable_*, not gdk_window_* where necessary.
9446
9447         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9448         our old DND.
9449
9450         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9451         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9452         Use correct function name in warning messages.
9453
9454         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9455         GSourceFuncs gdk_event_prepare and gdk_event_check.
9456         (gdk_event_get_graphics_expose): Do implement, use
9457         PeekMessage. Thanks to Hans Breuer.
9458         (event_mask_string): Debugging function to print an GdkEventMask.
9459         (gdk_pointer_grab): Use it.
9460
9461         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9462         (old) book I used claimed was Hangul actually is CJK Unified
9463         Ideographs Extension A. Also, Hangul Syllables were missing.
9464         Improve logging.
9465
9466         * gdk/win32/gdkgc-win32.c: Largish changes.
9467
9468         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9469         g_win32_getlocale() from GLib, and not setlocale() to get current
9470         locale name.
9471
9472         * gdk/win32/gdkprivate-win32.h
9473         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9474         gdkwin32.h, similarily as in the X11 backend.
9475
9476         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9477         assignment was used instead of equals in if test. Thanks to Hans
9478         Breuer.
9479
9480         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9481         the X11 version.
9482
9483         * gdk/win32/makefile.{cygwin,msc}
9484         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9485         path to the Win32 headers that works also with the mingw compiler.
9486
9487         * gtk/gtkstyle.c: Include <string.h>.
9488
9489 2000-04-26  Havoc Pennington  <hp@redhat.com>
9490
9491         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9492         replacing the broken gtk_label_get ()
9493
9494 2000-04-15  Havoc Pennington  <hp@pobox.com>
9495
9496         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9497         this keeps scanner scripts from getting confused.
9498
9499         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9500         data, rather than void
9501
9502 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9503
9504         * gtk/gtkclist.c (gtk_clist_motion)
9505         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9506         with is_hint FALSE, get x and y from the event. They used to be
9507         used uninitialised. The Win32 backend never sends motion events
9508         marked as hints. This for instance fixes the annoying file and
9509         font selector behaviour in the Win32 version.
9510
9511 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9512
9513         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9514         gtk_private_n_signals variables, they are used by some software,
9515         sigh.
9516
9517         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9518         installation directory from the Registry, where the installer
9519         should have put it.
9520
9521 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9522
9523         * gdk/x11/Makefile.am: Fix problem with installation directory for
9524         gdkx.h
9525
9526         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9527         <mrcooger@cyberverse.com> so that when selecting menus with the
9528         mouse, the first item will not be selected, but when selecting
9529         with an accelerator, or navigating left-right on a menubar with
9530         the menus popped up, the first item will be selected.
9531
9532 2000-04-05  Dan Damian  <dand@dnttm.ro>
9533
9534         * configure.in: Added "ro" to ALL_LINGUAS.
9535
9536 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9537
9538         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9539         indentation.
9540
9541         * Makefile.am (EXTRA_DIST): Fix typo.
9542
9543         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9544         to catch gdkconfig.h
9545
9546         * gtk/gtkitemfactory.c: Added FIXME.
9547
9548 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9549
9550         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9551         s/return_if_fail/return_val_if_fail/g and add a return value.
9552
9553 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9554
9555         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9556         merge slipup.
9557
9558         * gdk/gdkinput.h: Fix missing line from merge.
9559
9560 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9561
9562         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9563         instead of gdkprivate.h.
9564
9565 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9566
9567         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9568         parent class to correctly be GtkDialogClass.
9569
9570 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9571
9572         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9573         toplevel windows and their immediate children by their parents,
9574         since the size of toplevel windows is out of our immediate
9575         control and we don't get any real benefit from trying to track
9576         this size for clipping.
9577
9578         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9579         for input_only windows.
9580
9581         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9582         to fix some hacks and make sure that we don't try to set the
9583         background of input only windows.
9584
9585 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9586
9587         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9588         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9589         stuff that we've traditionally exposed.
9590
9591         * gdk/**.c: Use gdkinternals.h where appropriate.
9592
9593         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9594         not include gdkprivate-x11.h, move all stuff of conceivable public
9595         interest into gdkx.h; keep all really private stuff in
9596         uninstalled header gdkprivate-x11.h.
9597
9598         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9599         image->image_put on windows through a new function _gdk_window_draw_image()
9600         to allow us to do backing store for images. (Sort of ugly)
9601
9602         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9603         contexts locally so that we can offset them properly when drawing 
9604         onto backing pixmaps.
9605
9606         * gdk/gdkinput.h: Reindented
9607
9608         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9609         pixmap or color for the window, so we can properly initialize
9610         our double-buffer pixmaps, and also so that we temporarily set
9611         a background of None while scrolling.
9612
9613         * gdk/gdkregion.h: Revise region boolean operators to have an
9614         interface that is actually convenient - switch from creating new
9615         regions on every op, to "methods" that modify existing regions
9616         (A = A OP B). 3 argument forms which allow dest == src, would also
9617         be possible, but the current interfaces seem to map nicely
9618         onto what needs to be done. (There is quite a lot of region
9619         code in GDK now.)
9620
9621         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9622         operator.
9623
9624         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9625         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9626         to 32 bit coordinates, modify it to be mostly GTK+ style
9627         and to have interfaces that match gdkregion.h.
9628
9629         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9630         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9631         create a backing pixmap and redirect all drawing to
9632         that backing pixmap until a matching gdk_window_end_paint().
9633
9634         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9635         Create a special drawable class for GtkWindow's that 
9636         redirects the drawing to the backing pixmap as necessary
9637         and then calls the real operations in _gdk_windowing_window_class.
9638
9639         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9640         Store invalid region for each window. Generate expose events for invalid
9641         region in an idle. This replaces both the expose compression
9642         and the redrawing queuing in GTK+. It is both more efficient and
9643         simpler than either one individually and far more so then the
9644         combination.
9645
9646         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9647         Emulate 32 bit coordinates for windows with 16 bit coordinates
9648         by offsetting drawing, guffaw scrolling techniques and
9649         mapping/unmapping child windows as necessary.
9650
9651         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9652         where, when invalid regions are processed, the region is stored,
9653         and if expose events come in that are detectably duplicate
9654         the processed exposes (by comparison of event serial numbers),
9655         the stored region is subtracted out of those exposes.
9656
9657         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9658         regions newly exposed when scrolling or resizing windows.
9659         This, combined with forcing processesing of queued invalidated
9660         regions, gives nice flicker-free scrolling.
9661
9662         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9663         invalidated regions after every scroll.
9664
9665         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9666         emulation in GDK. Its, for all practical purposes just a
9667         GtkViewport/GtkFixed hybrid now.
9668
9669         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9670         (16-bit) structures as necessary instead of just casting.
9671
9672         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9673         in terms of the structures from gdkregion-generic.c, using appropriate
9674         offsets from GDK to X11 coordinates. Cache clip mask and
9675         origin and ts origin locally and only flush to the server
9676         when drawing, to avoid constantly setting and resetting these
9677         values when offsetting GC's for scrolling and backing pixmaps.
9678
9679         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9680
9681         * gtk/gtkcontainer.c: Call process_all_updates at end
9682         of resizing to reduce flicker. (Avoids having redraw
9683         lag arbitrarily behind resize under some circumstances)
9684
9685         * gtk/gtkentry.c: Remove old backing store code, and simply take
9686         advantage of the new backing store capabilities of GDK.
9687
9688         * gtk/gtkmain.c: Simple implementation of widget backing
9689         store - simply push a paint while handling each expose.
9690         (Should really be configurable widget for widget.)
9691         
9692         * gtk/gtkwidget.c: Remove all the old complicated redraw
9693         code, and simply invalidate the GDK windows from
9694         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9695         debugged complexity ... gone to the winds.)
9696
9697         Remove all the code for suppressing expose events while
9698         resizes are pending; this isn't needed since the invalid
9699         areas won't be processed until after the resizes are
9700         processed, since they are in a lower priority idle.
9701
9702 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9703
9704         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9705         and height of dest rectangle for non-intersecting rectangles.
9706
9707 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9708
9709         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9710         for GdkRectangle.
9711
9712 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9713
9714         * gdk/gdk{events,image,private,types,window}.h
9715          gdk/x11/gdkinputprivate.h: Change all coordinates
9716          from int16 to int. Also, Change width and height from
9717          unsigned to signed to avoid all the stupid C 
9718          signedness bugs.
9719
9720 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9721
9722         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9723         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9724         Add some more detailed checking.
9725
9726         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9727         New function to retrieve the depth of a drawable.
9728
9729         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9730         field, reorder fields to save memory. 
9731
9732 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9733
9734         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9735         of the background image instead of scaling the background down to
9736         a line.
9737
9738         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9739         which temporarily set slider to wrong size.
9740
9741         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9742         queue_clear().
9743
9744 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9745
9746 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9747
9748         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9749
9750 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9751
9752         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9753         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9754
9755         * gdk/win32/gdkfont-win32.c
9756         * gdk/win32/gdkproperty-win32.c
9757         * gdk/win32/gdkselection-win32.c
9758         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9759         now declared such.
9760
9761 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9762
9763         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9764
9765 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9766
9767         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9768         is called without trapping X errors.
9769
9770 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9771
9772         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9773         way into the fontset lists.
9774
9775 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9776
9777         * gtk/gtkthemes.h: add extern "C" scope.
9778
9779 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9780
9781         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9782         to make appends to the list constant. (gtk-guy-990901-0.patch)
9783
9784 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9785
9786         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9787         for the typename hash table.
9788
9789 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9790
9791         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9792         to make sure we never divide by zero. 
9793         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9794
9795 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9796
9797         * gtk/gtkfontsel.c: Apply patch from
9798         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9799         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9800
9801         Also, some cleanups in atom handling.
9802
9803 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9804
9805         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9806         not GtkWidget.
9807
9808 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9809
9810         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9811         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9812         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9813         more guint wrap-around bugs before going to bed.
9814
9815 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9816
9817         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9818         guint wrap arounds in allocation.width.
9819
9820         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9821         process untill we fit the allocation given.
9822
9823 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9824
9825         * gtk/gtkwidget.c:
9826         (gtk_widget_unrealize): guard widget access with ref/unref
9827         around signal emission.
9828         (gtk_widget_hide): same here, but also check its destroyed
9829         state before queueing a resize.
9830
9831 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9832
9833         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9834         of gtk_default_insensitive_bg as insensitive base color.
9835
9836         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9837         to the widget's state.
9838         (gtk_text_realize): same here.
9839         (gtk_text_state_changed): same here.
9840         (draw_bg_rect): compare background color against base[] from
9841         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9842
9843 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9844
9845         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
9846         grabs are active, unless a delete event is send to the toplevel
9847         of the currently grab holding widget.
9848
9849 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
9850
9851         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
9852         debugging g_print's.
9853
9854 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
9855
9856         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
9857         ever make the scrolled-window requisition ever depend on the 
9858         visibility state of the scrollbars for the AUTOMATIC policy. 
9859         This breaks the GTK+ requisition model, and causes loops.
9860
9861 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
9862
9863         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
9864         the default font to avoid problems with XFree86-4.0 where the
9865         default charset is iso10646-1, not iso8859-1.
9866
9867 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
9868
9869         * acinclude.m4
9870         * config.guess
9871         * config.sub
9872         * ltconfig
9873         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
9874
9875         * gtk/Makefile.am: minor cosmetic consistency tweak
9876
9877 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
9878
9879         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
9880         the activate_time to 0, so that we handle a quick
9881         press/release press/release properly and don't suppress
9882         the second release. (Red Hat bug #7545)
9883
9884 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
9885
9886         * gtk/gtkctree.c (row_delete):
9887         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
9888         bugs with destruction notifier, *always* update internal
9889         structures *before* calling user code.
9890
9891 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
9892
9893         A few more fixes for bug #5487, #2051, #2677.
9894         * gtk/gtkclist.c : 
9895         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
9896         not GDK_BUTTON_PRESS.
9897         (resync_selection): resync only if selection_mode is
9898         GTK_SELECTION_EXTENDED
9899         * gtk/gtkctree.c (resync_selection): same here
9900
9901 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
9902
9903         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
9904         gdk_drag_get_selection() and gtk_menu_detach().
9905
9906         [ From Jeroen Ruigrok/Asmodai ]
9907
9908 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
9909
9910         * gtk/gtknotebook.c (gtk_notebook_size_request): 
9911         page->tab_label can be NULL.
9912
9913 2000-01-25  Havoc Pennington  <hp@pobox.com>
9914         
9915         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
9916         arg is boolean
9917
9918         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
9919
9920         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
9921
9922         * gdk/gdkproperty.c (gdk_property_get): return boolean
9923
9924         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
9925
9926         * gdk/gdkim.c (gdk_im_ready): return boolean
9927
9928         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9929
9930         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9931         glib clash, should fix glib)
9932
9933         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9934         (gdk_get_show_events): return gboolean, and canonicalize 
9935         to TRUE/FALSE
9936
9937         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9938         colormap is private
9939         (gdk_colors_alloc): gboolean whether to be contiguous
9940         (gdk_color_equal): return gboolean since we are a predicate
9941         and not a qsort() (this looks semi-wrong due to glib breakage,
9942         IMO glib should be fixed)
9943         
9944         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9945         (gdk_get_use_xshm): return gboolean
9946         (gdk_pointer_is_grabbed): return gboolean
9947
9948         * gdk/gdk.h: Change prototypes to match all the above changes,
9949         and re-run egtk-format-protos as required.
9950
9951 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9952
9953         * gtk/gtkctree.c (resync_selection): 
9954         * gtk/gtkclist.c (resync_selection):
9955
9956         Return immediately if clist->drag_pos < 0. This is a workaround
9957         for the corrupt state that the clist gets into when a
9958         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9959
9960         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9961         
9962         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9963         variable from recent commit.
9964
9965 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9966
9967         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9968
9969 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9970
9971         * gtk/Makefile.am: prefix all autogenerated source that get build in
9972         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9973         in builddir. since we subsequently cd into srcdir for autogeneration,
9974         the paths have to be stripped from the target file names, thusly we
9975         use $(@F) as target names now.
9976         put a comment about configure.in's --disable-rebuilds option,
9977         which can be used for non-writable source directories, for development
9978         setups though, srcdir has to be *writable*.
9979
9980 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9981
9982         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9983           Finish the job of allowing event to be NULL.
9984           (Fixes bug #4283, reported by Chris Blizzard)
9985
9986         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9987           things so that the cursor appears on screen, properly
9988           take into account INNER_BORDER.
9989           (Fixes bug #4754, reported by Antonio Campos)
9990
9991 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9992
9993         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9994           show the tab_label unless it itself is visible.
9995
9996           gtk/gtknotebook.c (gtk_notebook_size_request):
9997           Do a better job of making sure that the visibility
9998           of the tab label corresponds to whether it should
9999           be mapped or not.
10000
10001 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10002
10003         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10004           Use the requisition, not the allocation, since the
10005           allocation has not necessarily been computed yet.
10006           (Pointed out by Eugene Osintsev)
10007
10008 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10009
10010         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10011           style/base[GTK_STATE_INSENSITIVE] both to
10012           gtk_default_insensitive_bg!
10013           (Bug #2187, reported by Jonathan Blandford)
10014
10015         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10016           Add Alt_L, Alt_R to list of invalid accelerators.
10017           (Bug #3736, reported by Vlad Harchev)
10018
10019 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10020
10021         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10022         bugs which occured after an attempt to open 
10023         invalid home directory left cmpl_state->reference_dir == NULL.
10024
10025          - completion on files in home directory didn't work
10026          - completion on an empty string caused  segfault
10027
10028          (Bug #3678, reported by Steve Ratcliffe)
10029
10030         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10031         cut and paste error that was causing scales to
10032         be incorrectly positioned.
10033         (Bug #2956,
10034          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10035
10036 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10037
10038         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10039         when checking for dcgettext, if we've found we needed
10040         it for dgettext.
10041 +
10042 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10043
10044         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10045         queue_clear on NO_WINDOW widgets during a reparent,
10046         since at that point the window and widget heirarchies
10047         are out of sync. This stops crashing in some cases
10048         (the scrolled window reparent test, for instance), and
10049         _probably_ won't cause drawing errors.
10050
10051         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10052         test do what it was supposed to do and be robust against
10053         window closings, etc. (Bug #2443)
10054
10055 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10056
10057         * gtk/gtkentry.c: Fix return values on mouse events.
10058         (Bug #2686, Sky <seb_sky@yahoo.com>)
10059
10060         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10061         (pointed out by George Lebl)
10062
10063         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10064         (From Ettore Perazzoli  <ettore@helixcode.com>)
10065  
10066 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10067
10068         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10069         clicks between rows or outside calender area correctly.
10070         (Patch from Damon Chaplin)
10071
10072         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10073         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10074           Call destroy function when overwriting existing data. 
10075           (Pointed out by Damon Chaplin)
10076
10077 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10078
10079         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10080           which was causing problems on various systems with Xmu.
10081           This hasn't been needed for a very long time.
10082           (Fixes #1185 3167)
10083
10084 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10085
10086         * gdk/gdki18n.h: Include <ctype.h> when defining
10087           gdk_isw* in terms of is* as a fallback.
10088           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10089
10090 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10091
10092         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10093           realize the widget when it is size allocated!
10094           (old, old bug)
10095
10096         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10097           Removed unused call to gdk_window_get_size() that
10098           showed up when the above was fixed.
10099
10100 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10101
10102         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10103           fix up widget->window when the widget is a
10104           NO_WINDOW container widget.
10105
10106 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10107
10108         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10109           to account for the fact that feof() does _not_ 
10110           return TRUE on errors, and thus avoid infinite loops
10111           when trying to use gdk_pixmap_create_from_xpm()
10112           on unreadable values.
10113
10114 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10115
10116         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10117
10118 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10119
10120         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10121           gdk_gc_set_dashes to take gint8 instead of gchar to
10122           make it clearer that it is _not_ a NULL terminated string.
10123
10124         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10125           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10126           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10127           arguments.
10128
10129 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10130
10131         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10132         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10133         background size relative to our allocation, guard against small
10134         allocations, we may have not yet been size allocated.
10135
10136 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10137
10138         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10139         not just version == 3. We implement all 3 + most of 4 - 
10140         (we don't support matching text/plain;charset=iso-8859-1
10141         to a dest that expects text/plain). We'll still advertise
10142         3 to be safe, but any client implementing version >= 3
10143         must interoperate with 3.
10144         
10145 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10146
10147         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10148         background and gc members, add a warning in gtk_tooltips_set_color()
10149         indicating that this function is deprecated.
10150
10151 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10152
10153         * docs/gtkfaq.sgml: FAQ Update:
10154           - Minor cleanups (Emmanuel, me)
10155           - New questions:
10156                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10157                 How can I retrieve the text from a GtkMenuItem? (timj)
10158                 How do I validate/limit/filter the input to a GtkEntry? (me)
10159                 Memory does not seem to be released when I free the list
10160                         nodes I've allocated (timj)
10161
10162 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10163
10164         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10165         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10166         for which it is no use to call GetLastError onWin9x.
10167         (gdk_other_api_failed) New function, for general error
10168         reporting without calling GetLastError.
10169         (gdk_win32_api_failed) OTOH, this function always calls
10170         GetLastError. (gdk_win32_last_error_string) Remove this function,
10171         GLib has the equivalent now.
10172
10173         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10174         call them with function name, file name and line number in the
10175         arguments.
10176
10177         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10178         functions.
10179         
10180         * gtk/gtk.def: Add some missing entry points.
10181
10182         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10183         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10184         
10185         Fixes by Hans Breuer:
10186
10187         * gdk/makefile.msc: Update for debugging.
10188
10189         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10190         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10191         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10192         in the dash_list.
10193
10194         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10195         the x11 backend.
10196
10197         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10198
10199         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10200
10201 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10202
10203         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10204         just pixel value of background colour.
10205
10206         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10207         containing code snippet previously duplicated in a couple of
10208         places.
10209         
10210         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10211         gdk_colormap_color.
10212
10213         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10214         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10215         events for autorepeated Shift, Control and Alt keys. Use
10216         gdk_colormap_color.
10217
10218         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10219         pointer is inside the window the cursor of which we are setting,
10220         call SetCursor immediately.
10221
10222         * gdk/win32/makefile.cygwin
10223         * gtk/makefile.cygwin: If we don't have the build number stamp
10224         file, use zero.
10225
10226         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10227         gtk_paned_set_gutter_size as empty.
10228
10229         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10230         
10231 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10232
10233         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10234           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10235           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10236           docs/gtk_tut.sgml docs/gtk.texi TODO:
10237
10238           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10239
10240 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10241
10242         * gtk/gtkcalendar.c: Implement num_marked_dates,
10243           and don't emit mutiple day_selected signals on
10244           month_prev.
10245
10246 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10247
10248         * docs/make-todo (lineno): let title and logo be configurable so
10249         that GNOME can use this script too.
10250
10251         * TODO.xml: added logourl and a title
10252
10253 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10254
10255         * TODO.xml: Added some UI items, and an explanatory
10256         comment at the top of the file.
10257
10258 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10259
10260         * TODO.xml: some updates, added abunch of new entries.
10261         a note for those fiddeling with this file, when done
10262         with it, invoke:
10263         $ ./docs/make-todo TODO.xml >/dev/null
10264         and correct output errors before comitting changes.
10265
10266 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10267
10268         * TODO.xml: Added XML-structured TODO file.
10269         * docs/make-todo: python script to turn TODO.xml into
10270           pretty XML output. 
10271
10272 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10273
10274         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10275         the function to let it draw the seven dots, instead of the old,
10276         much maligned, method.
10277         (draw_dot): New function to draw a dot.
10278
10279         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10280         to draw the handle inside the border width as opposed to outside.
10281         Use paint function instead of gdk_draw_point.
10282
10283         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10284         to draw the handle inside the border width as opposed to outside.
10285         Use paint function instead of gdk_draw_point.
10286
10287         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10288         Change indenting to be more GTK like.
10289
10290 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10291
10292         * docs/gtk_tut.sgml: New section on GtkCalendar
10293         * examples/calendar: Update example code
10294
10295 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10296
10297         * docs/gtkfaq.sgml: FAQ Update
10298
10299 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10300
10301         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10302         to prevent the scroll event to be propagated upwards.
10303
10304 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10305
10306         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10307         OwnerGrabButtonMask from button entries for
10308         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10309
10310         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10311         to the event mask (which will result in button/press release
10312         being added to the event mask on Unix) so scrolling works
10313         for layouts in scroll windows.
10314
10315         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10316
10317         Patch from Anders Carlsson  <andersca@gnu.org> to add
10318         a scroll event.
10319
10320         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10321         scrolling to the "Test Scrolling" part of testgtk.
10322  
10323         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10324  
10325         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10326         it against GDK_SCROLL.
10327  
10328         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10329         way of mouse wheel scrolling.
10330  
10331         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10332  
10333         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10334  
10335         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10336  
10337         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10338         gdk_event_mask_table.
10339  
10340         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10341         GdkEventScroll handler.
10342  
10343         * gdk/gdkevents.h: Added GdkEventScroll structure.
10344  
10345 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10346
10347         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10348         and Anders Carlsson to change the Paned widgets so that they
10349         can be dragged from anywhere along the length. Also change
10350         the way that this is drawn to make this apparent.
10351
10352         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10353         from George Lebl to check that option_menu->menu is present
10354         before getting history.
10355
10356 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10357
10358         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10359         before the assertion for non-NULL segment list.
10360
10361         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10362         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10363         machine, but it might be display driver dependent. Sigh, so make
10364         sure the stipple is that size. Does Windows suck or what?
10365
10366         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10367         places.
10368
10369 2000-02-13  Havoc Pennington  <hp@pobox.com>
10370
10371         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10372         refcount to 1
10373         (gdk_cursor_new): init refcount to 1
10374
10375         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10376
10377 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10378
10379         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10380         so that we don't have to do unnecessary settings to the HDC.
10381
10382         * gdk/win32/gdkdrawable-win32.c
10383         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10384         gdk_gc_predraw.
10385
10386         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10387         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10388         GDI paths, call WidenPath to get the outline of the stroken path,
10389         and then fill the outline (with the brush that was built from the
10390         stipple).
10391
10392         * gdk/win32/gdkgc-win32.c: Factor out common code from
10393         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10394         gdk_win32_gc_values_to_win32values. Use correct colour for
10395         SetBkColor() (Until now the code actually used a random colour in
10396         the call to SetBkColor()... but that didn't show up as not many
10397         GDI APIs use the background colour. Pattern (opaque stippled)
10398         brushes do.)
10399
10400         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10401         gdk_win32_api_failed): New functions for error logging.
10402
10403         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10404         WIN32_API_FAILED to call them, passing function or file name and
10405         line number.
10406
10407         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10408
10409         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10410         GdkColor for foreground and background in GdkGCWin32Data.
10411
10412         * gdk/makefile.cygwin: Link in the resource object separately.
10413
10414         * gdk/win32/rc/gdk.rc
10415         * gtk/gtk.rc (New file)
10416         * gdk/win32/makefile.cygwin
10417         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10418         as in GLib.
10419
10420 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10421
10422         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10423         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10424         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10425         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10426         parameters given and cursor->ref_count. coding style fixups.
10427
10428         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10429         not GtkWidget.
10430         
10431         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10432         fix up widget macros and add _GET_CLASS() variant.
10433         
10434         * gtk/*.c: some GtkType fixups.
10435
10436 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10437
10438         * gdk/win32/gdkproperty-win32.c
10439         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10440         were reversed.
10441
10442 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10443
10444         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10445         g_filename_to_utf8 to convert the font names Windows gives us from
10446         whatever is the default codepage to UTF-8.
10447         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10448         in the other direction.
10449
10450         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10451         error in debugging output.
10452
10453 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10454
10455         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10456         and height parameters to gdk_window_clear_area(). Not minus one.
10457
10458 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10459
10460         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10461         checks if the widget passed to gtk_drag_get_data() was not the
10462         dest widget.
10463
10464 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10465
10466         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10467         g_filename_from_utf8 functions (which were added a moment ago to
10468         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10469         size buffers.
10470
10471         gtk_file_selection_get_filename returns the filename in the C
10472         runtime encoding. It calls g_filename_from_utf8, but copies the
10473         returned string to a static buffer, which is returned. I think
10474         this is better than returning the result from g_filename_from_utf8
10475         directly, which would mean all apps that use it would have to free
10476         the return value. Or should this function care about this issue at
10477         all? Maybe a new function with clearly defined semantics.
10478
10479         * gtk/gtkfilesel.h: Add comment about
10480         gtk_file_selection_get_filename returning the filename in the C
10481         runtime's encoding.
10482
10483         * README.win32
10484         * gdk/gdk.def
10485         * gdk/makefile.{cygwin,msc}
10486         * gtk/gtk.def: Updates.
10487
10488         * gdk/gdkcursor-win32.c: Initialise refcount.
10489
10490 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10491
10492         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10493
10494 2000-01-30  Havoc Pennington  <hp@pobox.com>
10495
10496         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10497         destroy
10498
10499         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10500
10501         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10502         implemented in platform-specific code
10503
10504         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10505
10506         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10507         underscore in front
10508
10509         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10510         put an underscore in front
10511
10512         * gdk/gdkcursor.c: new file, implements
10513         gdk_cursor_ref/gdk_cursor_unref
10514
10515         * gdk/gdkcursor.h: Refcount GdkCursor
10516
10517         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10518
10519 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10520
10521         * gdk/gdkwindow.h
10522         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10523
10524 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10525
10526         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10527         structures to properly inherit from GtkWidget not GtkBin.
10528
10529 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10530
10531         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10532         (bug #5178 - Peter Wainright)
10533         
10534         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10535         so that it will be installed.
10536         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10537
10538 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10539
10540         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10541         for the GtkStyleClass vtable const.
10542
10543         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10544         take a const string argument like GtkTranslateFunc. This will
10545         require changes in use code.
10546
10547 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10548
10549         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10550         semantics (to mimic the X11 backend, which just calls XClearArea)
10551         is to check for zero width (and height), and in that case use the
10552         window's width minus x (height minus y). This fixes for instance
10553         some redraw problems with gtkclist, which were easily noticeable
10554         in the gtk file selection widget.
10555
10556         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10557         windows.
10558
10559 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10560
10561         * configure.in
10562         * gdk/Makefile.am
10563         * gdk/x11/Makefile.am
10564         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10565         (bug #5177).
10566         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10567         out later.
10568
10569 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10570
10571         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10572         WM_MOVE for iconified or invisible windows. This fixes various
10573         problems when minimising windows. Thanks to Bernd Herd.
10574
10575 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10576
10577         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10578         backend's draw_lines method, not draw_points.
10579
10580 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10581
10582         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10583         before Owen's reorganisation: Don't have queued_events and
10584         queued_tail statics in this file, but use gdk_queued_events and
10585         gdk_queued_tail. This makes exposure event compression work again.
10586
10587         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10588         seem to be needed?
10589
10590 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10591
10592         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10593         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10594         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10595         doesn't do anything.
10596
10597         * gdk/gdk.def: Add gdk_xid_table_insert.
10598
10599         * gdk/win32/gdkprivate-win32.h
10600         * gdk/win32/gdkevents-win32.c
10601         * gdk/win32/gdkinput-win32.c
10602         
10603         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10604         extension_events field in the GdkWindowWin32Data struct. Use only
10605         the extension_events field in GdkWindowPrivate. Previously one was
10606         set, and the other one tested, which broke tablet
10607         functionality. Thanks to Keishi Suenaga for pointing this out.
10608
10609 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10610
10611         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10612         When handling a single character (text length == 1), don't handle
10613         it as if it was UTF-8.
10614
10615 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10616
10617         * Makefile.am: Distribute README.win32.
10618         
10619         * gdk/Makefile.am
10620         * gdk/win32/Makefile.am: Distribute Win32 files.
10621
10622         * gdk/makefile.msc: New file.
10623
10624         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10625         after label).
10626
10627         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10628         gdk_error_code as GDKVAR, as they are referred outside GDK.
10629
10630         * gdk/win32/makefile.msc: Update.
10631
10632         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10633         tweaks. Check only if at least one of those Unicode subrange bits
10634         we care for is set. If no code page bits are set, guess (wildly)
10635         based on the charset.
10636
10637         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10638
10639         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10640         non-NULL.
10641
10642         * gtk/gtkdnd.c
10643         * gtk/gtklayout.c
10644         * gtk/gtkplug.c
10645         * gtk/gtkselection.c
10646         * gtk/gtksocket.c
10647         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10648         appropriate. There must be a cleaner way to handle this?
10649
10650         * gtk/gtkrc.c: Must include windows.h on Win32.
10651
10652         * gtk/testgtk.c: No need to include gdkx.h.
10653
10654         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10655
10656 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10657
10658         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10659         the rbearing is set to the same as the width, but this should be
10660         fixed.
10661
10662 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10663
10664         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10665         function. If Windows doesn't tell us what Unicode subranges a font
10666         covers, guesstimate based on the codepages it covers. This will
10667         hopefully help those Windows versions or fonts that don't give us
10668         any useful Unicode subrange information with GetTextCharsetInfo.
10669         Call this function in gdk_font_load_internal.
10670
10671         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10672         minor changes.
10673
10674 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10675
10676         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10677         New function, long needed.
10678
10679 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10680
10681         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10682         only_if_exists argument of gdk_atom_intern to
10683         bool.
10684
10685 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10686
10687         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10688         Fix two copy&paste errors.
10689
10690         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10691         win32 has changed.
10692
10693         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10694         GdkWin32SingleFont struct.
10695
10696         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10697         subranges of loaded fonts. Clear font signature first, in case
10698         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10699         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10700
10701         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10702         Unoffset clip region.
10703
10704 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10705
10706         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10707         event->any.window before calling filter functions.
10708
10709 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10710
10711         * gtk/gtkgamma.h: Adapt cast macros to standard.
10712
10713 [ Merges from 1.2 ]
10714
10715 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10716
10717         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10718         If translation does not include a '/', use entire
10719         translation instead of crashing.
10720
10721 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10722
10723         * docs/gtk_tut.sgml:
10724         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10725
10726 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10727
10728         * gtk/gtkselection.c (gtk_target_list_remove): Use
10729         g_list_remove_link, not g_list_remove.
10730
10731         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10732         
10733 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10734
10735         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10736         statement upon unselection (how the heck did that slip in?).
10737
10738 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10739
10740         * gtk/gtktext.c (gtk_text_freeze): 
10741         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10742         in frozen state (and aparently crashes). patch provided by Anders
10743         Melchiorsen <and@kampsax.dtu.dk>.
10744
10745 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10746
10747         * fix insensitive default/focus widget activation,
10748         reported by Matt Goodall <mgg@isotek.co.uk>.
10749
10750         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10751         (gtk_window_activate_default):
10752         (gtk_window_activate_focus):
10753         return handled=FALSE for actiavtion of insensitive default
10754         widgets. return handled=TRUE for activation of insensitive
10755         focus widgets. don't activate in either case.
10756
10757 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10758
10759         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10760         and $glib_cflags to match library order and in the
10761         theory that an old version of GLib is more likely to
10762         be in the include directory for X then vice-versa.
10763         (Bug #2776)
10764
10765 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10766
10767         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10768         to determine the locale for fontsets, not LC_MESSAGES;
10769         the user may want English messages with a handling
10770         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10771         will still be broken) (Bug #2891)
10772
10773 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10774
10775         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10776
10777 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10778
10779         * gtk/gtkrc.ko: Changed the Korean default fontset.
10780
10781 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10782
10783         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10784         where when scrolling to the left or top double exposes
10785         were done, causing major slowdowns.
10786
10787 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10788
10789         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10790         names to lowercase and alphanumeric, before looking
10791         them up.
10792
10793         * gtk/Makefile.am: Install codeset variant gtkrc files
10794         with normalized names.
10795
10796 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10797
10798         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10799         popup menus when the menu is already visible, but its parent
10800         is still hidden, (happens after tornoff window got hidden).
10801
10802 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10803
10804         * gtk/Makefile.am (install-data-local): Fix
10805         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10806         deleted, causing error messages on install.
10807
10808 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10809
10810         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10811         the handle as well, since we now sometimes ignore
10812         exposes on the handle while resizing.
10813
10814 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10815
10816         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10817         extra g_free introduced in one of the last one or two 
10818         commits.
10819
10820 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10821
10822         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10823         consistent, put each style that a gtkrc.* file creates
10824         in a unique namespace, remove old files before installing.
10825
10826 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10827
10828         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10829         gtk_rc_init is called multiple times. (Yes, people who
10830         do that have bugs in their code.)
10831
10832 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10833
10834         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10835         Remove it since it's generated by the Makefile anyway
10836
10837 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10838
10839         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10840         device->info.axes for core pointer.
10841
10842 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10843
10844         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10845         idle_id, to deal with obsolete, broken C libraries.
10846
10847 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
10848
10849         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
10850         allocation->x/y twice!
10851
10852         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
10853         consistent with gtk_vscale_pos_trough().
10854
10855 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
10856
10857         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
10858         be queueing a resize on a toplevel container between
10859         the time we show it and when we map it. So, we need
10860         to test GTK_WIDGET_VISIBLE() for toplevels, and only
10861         use GTK_WIDGET_DRAWABLE() for child windows.
10862
10863 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
10864
10865         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
10866         (fixes bug #2144)
10867
10868 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
10869
10870         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
10871         container DRAWABLE (instead of VISIBLE), so we don't queue
10872         resizes on non-toplevel containers.
10873
10874 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
10875
10876         * gtk/gtkselection.[ch]: Make the data argument
10877         const guchar *.
10878
10879 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
10880
10881         * gtk/gtkwindow.c: Try to behave sensibly if 
10882         the focus widget is the window itself. (Should
10883         we allow this at all?)
10884
10885 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10886
10887         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
10888         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
10889         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
10890         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
10891         in prototypes and implementations consistent (Tomas Ogren).
10892
10893         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
10894         before the widget is unparented (reported by damon).
10895
10896         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
10897         since we provide unsigned data anyways.
10898
10899 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
10900
10901         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
10902         the call to gtk_tooltips_layout_text() until later.
10903
10904         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
10905         Call gtk_widget_ensure_style() before using the style.
10906
10907 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
10908
10909         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
10910         for old widgets that don't propagate draws to all
10911         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
10912
10913 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
10914
10915         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
10916         for a redraw but just the widget that requested the resize.
10917
10918 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
10919
10920         * gtk/gtkcontainer.c: added new widget level method
10921         gtk_container_set_reallocate_redraws() and a GtkContainer flag
10922         reallocate_redraws : 1 to reflect the setting, exported this through
10923         the argument system as a boolean ::reallocate_redraws.
10924
10925         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
10926         on the widget because the allocation changes, do so as well for
10927         widget->parent if the parent has reallocate_redraws set to TRUE.
10928         with that containers requesting reallocation redraws get automatically
10929         redrawn if their children changed allocation (this unfortunately
10930         affects also other children that didn't change allocation, but we
10931         cannot work around that before 1.3).
10932
10933 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10934
10935         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10936         _and_ height are >0 (not _or_).
10937
10938         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10939         instead of gtk_container_queue_resize(), which is a core gtk internal
10940         function (must have been on crack when i queued that).
10941
10942         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10943         we can check more reliably if we want to discard expose events.
10944         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10945         flag.
10946         
10947         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10948         we simply trust these events. for deciding whether to discard exposes,
10949         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10950         
10951 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10952
10953         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10954         queues of areas that are completely off screen.
10955
10956         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10957         logic for handleboxes.
10958
10959         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10960         check on width/height.
10961
10962 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10963
10964         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10965         we are fine with using $@ the way we do (if we actually encounter
10966         brokeness with $@ in VPATH builds because of additional path prefixes,
10967         we need to use $(@F) actually).
10968
10969 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10970
10971         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10972         short lived bugs, that would allow language bindings to do surgeries
10973         to our guts.
10974
10975 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10976
10977         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10978         where comparison was being done against an uninitialized
10979         value causing intermittant results depending on
10980         compiler flags. Also make it clearer that we aren't
10981         ever initializing the child as 0x0 (though this will
10982         be caught in gtk_widget_size_allocate())
10983
10984 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10985
10986         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10987         gtk_window_unset_transient_for() call after we do checks
10988         involving the old transient parent.
10989         [ From Lance Capser <lmc@cyberhighway.net> ]
10990
10991 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10992
10993         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10994         an empty file.
10995
10996 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10997
10998         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10999         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11000
11001 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11002
11003         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11004         `$@' is valid only in the build dir, not after we've done 
11005         `cd $srcdir'.  Also use `test -f' instead of less portable
11006         `test -e'.
11007
11008 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11009
11010         * gtk/gtktext.c (correct_cache_insert): Rewrite
11011          for simplicity, and hopefully correctness.
11012          (Fixes bug #1322, which was a segfault when
11013           on some insertions with the properties around
11014           the insertion set up just wrong.)
11015
11016         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11017          a "changed" signal, clamp the new value to the adjustment
11018          bounds to avoid segfaulting if someone tries to change
11019          the adjustment to a bogus value. (Bug #1795)
11020
11021 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11022
11023         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11024         for children, for toplevel windows handle them
11025         like delete_event.
11026
11027         * gtk/gtkplug.c: Add an unrealize handler so that
11028         we unref plug->socket_window when we are done
11029         with it.
11030
11031 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11032
11033         * gtk/gtktext.c (clear_area): Fix stupid signedness
11034          problem that was causing background to sometimes
11035          be misaligned.
11036
11037 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11038
11039         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11040         
11041         * gtk/gtkmenu.c (gtk_menu_position): Make
11042          sure we never position menus with negative x, y,
11043          since gtk_widget_set_uposition() can't handle that.
11044
11045         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11046          Modify the positioning code a bit so that we always
11047          put the top-left corner onscreen. (This is for
11048          UI reasons, gtk_menu_position() now takes care of
11049          gtk_widet_set_uposition() brokeness.)
11050
11051 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11052
11053         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11054
11055 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11056
11057         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11058           RC style that is passed in. The lack of the ref
11059           before was a bug. If people worked around this
11060           bug, this will introduce a slight memory leak
11061           in their code. The code should typically look like:
11062
11063             rc_style = gtk_rc_style_new ();
11064             [...]
11065             gtk_widget_modify_style (widget, rc_style);
11066             gtk_rc_style_unref (rc_style);
11067
11068         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11069           the style if it was already set.
11070
11071         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11072           style if it was set before.
11073
11074 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11075
11076         * gtk/testgtk.c (main): Add a check to see if we
11077           are being run from the correct directory and
11078           to quit nicely if we are not.
11079
11080         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11081           static.
11082
11083 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11084
11085         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11086
11087         * gtk/gtkwindow.c:
11088         queue resizes unconditionally (gtk_widget_queue_resize will figure
11089         what to do if the window is not realized).
11090         (gtk_window_move_resize): only recenter the window
11091         for GTK_WIN_POS_CENTER_ALWAYS.
11092         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11093         the same way as GTK_WIN_POS_CENTER.
11094
11095 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11096
11097         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11098         with (!(info->last_flags & GDK_HINT_POS)) instead of
11099         (!info->last_flags & GDK_HINT_POS).
11100
11101         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11102         new_height unconditionally, because we use these values even if
11103         !default_size_changed && !hints_changed.
11104         comented the (default_size_changed || hints_changed) case with
11105         respect to resize rejects from the window manager.
11106
11107         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11108         in the zvt condition hack, since this includes the window hints, set
11109         the hints after the handling_resize case.
11110
11111         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11112         window is initially shown with to the geometry.
11113
11114 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11115
11116         * gtk/gtkwindow.c (gtk_window_move_resize):
11117         s/size_changed/default_size_changed/g so i know what's
11118         really going on (frying brain on smaller flame now).
11119
11120 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11121
11122         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11123         we have size_changed upon handling_resize. this is a gross
11124         workaround for the broken zvt widget and should be removed in
11125         1.3 again (search for FIXME).
11126         Owen provided an accurate comment for this:
11127
11128         /* We could be here for two reasons
11129          *  1) We coincidentally got a resize while handling
11130          *     another resize.
11131          *  2) Our computation of size_changed was completely
11132          *     screwed up, probably because one of our children
11133          *     is broken. It's probably a zvt widget.
11134          *
11135          * For 1), we could just go ahead and ask for the
11136          * new size right now, but doing that for 2)
11137          * might well be fighting the user (and can even
11138          * trigger a loop). Since we really don't want to
11139          * do that, we requeue a resize in hopes that
11140          * by the time it gets handled, the child has seen
11141          * the light and is willing to go along with the
11142          * new size. (this happens for the zvt widget, since
11143          * the size_allocate() above will have stored the
11144          * requisition corresponding to the new size in the
11145          * zvt widget)
11146          *
11147          * This doesn't buy us anything for 1), but it shouldn't
11148          * hurt us too badly, since it is what would have
11149          * happened if we had gotten the configure event before
11150          * the new size had been set.
11151          */
11152
11153 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11154
11155         * gtk/gtkrc.c: deal properly with the fact that RC
11156           style lists may include rc styles more than once.
11157
11158         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11159           unused static function.
11160
11161         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11162           stack of directories of RC files currently being
11163           parsed and implicitely add them to pixmap path.
11164           
11165           This fixes a bug where the directory would get
11166           appended then overwritten by pixmap_path declarations.
11167
11168           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11169
11170         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11171           theme's exit function. (Patch from Peter Wainwright,
11172           bug #1454)
11173
11174         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11175           Add a destroy() handler to take care of removing
11176           group for menu item. (Fixes bug #1197)
11177
11178         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11179           in warning message.
11180
11181 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11182
11183         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11184         roundtrip to figure window's width and height, since we know that
11185         anyways from widget->allocation.
11186
11187 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11188
11189         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11190           the hints after we request the new size.
11191
11192 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11193
11194         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11195           GTK_WIDGET_REALIZED() assertion - we can compute the
11196           hints before we are realized.
11197
11198         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11199           hint changing so that we have a value of hints_changed
11200           when we decide whether to constrain the window size.
11201
11202         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11203
11204         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11205         change back to G_MAXINT.
11206
11207 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11208
11209         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11210         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11211         contain uncluttered values.
11212         (gtk_window_compute_hints): simply assert that window is realized
11213         and that geometry_info is valid, since we rely on this anyways.
11214         (gtk_window_constrain_size): major cleanups to the code.
11215         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11216         for the base size, instead of the minimums. use 32767 as max width
11217         and height (like in gtkwindow.c) instead of G_MAXINT.
11218
11219 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11220
11221         * cleaned up the GtkContainer.need_resize flag handling mess, we
11222         only need to force resize requests when we were prematurely
11223         realized, or our widget tree was modified when we were temporarily
11224         hidden. handling these cases directly upon showing the window (i.e.
11225         while the GdkWindow is still unmapped) avoids the need to wait for
11226         a configure event response and therefore makes the GUI more snappier
11227         and avoids blank windows during the roundtrip.
11228
11229         * gtk/gtkwidget.c:
11230         (gtk_widget_hide): 
11231         (gtk_widget_show): don't queue resizes on toplevels, they know how
11232         to deal with matters.
11233
11234         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11235         flag directly for not visible resize containers and spare us unecessary
11236         signal emissions.
11237
11238         * gtk/gtkwindow.c:
11239         (gtk_window_realize): if we need to enforce premature size allocation,
11240         queue a container resize so we are correctly resized later on.
11241         (gtk_window_init):
11242         (gtk_window_size_request):
11243         don't freak around with the ->need_resize flag,
11244         gtk_container_queue_resize() will care about that.
11245         (gtk_window_show):
11246         handle initial resizing issues here, we can handle matters better in
11247         this place, especially since we know that our GdkWindow is still
11248         unmapped.
11249         (gtk_window_move_resize):
11250         don't care about ->need_resize at all.
11251         handle size changes properly that occoured while we waited for a
11252         configure event.
11253
11254 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11255
11256         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11257         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11258         Move the hint setting code from gtk_widget_set_uposition
11259         to here; set the hints so that we respect any previously
11260         set geometry hints.
11261
11262         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11263         change the window hints here or move the window here,
11264         let that happen in gtk_window_move_resize().
11265
11266 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11267
11268         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11269         to already queued resizes (and therefore redraws) on a widget, check
11270         its anchestry as well.
11271
11272         * gtk/gtkcontainer.c:
11273         (gtk_container_queue_resize): clear resize widgets for resize
11274         containers before aborting prematurely. this is especially important
11275         for toplevels which may need imemdiate processing or their resize
11276         handler to be queued.
11277         (gtk_container_dequeue_resize_handler): added new internal function for
11278         gtkwindow.c.
11279
11280         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11281         configure event, take possible changes in window position into account
11282         as well.
11283         if we request a new window size, queue up a resize handler that will
11284         last until the configure event response arrives.
11285         combined the ->need_resize case (initial show) with the general size
11286         (hints) changed case and added even more comments.
11287         if !auto_shrink, only revert to the old allocation if the new size
11288         is smaller than the current allocation.
11289
11290 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11291
11292         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11293                            gtk_window_set_geometry_hints
11294                            gtk_window_set_default_size):
11295         When hints are set, queue a resize so that the hints will
11296         be eventually reset on the toplevel.
11297
11298         * gtk/gtkwindow.c (gtk_window_show): Use
11299         gtk_window_compute_default_size(). Clear the need_resize flag
11300         on the initail map so that we don't unnecessarily trigger the
11301         resize code.
11302
11303         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11304         into separate functions. Compare the hints we are setting
11305         with what we set last time so that we can accurately
11306         tell when we need to reset the hints.
11307
11308         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11309         function to figure out the size from requisition
11310         and default_size.
11311
11312         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11313         from fvwm to constrain a size to the geometry hints.
11314
11315         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11316         to compare two sets of geometry hints.
11317
11318         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11319         from gtk_window_set_hints(), just compute the hints,
11320         don't set them.
11321
11322         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11323         code from gtk_window_move_resize() to separate function,
11324         rationalize a bit.
11325
11326 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11327
11328         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11329         structure into a new private structure.
11330
11331         * gtkrc.c: Split GtkRcStyle into public/private.
11332         In the private part, add a list of pointers to the
11333         RcStyle lists this RcStyle participates in.
11334
11335         * gtkrc.c: When a RcStyle is free, remove all
11336         lists referencing it from the 
11337         realized_style_ht hash, and free those lists.
11338         
11339         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11340         gtk_rc_init(), since that adds the default styles
11341         to the list of parsed RC files again.
11342
11343         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11344         
11345 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11346
11347         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11348         checks that ensure that a widget's allocation is at least 1 in width
11349         and height. (GNOME note: this doesn't affect old panel code anymore,
11350         because GtkSocket will request width and height of at least 1 since
11351         Fri Jul 23).
11352
11353         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11354         allocated yet (happens if the user realizes the window prematurely),
11355         size request and allocate it.
11356         (gtk_window_size_allocate): guard against guint underflows.
11357
11358 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11359
11360         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11361         in gtk_built_sources, so gtk.defs gets built prior to all other
11362         sources.
11363
11364 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11365
11366         * gtk/Makefile.am:
11367         invoke indent on gtkmarshal.*. 
11368         rewrote source generation rules, use COPYING as oldest source tag for
11369         a piggyback rule to generate all sources from (don't touch it ;).
11370         major cleanups, strip spaces on build rules for GNU Make.
11371
11372         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11373         source and target files from commandline arguments. don't invoke indent.
11374
11375 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11376
11377         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11378         notebook after switch to avoid drawing problems.
11379         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11380         
11381         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11382         show them instead. 
11383         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11384
11385 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11386
11387         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11388         notebook after switch to avoid drawing problems.
11389         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11390         
11391         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11392         show them instead. 
11393         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11394
11395 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11396
11397         * gtk/gtkwindow.c:
11398         we use window->need_resize from configure_event now, to indicate that
11399         the gtkwindow should keep its allocation (e.g. because the user resized
11400         the window through window manager handles). resize_count is now reliably
11401         used to figure whether we got the allocation we requested from the
11402         window manager.
11403         configure events get queued as resizes now, the real stuff (size
11404         computation and allocation) now only goes on in gtk_window_move_resize().
11405         GtkWindow's requisition now contains its *real* requisition (like all
11406         other widgets), *not* taking usize into account.
11407         geometry_info->last_{width|height} is now updated from set_hints() only
11408         so it always contains the last hints we set for the window manager.
11409         made some event handlers return TRUE instead of FALSE.
11410         the overall code should be much more straight forward now, and the
11411         significant code portions are accompanied by comments now.
11412         (gtk_window_set_hints):
11413         removed requisition argument and made it
11414         fetch the requisition through gtk_widget_get_child_requisition.
11415         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11416         does that now.
11417         (gtk_window_show):
11418         ensure that the widget is realized before calling 
11419         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11420         ensure that we got properly size requested and allocated before
11421         realization.
11422         (gtk_window_configure_event):
11423         ignore plain window moves, or reallocate the widget tree through the
11424         resize queue otherwise.
11425         (gtk_window_move_resize):
11426         mostly rewrote this function to figure window manager hints more
11427         reliably, coalesce window moves and resizes to reduce configure events
11428         and do actuall size allocations.
11429
11430 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11431
11432         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11433         that have a resize pending, because a redraw is already queued for them.
11434
11435         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11436         hack to clear resize_widgets.
11437
11438         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11439         for resize containers prior to size allocation. (this is also a bit
11440         ugly, but avoids side effects for stopped emissions and is thus more
11441         reliable).
11442         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11443
11444         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11445         function from gtk_tooltips_expose, as we connect to ::expose_event
11446         *and* ::draw now.
11447
11448 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11449
11450         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11451         checks.
11452         (gtk_target_list_unref): Likewise.
11453
11454         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11455
11456 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11457
11458         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11459         guard against division by zero. (Fixes bug #1339)
11460
11461 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11462
11463         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11464         Prevent the trivial leak of information of allowing
11465         word motion when the entry is not visible.
11466
11467 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11468
11469         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11470         modality to error dialog as well as confirmation dialogs.
11471         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11472
11473 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11474
11475         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11476         tree->view_lines.
11477         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11478
11479         * gtk/Makefile.am (install-data-local): Solaris apparently
11480         has various troubles with ln -f; use rm first instead.
11481         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11482
11483 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11484
11485         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11486         use `cp' followed by `rm' (the `rm' was already there).
11487
11488 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11489         
11490         * configure.in: Fix autoconf warnings about cross compilation by
11491         trying to provide sane defaults for AC_TRY_RUN.
11492         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11493         put them into $(srcdir) when generated. Also add a dependency of
11494         gtksignal.h on gtkmarshal.h for -j builds. 
11495         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11496
11497 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11498
11499         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11500         GDK_THREADS_{LEAVE,ENTER} pair.
11501         (From Paul Fisher <pnfisher@redhat.com>)
11502
11503 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11504
11505         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11506         width and height are always >0 (owen).
11507
11508 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11509
11510         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11511         change that assured that a widget's allocated with and height are
11512         always >1, since this breaks *buggy* panel code. unfortunately this
11513         back-breaks the gimp's color selector.
11514
11515         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11516         allocation is always >0 in width and height, before sending the
11517         configure event; this is a *gross* hack to get the gimp back to work.
11518         
11519         * marked both cases with TODO-1.3
11520
11521 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11522
11523         * gtk/gtktext.c: Don't display wrap indicators when
11524         text is not editable and word wrap is on.
11525
11526 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11527
11528         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11529         option menus here as they are not derived from menu shell, assure that
11530         the option menu has a menu we can add items to.
11531
11532 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11533
11534         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11535         width/height to (gint) before calculations and check against < 0 to
11536         avoid guint wraparounds.
11537
11538 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11539
11540         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11541         width and height is never zero. sanity check both dimensions against
11542         32767 and issue a warning if the allocation is greater than that.
11543
11544 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11545
11546         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11547         to g_main_pending() as well.
11548
11549 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11550
11551         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11552         call to g_main_iteration() - since that will regrab
11553         GTK+ lock to process events.
11554
11555 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11556
11557         * gtk/gtkwindow.c
11558         - Regularize with the rest of GTK+ by making widget->requisition
11559           not reflect the set_usize()
11560         - Always recompute geometry hints, then check if they
11561           changed before sending them to the X server. The
11562           previous checks for changes would fail in a number
11563           of circumstances. 
11564
11565 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11566
11567         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11568
11569 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11570
11571         * gtk/gtkdnd.c:
11572         - Code cleanups
11573         - Instantaneously update on modifier key presses
11574         - Allow cancellation of the drag with Escape.
11575
11576 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11577
11578         * gtk/testgtk.c (create_handle_box): Set the policy
11579         to auto_shrink - otherwise the appearance is rather
11580         strange when flipping between horizontal and vertical.
11581
11582 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11583
11584         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11585         (gtk_window_set_default_size): don't change a value if it's < 0.
11586         queue a resize.
11587
11588 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11589
11590         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11591
11592 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11593
11594         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11595         add an extra "/" when concating "/" + filename.
11596         (From Matt Grossman <mattg@oz.net>)
11597
11598 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11599
11600         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11601         for fg_gc if we set it for drawing pixmap.
11602
11603 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11604
11605         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11606         
11607         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11608         already set, call old engine's destroy function and
11609         unref the old engine.
11610
11611 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11612
11613         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11614
11615 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11616
11617         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11618
11619 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11620
11621         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11622         expand behaviour changed.
11623
11624         * gtk/gtklabel.c (gtk_label_set_pattern):
11625         (gtk_label_set_justify):
11626         (gtk_label_set_line_wrap):
11627         don't bother invoking queue_clear, the reallocation does
11628         that for us, always free_words so the upcoming resize will
11629         relayout the label's contents.
11630
11631 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11632
11633         * applied argument implementation patches from Elena Devdariani
11634         <elena@cogent.ca>.
11635
11636         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11637         ::space_style, ::relief
11638         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11639         * gtk/gtkpreview.c: ::expand
11640         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11641         * gtk/gtknotebook.c: ::homogeneous
11642         * gtk/gtklabel.c: ::wrap
11643         * gtk/gtklist.c: ::selection_mode
11644         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11645         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11646         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11647         * gtk/gtkclist.c: ::sort_type
11648         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11649         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11650
11651 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11652
11653         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11654         comment.
11655
11656 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11657
11658         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11659         counting right when we have to attach a new style
11660         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11661
11662         * gtk/gtkstyle.c: Documented the refcounting
11663         peculularities of gtk_style_attach.
11664
11665 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11666
11667         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11668         window types.
11669
11670         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11671         of GTK_TOPLEVEL for creating the window.
11672
11673 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11674
11675         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11676         the last argument (reported by Per Winkvist).
11677         
11678 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11679
11680         Fixes for invisible XOR lines (Frank Loemker
11681         <floemker@TechFak.Uni-Bielefeld.DE>)
11682         
11683         * gtk/gtkclist.c (gtk_clist_realize): Always use
11684         a non-zero pixel for GDK_XOR.
11685
11686         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11687         Use GDK_INVERT instead of GDK_XOR.
11688
11689 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11690
11691         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11692         signals if h/voffsets differ from adjustment values.
11693         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11694
11695 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11696
11697         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11698         ::selection-done emissions up to the topmost menu shell.
11699
11700 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11701
11702         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11703         the user data on the window before destroying it.
11704
11705         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11706         unrealize handler to take care of destroying 
11707         notebook->panel properly. 
11708         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11709
11710         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11711         of g_new and g_realloc to stop memory leak. (Actually,
11712         we could just use g_realloc(), but I'm not 100% sure
11713         that is portable).
11714         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11715
11716 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11717
11718         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11719
11720         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11721         for fontsets.
11722
11723         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11724         with bin/button confusion.
11725
11726 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11727
11728         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11729         and show how preselection of radio items is done.
11730
11731 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11732
11733         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11734         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11735         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11736         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11737         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11738         * gtk/gtktable.c (gtk_table_attach): 
11739         * gtk/gtklist.c (gtk_list_insert_items): 
11740         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11741         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11742         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11743         * gtk/gtkbin.c (gtk_bin_add): 
11744         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11745         * gtk/gtkfixed.c (gtk_fixed_put): 
11746         * gtk/gtklayout.c (gtk_layout_put):
11747         general fixups to container_add logic. always realize child if
11748         child->parent is realized, only map the child and queue a resize
11749         if child and child->parent are both visible.
11750
11751 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11752
11753         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11754         instead of gtk_container_foreach to walk and unrealize children, so
11755         composite children get also unrealized.
11756         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11757         (gtk_widget_map): assert that the widget is visible (basic constrain).
11758         (gtk_widget_real_map): assert that the widget is realized (basic
11759         constrain).
11760
11761 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11762
11763         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11764
11765 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11766
11767         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11768         file for iso-8859-2 locales.
11769
11770         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11771
11772 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11773
11774         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11775          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11776          Remove some suspicious and useless lines. 
11777
11778 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11779
11780         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11781         width,height = 0, 0 to mean - here to edge of window,
11782         instead of -1, -1, since the former is all we support.
11783
11784 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11785
11786         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11787         when removing from quit_functions list.
11788
11789 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11790
11791         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11792
11793 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11794
11795         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11796          When redrawing characters on non-visible entry, use appropriate
11797          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11798
11799 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11800
11801         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11802         from drag coordinates.
11803         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11804         use drag_dest_cell.
11805
11806         * gtk/gtktree (drag_dest_cell)
11807         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11808         (Bug #1129)
11809
11810 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11811
11812         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11813         translate_* fields.
11814         (gtk_item_factory_finalize): invoke translate_notify independant from
11815         translate_data.
11816         (gtk_item_factory_set_translate_func): likewise.
11817         (gtk_item_factory_destroy): only remove ifactory pointer from those
11818         widgets that belong to us (stupid me).
11819
11820 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11821
11822         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11823         rc_style list when lookup succeeeds.
11824
11825 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11826
11827         * gtk/gtkctree.c (resync_selection): 
11828         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11829         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11830         bug.
11831
11832 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11833
11834         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11835         Add some missing GDK_THREADS_ENTER()/LEAVE around
11836         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11837
11838 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11839
11840         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11841         rather than emit_by_name.
11842
11843         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11844         on the widget across multiple signal emissions.
11845         (gtk_editable_delete_text): same here.
11846         (gtk_editable_class_init): set widget_class->activate_signal after
11847         editable_signals[ACTIVATE] has been created.
11848
11849 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
11850
11851         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
11852         position here prematurely -- we might not have the
11853         right ->min_position and ->max_position yet.
11854
11855 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11856
11857         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
11858         Add error traps so if the other end of the connection
11859         dies, we survive.
11860
11861         * gtk/gtkselection.c (gtk_selection_notify): Clean
11862         up properly when selection property retrieval fails.
11863         
11864         * gtk/gtkselection.c (gtk_selection_request): Correctly
11865         reject SelectionRequest notifies where the handler
11866         returns no data.
11867
11868 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11869
11870         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
11871         when we've previously highlighted.
11872
11873         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
11874         emit two "drag_leave" signals for Motif drops.
11875
11876         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
11877         back the correct status messages when dropping from
11878         Motif onto a proxy window that is rejecting the
11879         drop.
11880
11881 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
11882
11883         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
11884         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
11885         to compare two argument values. added gtk_arg_to_valueloc() to set a
11886         variable from an arg through its location (pointer).
11887
11888         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
11889         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
11890         as gfloat*, uchars are collected as guchar*, ints are collected as
11891         gint*, etc...
11892
11893 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
11894
11895         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
11896         Include <string.h> instead of <strings.h>.
11897
11898         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
11899         (actually, a lot more duplicate includes occur if
11900          you trace through the sequence of #include's)
11901         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
11902         
11903 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11904
11905         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11906         gtk-a-higuti-990322-[0-3]
11907
11908         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11909         that was causing -DX_LOCALE not to work.
11910
11911         * gtk/gtkrc.c (gtk_rc_init):
11912         X_LOCALE will never have LC_MESSAGES defined
11913
11914 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
11915
11916         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
11917         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
11918
11919         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
11920         left/right as well (gtk-michael-980726-0.patch.gz).
11921
11922         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
11923         for pointer values, use gchar instead of char. fixed uline allocation
11924         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
11925         chunks instead of G_ALLOC_ONLY.
11926         (gtk_label_size_request): always alter requisition as passed and leave
11927         widget->requisition alone.
11928         (gtk_label_set_text): allow NULL strings.
11929         (gtk_label_new): likewise.
11930
11931 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11932
11933         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11934
11935 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11936
11937         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11938         *and* mapped (i.e. drawable).
11939         (gtk_bin_expose): only send exposes to drawable children.
11940
11941         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11942         (gtk_box_expose): only send exposes to drawable children.
11943
11944         * gtk/gtkhscale.c (gtk_hscale_draw): 
11945         * gtk/gtkvscale.c (gtk_vscale_draw):
11946         hm, this is an ugly one. we first compute the size of our trough area
11947         here (window relative) and then check intersection with the draw_area
11948         which is parent relative because we're a NO_WINDOW widget, so we need
11949         to offset the trough area by allocation.x and allocation.y before the
11950         check. (this must not be done for the background area though, since
11951         that's already computed parent relative).
11952
11953 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11954
11955         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11956         unrealize title buttons.
11957
11958 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11959
11960         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11961         (gtk_clist_column_title_active): 
11962         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11963
11964         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11965         zero initialize event, removed superfluous gdk_window_get_pointer call
11966
11967         * gtk/gtklist.c (gtk_list_vertical_timeout)
11968         (gtk_list_horizontal_timeout): removed superfluous
11969         gdk_window_get_pointer call
11970
11971 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11972
11973         * plugging problems reported by "Bruce Mitchener, Jr."
11974         <bruce@puremagic.com> due to a purify session.
11975
11976         * gtk/gtkstyle.c:
11977         (gtk_style_ref): 
11978         (gtk_style_unref): assert ref_count to be > 0.
11979
11980         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11981         the requisition.
11982         (gtk_clist_set_shift): likewise.
11983
11984         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11985         adjustments.
11986
11987         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11988         event before sending it and set send_event to TRUE (which needs to
11989         be done for *all* synthesized events).
11990         (gtk_list_vertical_timeout): likewise.
11991
11992         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11993         leaks.
11994
11995         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11996         to TRUE when synthesizing events.
11997
11998 [ *** end of merges from 1.2 *** ]      
11999         
12000 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12001
12002         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12003         (or copied from gdkconfig.h.win32 on Win32, sigh).
12004
12005         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12006
12007         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12008
12009         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12010
12011         * gdk/gdkconfig.h.win32: New file.
12012
12013         * gdk/win32/makefile.cygwin: Build just a static archive here.
12014
12015         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12016         for the DLL from the static archive built above.
12017
12018         * gdk/gdk.def: Moved here from the win32 subdirectory.
12019
12020         * gdk/win32/*: Adapt for the changed private struct organisation.
12021
12022         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12023
12024 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12025
12026         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12027         for wheel mice (buttons 4 and 5).
12028
12029 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12030
12031         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12032         drawables use just the pixel field in the foreground and
12033         background GdkColor of the GdkGC.
12034
12035         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12036         GdkColors containing uninitialized (red,green,blue) fields, and
12037         just the pixel field filled in, and furthermore in the
12038         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12039         It thus turns out that we really don't need to have the full
12040         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12041         it later to have just the pixel values.
12042
12043 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12044
12045         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12046
12047 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12048
12049         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12050         New question on GtkLabel background colors.
12051
12052         * docs/gtk_tut.sgml:
12053           - Correct the example code callback
12054             function definitions.
12055           - Update the gtkdial example code, from Frans van Schaik.
12056           - Update setselection.c to current API.
12057
12058         * examples/Makefile examples/*/*.c: Update to code
12059         listed in tutorial.
12060
12061 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12062
12063         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12064         subrange table (from the "Developing International Software for
12065         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12066         block... Get the loaded font's charset correctly.
12067
12068         (Note that this, and the other *-win32.c files, still really are
12069         the old ones, the win32 subdirectory is not ready for compilation
12070         yet after the reorg.)
12071
12072 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12073
12074         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12075         check.
12076
12077 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12078
12079         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12080         on results of XQueryDeviceState().
12081
12082 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12083
12084         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12085         we need to accesss only ->children. We need an accessor
12086         for the children.
12087
12088         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12089         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12090         to get rid of gdkx.h include.
12091         
12092         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12093         and random references to 'None'.
12094
12095         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12096         Get rid of unused #include <gdk/gdkx.h>
12097
12098         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12099         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12100         gdkconfig.h.
12101
12102 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12103
12104         * gdk/win32/gdkdraw.c
12105         * gdk/win32/gdkfont.c
12106         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12107         following yesterday's changes. (Unrelated to Owen's reorg.)
12108
12109 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12110
12111         * gdk/x11/gdkinput-gxi.c: Add missing include,
12112           fix GdkWindowPrivate => GdkDrawablePrivate.
12113
12114         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12115
12116         * gdk/x11/Makefile.am (xinput_sources): Add missing
12117         backslash to fix building with --with-xinput=none
12118
12119 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12120
12121         Move all X specific code into the x11/ directory.
12122         Aside from shuffling things around, did the following:
12123
12124        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12125          gdk_arg_context_* - a simple argument parsing system
12126          in the style of popt.
12127
12128        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12129          gdk/x11/gdkprivate-x11.h:
12130          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12131          add ->klass and ->klass_data fields. The klass_data
12132          field points to an auxilliary structure that is
12133          windowing system dependent.
12134
12135        * gdk/gdkfont.c: Make most of the measurement functions
12136          simply wrappers around gdk_text_extents().
12137
12138        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12139          _gdk_font_strlen() function that hides the weird
12140          behavior in gtk+-1.[02] where a string is interpreted
12141          differently for 8-bit and 16-bit fonts.
12142
12143        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12144          to store common code for synthesizing double/triple
12145          press events.
12146         
12147        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12148          Make all the function that modify an existing GC
12149          simply wrappers around gdk_gc_set_values().
12150          
12151        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12152          for throwing out later.
12153
12154        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12155          GdkImagePrivate and GdkColormapPrivate to have a
12156          windowing system dependent part (GdkFontPrivateX etc.)
12157          that "derives" from the system-independent part.
12158
12159        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12160          Got rid of the included-source-files for XInput in
12161          favor of automake conditionals. (Which didn't exist
12162          when XInput support was originally added.)
12163
12164        * gdk/gdkrgb.c: Remove the visual id from the debugging
12165          statements since that is X11 specific; print out
12166          type/depth info instead.
12167          
12168
12169 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12170
12171         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12172         loading duplicates of hashed fonts.
12173
12174         * gdk/gdk.c (gdk_keysym_convert_case): rename
12175         gdk_XConvertCase to gdk_keysym_convert_case, allow
12176         results to be NULL in the GTK+ style.
12177
12178         * gdk/gdkcompat.h: Started compatibility header
12179         for renames.
12180
12181 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12182
12183         * gdk/win32/gdkprivate.h: New font private structures, related to
12184         fontsets.
12185
12186         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12187         gdk_font_list_free(). On X11, will just be wrappers to
12188         XListFonts() and XFreeFontNames(). On Win32, the code previously
12189         in gtkfontsel.c is now here.
12190
12191         New function gdk_font_xlfd_create(). On X11 will get the FONT
12192         property of the font (for GDK_FONT_FONTs), or call
12193         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12194         builds a XLFD style name from the font information in the LOGFONT
12195         struct(s).
12196
12197         New function gdk_font_xlfd_free(), which correspondingly frees the
12198         string returned by gdk_font_xlfd_create().
12199
12200         Implement fontsets on Win32. Add a function that iterates over a
12201         wide char string and calls a callback function for each substring
12202         of wide chars from the same Unicode subrange (and thus probably
12203         available in the same real font).
12204
12205         Improve the XLFD emulation a bit.
12206
12207         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12208
12209         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12210         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12211         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12212         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12213         ImmGetCompositionStringW() to get the composed Unicode chars.
12214
12215         * gdk/win32/gdkgc.c
12216         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12217         struct changes.
12218
12219         * gdk/win32/gdk.def: Add the new functions.
12220
12221 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12222
12223         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12224         get the Platform SDK to get <dimm.h>.
12225
12226         * gdk/win32/gdkevents.c: More event handling fixes and
12227         simplification. Never generate motion events with is_hint true. We
12228         used to do that on bogus grounds earlier. Windows sends
12229         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12230         moved, ignore these.
12231
12232         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12233
12234         * gdk/win32/gdkglobals.c
12235         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12236         the TrackMouseEvent function, and use it.
12237
12238         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12239         char before calling WideCharToMultiByte in order to get a string
12240         for the window title.
12241
12242         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12243
12244         * gdk/win32/gdk.def: Remove obsolete functions.
12245
12246         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12247         /nodefaultlib and /defaultlib switches.
12248
12249         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12250
12251 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12252
12253         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12254         EuroSign).
12255
12256         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12257         same type as GdkWChar, especially on Win32.
12258
12259         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12260
12261         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12262         before passing to Windows GDI for drawing etc. Convert to the
12263         system default codepage before passing to Windows as window
12264         titles.
12265
12266         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12267         support changing input locale on the fly.
12268
12269         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12270         on-the-fly changes. Convert incoming characters from the current
12271         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12272         on the current input language. Use keysym<->Unicode mapping tables
12273         and functions borrowed from xterm sources.
12274
12275         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12276         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12277         Manager) if available. IMEs and the Active IMM are available under
12278         the disguise of Chinese, Korean and Japanese support for IE and
12279         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12280         support is present in all editions (as long as you install it).
12281
12282         Call DispatchMessage from gdk_events_queue() (and thus
12283         gdk_WindowProc()), instead of duplicating the code in
12284         gdk_WindowProc().
12285
12286         Reworked the grab handling and propagation code, factored out
12287         duplicated code snippets into separate functions. Other cleanups,
12288         too.
12289
12290         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12291         the <dimm.h> header describing the Active IMM.
12292
12293         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12294         just do the same as for "single" fonts.
12295
12296         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12297         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12298         the new keysyms from gdkkeysyms.h.
12299
12300         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12301         fontset, so that gtkentry uses wide characters.
12302
12303         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12304         GTk+'s system directory "gtk+", not "gtk".
12305
12306 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12307
12308         * docs/gtkfaq.sgml: FAQ update
12309
12310 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12311
12312         * gdk/win32/gdkprivate.h: Add more font private data.
12313
12314         * gdk/win32/gdkfont.c
12315         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12316         fonts and strings. Now works much better. You still have to
12317         have a correct font selected, though. No fontset emulation yet.
12318
12319 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12320
12321         * gtk/maketypes.awk: Use G_OS_WIN32.
12322
12323         * gtk/gtk.def: Add some missing entry points. Also some non-public
12324         ones, but PyGTK porter claims to need them.
12325
12326         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12327         built-in type generation.
12328
12329 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12330
12331         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12332         GDK_FONT_FONT fonts (which is all we have for now, we don't
12333         emulate fontsets). The X11 version uses plain XDrawString in that
12334         case, too. The string passed to gdk_draw_text_wc seems to be in
12335         fact (at least, when used by gtkentry and gtktext) either in a
12336         single-byte charset, or a DBCS. Not Unicode.
12337
12338         This fixes the problem in gtkfontsel, where even if you had
12339         selected a font with a non-Latin1 charset (windows-greek, for
12340         instance), the preview still used Latin-1 glyphs.
12341
12342         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12343         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12344         (gdk_font_load): Recognize the demibold etc weights, even if we
12345         don't have the corresponding constants in the headers.
12346         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12347         version. Should save font resources a bit, when we don't have
12348         multiple HFONTs for the same font.
12349
12350         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12351         version.
12352
12353 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12354
12355         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12356         X values
12357
12358 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12359
12360         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12361         layout support (as mentioned on
12362         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12363
12364 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12365
12366         * gtk/fnmatch.c
12367         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12368
12369 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12370
12371         * configure.in (ALL_LINGUAS): Added Galician (gl)
12372
12373 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12374
12375         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12376
12377         * gdk/win32/gdkcompat.c: New file, actually provide an
12378         implementation for the deprecated functions. (Just temporarily.)
12379
12380         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12381
12382         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12383
12384         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12385
12386 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12387
12388         * configure.in: Added "uk" to ALL_LINGUAS.
12389         
12390 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12391
12392         * configure.in: correct checking for BeOS check
12393
12394         * gdk/gdktypes.h
12395         * gtk/fnmatch.c
12396         * gtk/gtkfilesel.c
12397         * gtk/gtkitemfactory.c
12398         * gtk/gtkmain.[ch]
12399         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12400
12401 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12402
12403         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12404         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12405         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12406         by Bulgarian). 
12407
12408 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12409
12410         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12411         Fix a reference to window_private->destroyed.   
12412
12413         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12414         (ugly) setting of an internal GdkWindow member to use
12415         a _slightly_ cleaner macro.
12416
12417         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12418         GdkDrawablePrivate and GdkWindowPrivate.
12419         Add extra macros for accessing GDK_DRAWABLE_ components.
12420
12421         * *.[ch]: Massive adjustments for the above, use the
12422         new macros in a lot of places.
12423
12424 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12425
12426         * gdk/gdktypes.h: Make GdkDrawable the base type,
12427         not GdkWindow.
12428
12429 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12430
12431         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12432
12433 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12434
12435         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12436
12437 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12438
12439         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12440         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12441
12442         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12443
12444         * docs/gtk-config.1: Now autogenerated.
12445         * docs/Changes-1.4.txt: started
12446         
12447 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12448
12449         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12450         to #ifdef also here.
12451
12452         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12453         Owen did to the X11 backend.
12454
12455         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12456         ScrollWindowEx when blitting inside a window, it can't be correct
12457         in the general case.
12458
12459         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12460         WM_GETMINMAXINFO is easier.
12461
12462         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12463         depth equal to the bitspixel value, not the visual's depth.
12464
12465         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12466         to 24 even if the bitspixel value is 32.
12467
12468         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12469         need to check for depth==32 when bpp==32, depth will always be 24.
12470
12471 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12472
12473         * docs/Changes-1.4.txt: Started
12474         
12475         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12476
12477         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12478         
12479         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12480         into C file.
12481         
12482         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12483         header to gdkinputprivate.h.
12484
12485         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12486         unused since before 1.2.
12487
12488 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12489
12490         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12491         expand possible hex escapes in the font family (put there by
12492         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12493         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12494         On Win32, add hex escapes here, too.
12495
12496 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12497
12498         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12499         to #ifdef GDK_WINDOWING_X11.
12500
12501 [ Merges from gtk-1-2 ]
12502
12503 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12504
12505         * configure.in: fixed "GNU Make" check to pass with new make version
12506         3.77.95.
12507
12508 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12509
12510         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12511         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12512         AM_PATH_GTK() macros don't get confused by the -pre1.
12513
12514 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12515
12516         * configure.in (REBUILD): Change check for perl5
12517           to check explicitely for v >= 5.002. (5.001
12518           does not work with our scripts.)
12519
12520 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12521
12522         * configure.in: evaluate $PERL for the perl version check. added
12523         --disable-rebuilds to give the user an option to completely disable
12524         any source autogeneration rules.
12525
12526 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12527
12528         * configure.in: evaluate $ac_make when checking for GNU Make.
12529
12530 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12531
12532         * docs/Makefile.am: added generation.txt.
12533
12534         * Makefile.am: require automake 1.4, build README from README.in and
12535         INSTALL from INSTALL.in in dist-hook.
12536         
12537         * README.in:
12538         * INSTALL.in: new files to autogenerate README and INSTALL from.
12539
12540         * configure.in: figure whether we have GNU Make
12541
12542         * docs/generation.txt: minor additions/corrections.
12543
12544 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12545
12546         * docs/gtkfaq.sgml: FAQ Update
12547
12548 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12549         
12550         * configure.in: Fix autoconf warnings about cross compilation by
12551         trying to provide sane defaults for AC_TRY_RUN.
12552
12553 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12554
12555         * ltconfig
12556         * ltmain.sh: upgrade to libtool 1.3.3
12557
12558 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12559
12560         * INSTALL: Indicate that the --with-glib= configure
12561         time flag is unsupported.
12562
12563 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12564
12565         * docs/generation.txt: Added a file that gives
12566         documenation about the autogeneration process for
12567         various autogenerated files.
12568         
12569 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12570
12571         * configure.in (LIBS): Look for libgmodule in the
12572         right location.
12573
12574 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12575
12576         * docs/gtk_tut.sgml: Removed references to
12577         code examples in my directory on gtk.org as
12578         they should all be in the tutorial now.
12579
12580         * docs/gtk_tut.sgml: Added sources for dial-test
12581         and scribble-xinput programs that were previously
12582         missing.
12583
12584 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12585
12586         * TODO: Added entry about menu keyboard navigation, removed
12587         some finished items.
12588
12589 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12590
12591         * acinclude.m4: Standardize on func_dgettext
12592         not func_gettext, so that the checks for dgettext
12593         actually are paid attention to.
12594
12595 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12596
12597         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12598         directly, rather than repeating the checks for
12599         gettext.
12600
12601         * INSTALL: Added information about gettext and
12602         NLS support.
12603
12604         * acinclude.m4 (LIBM): Check for dgettext, not
12605         just gettext. This should hopefully fix things wrt
12606         systems with old versions of GNU gettext installed.
12607
12608 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12609
12610         * configure.in (LIBS): Look for libgmodule in the
12611         right location.
12612
12613 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12614
12615         * autogen.sh: add --enable-maintainer-mode
12616
12617         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12618
12619 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12620
12621         * docs/gtk-config.1.in:
12622           docs/Makefile.am:
12623           configure.in: gtk-config is now generated.
12624
12625         * docs/gtk-config.1: Removed, now generated.
12626
12627 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12628
12629         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12630         handle CreateNotify itself, still put out a debuging message for
12631         --gdk-debug=events. made the ReparentNotify debugging message more
12632         verbose.
12633         wrap xcoords translation for ConfigureEvents into an error trap,
12634         a destroy event may already be pending, and in that case, the
12635         actuall coordinate values are not at all critical.
12636
12637 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12638
12639         * gdk/gdkcc.c: Stop leaking the color_hash all over
12640         the place. Simplify and improve the logic.
12641
12642 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12643
12644         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12645         for prototypes and function implementations consistent (reported
12646         by Tomas Ogren).
12647
12648 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12649
12650         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12651         send_event set in debugging output.
12652         (gdk_compress_exposures): default initialize the event so we don't
12653         operate on bogus values (namely send_event).
12654
12655 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12656
12657         * gdk/gdkwindow.c: When we receive an unexpected
12658         destroy notify on one of our windows, don't just
12659         warn about it, also mark our windows as destroyed.
12660
12661 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12662
12663         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12664           name => font and name => fontset hashes. The 
12665           name => fontset hash is a _big_ win since we
12666           weren't previously caching fontsets at all and loading
12667           fontsets is expensive. The name => font hash
12668           is less of a win, but it does save us from doing
12669           repeated XQueryFont calls on the same font.
12670
12671         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12672           list so we can remove font/fontset from hash.
12673
12674 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12675
12676         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12677           and slightly confusing test. [ XInternAtom (,,TRUE)
12678           will never return None ].
12679
12680 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12681
12682         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12683           gdk/gdkwindow.c (gdk_window_set_hints):
12684
12685         Don't omit setting the properties if flags == 0 -
12686         there may be an existing set of properties there
12687         already. (Very old bug. Would it be better to
12688         delete the property instead?)
12689
12690         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12691           spelling error in comment.
12692
12693 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12694
12695         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12696           to avoid stomping over gdk_error_warnings.
12697
12698         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12699           as (bits_per_pixel + 7) / 8. This gives the same
12700           result as before for multiples of 8, but actually
12701           a "reasonable" value for 1bit or 4bit displays.
12702
12703 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12704
12705         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12706         GNU Make.
12707
12708 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12709
12710         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12711         discarding configure events.
12712
12713 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12714
12715         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12716         refcount is greater than zero.
12717
12718         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12719
12720         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12721
12722         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12723
12724         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12725
12726 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12727
12728         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12729         that format 32 => sizeof(item) == 4. It really is
12730         sizeof(long).
12731
12732 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12733
12734         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12735         core dump at all on X IO errors, only core dump
12736         if --enable-debug for X errors.
12737
12738 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12739
12740         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12741         unknown window:" message. disabled ConfigureNotify discarding code,
12742         because it led to events being processed out of order.
12743
12744 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12745
12746         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12747
12748         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12749         we export this function, supress error warnings and don't reset the
12750         error code in the first half of this function.
12751
12752         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12753         code (instead of just -1) so gdk_error_trap_pop() reveals something
12754         actually informative about the error that happened.
12755
12756         * gdk/*.c:
12757         don't rely on gdk_error_code being -1 if an error occoured, but just
12758         gdk_error_code != 0.
12759
12760 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12761
12762         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12763         pointer *before* invoking the filter function, so we at least don't
12764         crash if a filter is removed that is currently executed. window filters
12765         *really* need to be made truely reentrant at some point.
12766
12767 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12768
12769         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12770         PropertyNotify debug messages.
12771
12772 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12773         
12774         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12775         
12776         * gdk/gdkim.c: Fix cut-and-paste errors for 
12777         x/y and PreeditAttributes/StatusAttributes.
12778
12779 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12780
12781         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12782         G_MAXINT to 2^16 to alleviate overflow problems in
12783         various window managers.
12784
12785 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12786
12787         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12788         for fontsets.
12789
12790 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12791
12792         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12793         Initialize size_hints.x and size_hints.y because kwm
12794         brokenly pays attention to them.
12795         (Bug #1181 -  Lars Heete <hel@admin.de>)
12796
12797 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12798
12799         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12800         return value of gdk_list_visuals(). 
12801         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12802
12803 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12804
12805         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12806         XSetIMValues to (void *) when comparing to NULL, to workaround
12807         the problem of some compilers barfing since older X headers don't
12808         have the prototype for it.
12809
12810 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12811
12812         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12813         for pseudocolor where colormap->colors was double
12814         allocated.
12815
12816         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12817         color value in the hash table with the pixel filled
12818         in so when we do later hash table lookups, the color
12819         value is correct.
12820         
12821 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12822
12823         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12824         making the call
12825
12826 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12827
12828         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12829         pointed out by Morten Welinder <terra@diku.dk>.
12830
12831 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12832
12833         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12834           default filter from the list
12835
12836 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12837
12838         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12839           default filter from the list
12840
12841 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12842
12843         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12844
12845         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
12846         g_strdup_printf instead of calcing the length separately
12847
12848 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
12849
12850         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
12851         that we don't do in many other places. (Fixing duplicate 
12852         #include of config.h)
12853
12854         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
12855         Otherwise, #ifndef XINPUT_NONE check in the latter
12856         doesn't work. (Bug #546)
12857
12858 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
12859
12860         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
12861         "None" case insensitive.
12862
12863 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12864
12865         * gdk/gdkselection.c: 
12866         Add error traps so if the other end of the connection
12867         dies, we survive.
12868
12869 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12870
12871         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
12872         dest_xid field into two fields - one for the window
12873         to send in messages, one to indicate the last looked
12874         up window for caching purposes. This is needed, so
12875         that Leave messages get the correct window.
12876
12877 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
12878
12879         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
12880         Fix warning created by people mucking around
12881         with the gsource API.
12882
12883         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
12884         Change mapping between GIOCondition and GdkInputCondition
12885         to match the way the Linux kernel does it. This should
12886         fix problems where closed pipes were no longer signalling
12887         GDK_INPUT_READ on systems with a native poll().
12888
12889 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
12890
12891         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
12892         explicitly for the string "None" - it is in the XPM
12893         spec and some servers treat unknown colors in odd ways
12894         (like asking the user!)
12895
12896 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12897
12898         * gdk/gdkevents.c: made "->" into a "." of previous change so
12899         it compiles
12900
12901 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
12902
12903         * gdk/gdkevents.c (gdk_compress_exposures): Set the
12904         window field of the event structure before calling
12905         user filters.
12906
12907 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12908
12909         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
12910         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
12911
12912 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
12913
12914         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
12915         intermediate text property - prevents major memory
12916         leak when gdk_use_mb.
12917         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
12918
12919 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12920
12921         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12922         gtk-a-higuti-990322-[0-3]
12923
12924         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
12925         sizeof(wchar_t) != sizeof (GdkWChar)
12926
12927         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12928         that was causing -DX_LOCALE not to work.
12929
12930         * gtk/gtkrc.c (gtk_rc_init):
12931         X_LOCALE will never have LC_MESSAGES defined
12932
12933         * gdk/gdk.c (gdk_init_check):
12934         Remove --xim-preedit and --xim-status from argv properly.
12935
12936         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12937         that the client window is present on the X server
12938         before we pass it to the input method.
12939
12940 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12941
12942         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12943         if --display is specified on the command line, than
12944         the drag window will not be created on that display.
12945         
12946 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12947
12948         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12949         lookups with only_if_exists == TRUE were inserting
12950         bogus values into the atom cache.
12951
12952 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12953
12954         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12955         then reset it to NULL.
12956
12957         * gdk/gdkcolor.c:
12958         (gdk_colors_free): 
12959         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12960         key for g_hash_table_remove() in both functions, this prevents us
12961         from accessing possibly uninitialized portions of a GdkColor structure
12962         where we are only interested in its pixel value.
12963
12964 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12965
12966         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12967         font hash table, if we have a GdkFontPrivate entry for this font
12968         already, simply increment its reference count, provided by Olaf Dietsche
12969         <olaf.dietsche+list.gtk@netcologne.de>.
12970
12971 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12972
12973         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12974         just to be sure.
12975
12976         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12977         unused variables, leftovers from the X11 version.
12978
12979         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12980
12981         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12982         downcase fields on X11.
12983
12984 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12985         
12986         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12987         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12988
12989 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12990
12991         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12992
12993         * gtk/makefile.msc: Correct path to libintl.
12994
12995         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12996         use of gint vs. int, and gint vs. gboolean in headers and
12997         definitions. Use GtkType for the *_get_type functions. Note that
12998         these changes preserve binary compatibility.
12999
13000         * gdk/gdk.c
13001         * gdk/win32/gdk.c
13002         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13003
13004         * gtk/gtkmain.c
13005         * gtk/gtkclist.c
13006         * gtk/gtkmenufactory.c
13007         * gtk/gtknotebook.c
13008         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13009         vs. gboolean.
13010
13011         * gtk/gtkcolorsel.[ch]
13012         * gtk/gtkcombo.[ch]
13013         * gtk/gtkdrawingarea.[ch]
13014         * gtk/gtkgamma.[ch]
13015         * gtk/gtkhandlebox.[ch]
13016         * gtk/gtkhpaned.[ch]
13017         * gtk/gtkhruler.[ch]
13018         * gtk/gtkplug.[ch]
13019         * gtk/gtkpreview.[ch]
13020         * gtk/gtkruler.[ch]
13021         * gtk/gtksocket.[ch]
13022         * gtk/gtkstatusbar.[ch]
13023         * gtk/gtktoolbar.[ch]
13024         * gtk/gtkvbbox.[ch]
13025         * gtk/gtkvpaned.[ch]
13026         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13027         functions.
13028
13029         * gtk/gtkgamma.h: Fix bug, missing () in call of
13030         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13031
13032 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13033
13034         * gdk/gdkcolor.c (gdk_colormap_new)
13035         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13036         colormap->colors was allocated twice.
13037
13038         * gdk/win32/gdk.c: Remove some unused stuff.
13039
13040         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13041         colormap.
13042
13043         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13044         * gtk/gtklabel.h (gtk_label_get_type)
13045         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13046         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13047         in a couple of places, not guint.
13048
13049 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13050
13051         * configure.in,po/et.po: added Estonian language file
13052
13053 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13054
13055         * configure.in,po/da.po: added Danish file
13056
13057 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13058
13059         * docs/gtkfaq.sgml: Minor FAQ Update
13060
13061 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13062
13063         * docs/gtkfaq.sgml: FAQ update
13064
13065 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13066
13067         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13068         way to get window contents continually refreshed while resizing. I
13069         didn't like the effects myself, so it's not on by default.
13070
13071         * gdk/win32/gdkprivate.h: New flag variable
13072         gdk_event_func_from_window_proc, FALSE by default.
13073
13074         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13075         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13076         are passed --gdk-event-func-from-window-proc.
13077
13078         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13079         and we have am event_func, call it instead of enqueing the event.
13080
13081 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13082
13083         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13084         Kelley: Set expose_count in GdkEventExposes correctly.
13085
13086         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13087         MULTIPLE_WINDOW_CLASSES).
13088
13089         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13090         for bug in NT, apparently NT *does* draw the end pixel, too, in
13091         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13092
13093 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13094
13095         Improvements by Hans Breuer: 
13096
13097         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13098
13099         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13100         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13101         window contents while dragging" is turned on. Allocate at least
13102         one unique class for every GdkWindowType. If support for single
13103         window-specific icons is ever needed (eg. Dialog specific), every
13104         such window should get its own class.
13105
13106 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13107
13108         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13109         error that caused crashes.
13110
13111 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13112
13113         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13114         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13115         bugs when for instance part of the window was outside the
13116         display. Thanks to Philippe Colantoni for finding and fixing this.
13117
13118 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13119
13120         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13121         endpoint calculations which were totally wrong. (A little RTFMing
13122         helps a lot ;-)
13123
13124         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13125         from a separate directory, not from gettext, because of licensing
13126         issues (we want to use the LGPL version).
13127
13128         * README.win32: Mention the intl from glibc vs from gettext issue.
13129
13130 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13131
13132         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13133         in the key event handling: Now AltGr chars work again. Also,
13134         now Alt-digits are passed up as well as Control-digits.
13135         Pass keypad plus and minus as normal plus and minus.
13136
13137 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13138
13139         * docs/gtkfaq.sgml: FAQ Update
13140
13141 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13142
13143         * README.win32
13144         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13145         the Wintab SDK.
13146
13147         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13148         OK, but getting closer. Guard against bogus tilt data from Wacom
13149         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13150         enable easier building without Wintab.
13151
13152         * gdk/win32/gdkinput.h
13153         * gdk/win32/gdkevents.c 
13154         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13155         
13156         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13157         code. As we have just one visual on Win32, no sense to have it in a
13158         table, and no need for the hash table.
13159
13160         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13161         better on white background.
13162
13163 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13164
13165         * README.win32: Update gcc build instructions. Mention gettext is
13166         GPL.
13167
13168         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13169         supported cursor size with GetSystemMetrics.
13170
13171         * gdk/win32/gdkfont.c
13172         * gtk/gtkfontsel.c: Guard against some font weight and charset
13173         symbols being undefined (in mingw32 headers).
13174
13175         * gdk/win32/makefile.cygwin
13176         * gtk/makefile.cygwin
13177         * gtk/gtkthemes.c: No longer need to have differently named
13178         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13179
13180 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13181
13182         * docs/gtkfaq.sgml: Long awaited FAQ update.
13183
13184 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13185
13186         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13187         it. Obscure bit manipulation needed.
13188
13189         * gdk/win32/gdkevents.c: Logging.
13190         
13191         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13192         style (file name include compiler name) for theme engines.
13193
13194 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13195
13196         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13197
13198         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13199         events. The key.string wasn't zero-terminated, still we strdup'ed
13200         it in gdk_event_copy(). Synthesize crossing events for button
13201         events before possible propagation.
13202
13203         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13204
13205         * gdk/win32/makefile.cygwin
13206         * gtk/makefile.cygwin: Use new DLL naming style for the
13207         GCC-compiled ones.
13208
13209         * gdk/win32/makefile.msc
13210         * gtk/makefile.msc: Cosmetics mostly.
13211
13212         * gtk/gtk.def: Add missing entry points.
13213
13214         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13215
13216 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13217
13218         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13219         or height is zero. Don't print a warning if Pie or Arc fails, they
13220         always fail (?) for very narrow ellipses.
13221
13222         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13223         the part or the destination window corresponding to source area
13224         outside of the source drawable's boundary.
13225
13226         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13227         anything if less than two points.
13228
13229         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13230         return NULL. Gtk cut-and-paste inside a single program works
13231         better this way. (It always gets the clipboard contents from
13232         Windows, not from its own copy, which is cleared anyway. I can't
13233         say I fully understand what happens... Emulating the X selection
13234         and property stuff is a bit of a mess.)
13235
13236         * gdk/win32/gdkevents.c
13237         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13238
13239         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13240         that never got deleted). Revamp gdk_region_shrink.
13241
13242         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13243         after use.
13244
13245         * gtk/gtk.def: Add some missing entry points.
13246
13247         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13248         component.
13249
13250 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13251
13252         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13253         Control-digits specially.
13254
13255 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13256
13257         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13258
13259 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13260
13261         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13262         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13263         finding this.)
13264
13265 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13266
13267         * gtk+.spec.in: Corrected some typos in files section.
13268         
13269 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13270
13271         * README.win32: Mention using GNU gettext.
13272         * config.h.win32: Enable NLS stuff.
13273         * gtk/makefile.msc: Use GNU gettext.
13274         * gdk/win32/gdkdnd.c: Minor header reorg.
13275         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13276         cosmetics.
13277         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13278         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13279
13280 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13281
13282         * acinclude.m4
13283         * config.guess
13284         * config.status
13285         * ltconfig
13286         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13287
13288 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13289
13290         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13291         SafeAdjustWindowRectEx. Don't override all calls to
13292         AdjustWindowRectEx by it, but use it only in two places: When
13293         creating a new top-level window and when moving a top-level
13294         window.
13295
13296         Use screen coordinate rectangle, not client rectangle, in
13297         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13298         when we try to place a window so that the decoration (mainly,
13299         title bar) isn't visible.
13300
13301         These changes fix the bug that showed up for instance as the
13302         GIMP's saved top-level windows moving right and down (by an amount
13303         equal to the window decoration) for each session. This bug showed
13304         up also in testgtk's "Saved Position".
13305
13306         gdk_window_resize also redone a bit.
13307
13308 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13309
13310         * gtk/testgtkrc: Add (commented out) Windows-style theme
13311         include line.
13312
13313         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13314
13315 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13316
13317         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13318         gdkx.h to a gdk subdirectory, so that applications can include
13319         these with <gdk/*.h> without trouble.
13320
13321         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13322         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13323         have their bitmap destroyed.
13324
13325         * gdk/win32/gdk.def: Add gdk_root_parent.
13326
13327 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13328
13329         * configure.in
13330           gtk-config.in
13331           ltconfig
13332           ltmain.sh     
13333           gtk/Makefile.am: changes to compile nicely (with xlib) 
13334           on BeOS
13335
13336 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13337
13338         * acinclude.m4
13339         * config.guess
13340         * config.sub
13341         * ltconfig
13342         * ltmain.sh: upgrade to libtool 1.3
13343
13344 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13345
13346         * gtk/gtkclist.c:
13347         * gtk/gtkctree.c: merges from gtk-1-2
13348
13349 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13350
13351         Support added for building using a GNU toolchain on Win32,
13352         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13353
13354         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13355         * config.h.win32: Changes for gcc.
13356         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13357         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13358         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13359         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13360         Protect shl stuff unavaiilable with mingw32 headers.
13361         * gdk/win32/gdkevents.c: Fix typo.
13362         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13363         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13364         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13365         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13366         the mingw32 headers.
13367         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13368         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13369         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13370         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13371         Test for NATIVE_WIN32, not _MSC_VER.
13372         * gtk/gtkmain.c: No use warning about developer version on Win32,
13373         there aren't any non-developer versions anyhow.
13374         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13375         * gtk/makefile.msc: Use pthread from another directory. Minor other
13376         changes. 
13377
13378 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13379
13380         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13381           default filter from the list
13382
13383 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13384
13385         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13386          when gtk_widget_grab_default() is called for a widget that
13387          is not within a GtkWindow.
13388
13389 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13390
13391         * docs/gtk_tut.sgml, examples/clist.c: use a
13392           scrolled window in the clist example. Minor
13393           tutorial fixes.
13394
13395 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13396
13397         * docs/gtk_tut.sgml: Style check from David King
13398           <dking@youvegotmail.net>
13399
13400 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13401
13402         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13403         compile with unknown value of GDK_WINDOWING
13404
13405 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13406
13407         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13408         after the rule is fired.
13409         (install-exec-local): Install gdkconfig.h only if the contents are
13410         different from the currently installed gdkconfig.h.
13411
13412 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13413
13414         * gdk/Makefile.am (configexecincludedir): Rename from 
13415         configincludedir so that gdkconfig.h will be installed 
13416         as part of `make install-exec'. 
13417
13418 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13419
13420         * acinclude.m4
13421         * config.guess
13422         * config.sub
13423         * ltconfig
13424         * ltmain.sh: upgrade to libtool 1.2f
13425
13426         * autogen.sh: libtool is not required to autogen gtk+
13427
13428         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13429         needed)
13430
13431 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13432
13433         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13434         declaring gdk variables exported/imported from the DLL. New image
13435         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13436         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13437         GDK_DRAG_PROTO_OLE2.
13438
13439         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13440         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13441         declared only for the Win32 version, but could be in the X11
13442         version as well. (Needed for a Xlib-less gdk_imlib.)
13443         gdk_color_hash should have only one parameter. Declare
13444         gdk_threads_mutex with GDKVAR.
13445         
13446         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13447         just one parameter.
13448
13449         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13450         per pixel, not bits.
13451
13452         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13453         Fetch bpp (which means bits-per-pixel here) from another place on
13454         Win32. Accept also depth==32 (which we might get on Win32) with
13455         bpp==32.
13456
13457         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13458         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13459         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13460         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13461         in the backend-dependent directory, not in the common gdk
13462         directory.
13463
13464         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13465         headers.
13466
13467 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13468
13469         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13470         want to use the Gtk+ devel version (which is true, and yes - even i am
13471         currently working with the 1.2.x branch). so everyone reading this, you
13472         probably want to issue
13473         cvs checkout -r glib-1-2 glib
13474         and
13475         cvs checkout -r gtk-1-2 gtk+
13476         as your next two comands.
13477
13478 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13479
13480         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13481         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13482
13483         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13484         file. strongly deprecated the GTK_HAVE_* macros, we provide
13485         GTK_CHECK_VERSION() for people that need to check for certain
13486         Gtk+ versions.
13487
13488         * gtk/gtkcompat.h: removed this from CVS.
13489         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13490         idea right from the start, it just didn't seem like that back then.
13491
13492 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13493
13494         * merges from gtk-1-2:
13495
13496 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13497
13498         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13499         item factory class has been created.
13500         (gtk_item_factory_parse_rc): likewise.
13501
13502         * gtk/gtkmenu.c:
13503         keep proper references for old_active_menu_item.
13504         (gtk_menu_reparent): unset the usize of the new parent,
13505         so the menu can sanely be size requested and we don't get nasty screen
13506         artefacts upon next reparentation.
13507         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13508         enter notify. only synthesize enter notifies if the pointer really is
13509         inside the event window.
13510         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13511         (gtk_menu_popup): move the background setting stuff into
13512         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13513
13514         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13515         gtk_menu_shell_select_item() to select the new item.
13516         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13517         do the right thing for deselection as well.
13518
13519 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13520
13521         * gtk/gtkwidget.[hc]:
13522         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13523         are locked.
13524
13525         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13526         existing accelerators if the widget's accelerators are locked.
13527
13528 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13529
13530         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13531
13532         * gtk/gtkmenu.c: truely forward key press and key release events to
13533         the menu widget from the toplevel or tearoff window. we can't simply
13534         connect to that, we need to stop further processing of the events as
13535         well.
13536
13537 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13538
13539         * gtk/gtkmenu.c:
13540         (gtk_menu_key_press): pass event->keyval, event->state to
13541         gtk_accelerator_valid, instead of event->keyval twice.
13542         refuse to install single letter accelerators for menus that use
13543         single letter shortcuts.
13544
13545         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13546         gtk_menu_ensure_uline_accel_group().
13547
13548         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13549         which will always return an uline accel group, made
13550         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13551         yet created.
13552
13553 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13554
13555         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13556
13557         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13558         Leave button sensitive, trap  button_press, button_release,
13559         motion_notify, enter_notify and leave_notify events instead.
13560         (gtk_clist_column_title_active): disconnect event handler.
13561         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13562         Guillaume Laurent <glaurent@worldnet.fr>
13563
13564 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13565
13566         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13567         width/height mixups.
13568
13569         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13570         if needed.
13571
13572 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13573
13574         * gtk/testgtk.c (create_item_factory): unref the item factory after
13575         window's destruction.
13576
13577         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13578         count on the menu shell around the menu item's activation, since the
13579         signal emission may cause menu shell destruction.
13580
13581         * gtk/gtkitemfactory.c:
13582         the previous code leaked one accel group per menu. we use
13583         gtk_menu_get_uline_accel_group() now to fix that, and with that
13584         also create the underline accelerator group of the menus only if
13585         required (i.e. an underline accelerator has been specified).
13586         (gtk_item_factory_construct):
13587         (gtk_item_factory_create_item): removed code that would create an
13588         extra accel group for the menu (and leak references).
13589         (gtk_item_factory_create_item): adapted the underline accelerator
13590         installation code to properly feature gtk_menu_get_uline_accel_group().
13591
13592         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13593         menu->accel_group, this may return NULL if the accelerator group
13594         hasn't been set yet.
13595         added gtk_menu_get_uline_accel_group() to retrive the underline
13596         accelerator group of the menu, this will be created on demand
13597         and proper care is taken about its reference count.
13598
13599         * gtk/gtkitemfactory.h:
13600         * gtk/gtkitemfactory.c:
13601         dumped the approach of keeping a widgets by action list on the
13602         factory since the factory<->widget destroy negotiation didn't work
13603         and would be hard to get going at all. instead we keep a list of
13604         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13605         persistant throughout a program's life time).
13606         also, i removed the static const gchar *key_* variables, and made
13607         them inline strings (they weren't actually used anyways).
13608         (gtk_item_factory_add_item): update ifactory->items.
13609         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13610         the item factory pointer from the remaining ifactory widgets).
13611         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13612         list to find the widget.
13613         (gtk_item_factory_get_item): new function that works around
13614         gtk_item_factory_get_widget() limitations, this function will only
13615         return menu items, even for <Branch> entries.
13616
13617 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13618
13619         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13620         font hash table, if we have a GdkFontPrivate entry for this font
13621         already, simply increment its reference count, provided by Olaf Dietsche
13622         <olaf.dietsche+list.gtk@netcologne.de>.
13623
13624         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13625         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13626
13627 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13628
13629         * gtk/gtkcontainer.c:
13630         (gtk_container_add_with_args):
13631         (gtk_container_addv):
13632         (gtk_container_add): before adding a child to a conatiner, make sure
13633         it is (default) constructed, this is neccessary because under certain
13634         circumstances the child will get relized and mapped immediatedly, in
13635         which case it has to be constructed already.
13636
13637 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13638
13639         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13640         values > 1 as TRUE also.
13641
13642 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13643
13644         * README.win32: New file.
13645                 
13646         * configure.in: Check for lstat.
13647
13648         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13649         completeness.
13650
13651         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13652
13653         * gtk/gtk.def: Removed CRs.
13654
13655         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13656         ..\gdk\win32).
13657
13658         * gdk/win32/makefile.msc: Correct upwards relative paths.
13659         
13660 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13661
13662         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13663           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13664           it was connecting a void function to expose_event and the int
13665           returning function to the draw signal
13666
13667 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13668
13669         * configure.in:
13670         Use correct path to libgmodule.la when ref'ing uninstalled copy
13671         of glib.  (Already in stable branch, Bug #417)
13672
13673 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13674
13675         Win32 merge and general portability stuff:
13676                 
13677         * acconfig.h,configure.in: Check for <sys/time.h>.
13678
13679         * gdk/win32: New directory (actually, been there for a while).
13680         
13681         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13682         NATIVE_WIN32, and use these. Always case fold on Win32. No
13683         backslashed escapes on native Win32.
13684
13685         * gtk/{gtk.def,makefile.msc}: New files.
13686
13687         * gtk/Makefile.am: Add above new files.
13688         
13689         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13690         instead of <strings.h>.
13691
13692         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13693         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13694         <unistd.h> appropriately.
13695
13696         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13697         Use ABS() (from <glib.h>) instead of abs().
13698         
13699         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13700         of gtk (and thus glib) headers, so that WIN32 will be
13701         defined. With MS C, include <direct.h> for mkdir prototype.
13702
13703         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13704         some casts, needed by MS C.
13705
13706         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13707         implemented).
13708
13709         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13710         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13711         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13712
13713         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13714                 
13715         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13716         the event is not a hint, or its window is not the slider. Needed
13717         on Win32, at least.
13718
13719         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13720         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13721         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13722         a subdirectory of the Windows directory as gtk system
13723         configuration directory.
13724
13725         * gtk/gtkselection.c: No chunks on Win32.
13726
13727         * gtk/gtksocket.c: Not implemented on Win32.
13728
13729         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13730
13731         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13732
13733         * gtk/maketypes.awk: Declare variables with a macro that expands to
13734         necessary export/import magic in the case of Win32.
13735                 
13736         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13737
13738 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13739
13740         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13741         since those were meant only for gdki18n.h.  
13742         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13743         for widechar tests.
13744         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13745
13746 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13747
13748         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13749         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13750
13751         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13752         installed) to CFLAGS.
13753
13754         * gdk/Makefile.am: Add rules for gdkconfig.h.
13755
13756         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13757         APIs.
13758
13759         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13760         gdkx.h anyway when compiling for X11.
13761         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13762         general): Merge in Win32 version.
13763         
13764         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13765         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13766         expansion (if we don't have HAVE_PWD_H), allow for drive
13767         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13768         included code from Craig Setera's port to Win32 (the one that uses
13769         X11, and the cygwin dll), even if it probably will be abandoned.
13770
13771         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13772         the user entered one herself.  This way one can complete *.h and
13773         don't get matches on any .help files, for instance.
13774         
13775 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13776
13777         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13778         font hash table, if we have a GdkFontPrivate entry for this font
13779         already, simply increment its reference count, provided by Olaf Dietsche
13780         <olaf.dietsche+list.gtk@netcologne.de>.
13781
13782         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13783         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13784
13785 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13786
13787         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13788         the number of calls to gdk_draw_point() (and thus to X) by
13789         clipping the points by hand.
13790
13791         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13792         the clip parameter.
13793         (gtk_handle_box_paint): Only paint the handle if the expose area
13794         intersects it.
13795
13796 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13797
13798         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13799
13800 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13801
13802         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13803         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13804
13805 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13806
13807         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13808          textmode (O_TEXT) for OS/2 version.
13809
13810 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13811
13812         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13813         GtkSpinButton, "input" and "output", to make the output more flexible.
13814         The user has to provide a mapping between adjustment->value and the
13815         output string (and vice versa, if the spin button is editable). 
13816         See testgtk for examples.
13817
13818 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13819
13820         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13821         new one.
13822         
13823         * configure.in: set gtk+ version to 1.3.0.