]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
Got rid of GtkTreeNode, and changed it to GtkTreeIter. Added iterators
[~andy/gtk] / ChangeLog.pre-2-10
1 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
4         GtkTreeIter.  Added iterators everywhere.
5
6         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
7
8         * gtk/gtktreeviewselection.c: Changed to use the iterators.
9
10         * gtk/gtktreestore.c: Changed to use the iterators.
11
12         * gtk/gtkliststore.c: Commented out the code.  Will convert to
13         iterators tomorrow.
14
15         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
16         iterators tomorrow.
17
18         * gtk/treestoretest.c: Changed to use iterators.
19
20         * demos/testgtk/main.c: Moved to use the new iterator system.
21
22 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
23
24         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
25         localization misbehaviour.
26
27         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
28         a useless type without copy/free.
29
30         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
31         of GTK_TYPE_CTREE_NODE.
32
33 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
34
35         * gtk/gtksignal.c:
36         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
37         applicable.
38
39         * gtk/gtk-boxed.defs (GtkSelectionData): specify
40         gtk_selection_data_copy and gtk_selection_data_free
41         do GtkSelectionData work as params in signals.
42
43 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
44
45         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
46         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
47         couldn't they at least give it a non-standard name?
48         
49         * gtk/gtktextlayout.c: arg! yet another implementation of
50         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
51
52         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
53         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
54         home. now i know this _is_ a conspiracy.
55
56         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
57         ::state-changed.
58
59         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
60         (gtk_accel_group_create_add): marshaller signature fixups.
61
62         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
63         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
64
65         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
66         anymore.
67
68 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
69
70         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
71         due to the signal system changes, it wouldn't build currently. to
72         be fixed soon.
73
74         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
75
76         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
77         so it needs gtk_marshal_VOID__ENUM() instead of
78         gtk_marshal_NONE__UINT().
79
80         * gdk/gdk*.c: adapted type registration functions.
81
82         * gtk/gtkbindings.c:
83         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
84         gone.
85
86         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
87
88         * gtk/gtkobject.c:
89         (gtk_object_destroy):
90         (gtk_object_shutdown): fixed recursion guards. basically we have to
91         catch the case where any of GObject.shutdown() or gtk_object_destroy()
92         is called during ::destroy, and avoid recursion there.
93
94         * gtk/gtktypeutils.c:
95         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
96         boxed_copy/boxed_free. this needs a more general solution based on a
97         publically installed code-generator utility.
98
99         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
100         glib's gobject has support for that now.
101         define GtkSignalMarshaller in terms of GSignalCMarshaller.
102
103 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
104
105         * gtk/gtksignal.[hc]:
106         * gtk/gtkmarshal.[hc]:
107         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
108         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
109         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
110         care of that.
111
112         * *.c: marshaller name fixups.
113
114         * gtk/gtkmarshal.list: added a comment briefing the format.
115
116 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
117
118         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
119         compatibility macros here now. more specifically, most of
120         the API is preserved (yes, _most_, nonwithstanding the
121         following exceptions listed, the API is stil lHUGE ;)
122         things that got removed completely:
123         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
124         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
125         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
126         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
127         gtk_signal_remove_emission_hook().
128         non-functional functions variants:
129         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
130         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
131         not supported anymore.
132         (gtk_signal_compat_matched): new internal function to aid
133         implementation of the compatibility macros, it  provides
134         functionality to block/unblock/disconnect handlers based
135         on func/data.
136
137         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
138
139         * *.c: adaptions to new type registration API signatures.
140
141 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
142
143         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
144
145 2000-10-25  Robert Brady  <robert@suse.co.uk>
146
147         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
148         gdk_property_delete): If window == NULL, assume the root window.
149         (restoring the behaviour that was in 1.2).
150         
151         * gtk/testtext.c (save_buffer): Allow creation of new files when
152         saving.
153
154         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
155         calls to read().
156
157 2000-10-25  Tor Lillqvist  <tml@iki.fi>
158
159         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
160
161         * gdk/win32/gdkdrawable-win32.c
162         * gdk/win32/gdkimage-win32.c
163         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
164         X11 backend.
165
166         * gdk/win32/gdkcc-win32.c
167         * gdk/win32/gdkcolor-win32.c
168         * gdk/win32/gdkfont-win32.c
169         * gdk/win32/gdkinput-win32.c
170         * gdk/win32/gdkmain-win32.c
171         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
172
173 2000-10-24  Havoc Pennington  <hp@redhat.com>
174
175         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
176         it a static function
177
178         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
179         redraw text when a tag is applied to it.
180
181         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
182         (gtk_text_tag_affects_nonsize_appearance): private functions to
183         see if a tag requires various kinds of redraw/layout to be queued
184         up.
185
186         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
187
188         * gtk/testtext.c (fill_example_buffer): Put the cursor 
189         at the start of the buffer, so search works by default
190
191         * gtk/gtktextiter.c (lines_match): init match_start always
192
193         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
194         function, get iter at a line + a byte index
195
196         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
197         to set byte position within a line
198         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
199
200 2000-10-23  Havoc Pennington  <hp@redhat.com>
201
202         * gtk/testtext.c: Re-enable the "find" dialog
203
204         * gtk/testgtk.c: Add test for gdk_drawable_get_image
205         
206         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
207         the arguments to gdk_draw_drawable were in the wrong order
208         (gdk_window_paint_init_bg): This function was ignoring the
209         init_region, instead of clipping to it, so the entire backing
210         pixmap was cleared on every begin_paint()
211         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
212         was in here again, the loop kept using the same GtkWindowPaint
213         over and over.
214         (gdk_window_begin_paint_region): Fix a bug where we had two
215         x_offset instead of x_offset and y_offset
216
217         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
218         before we get the image.
219         (gdk_draw_drawable): get the composite before we draw the drawable.
220         (gdk_drawable_real_get_composite_drawable): default
221         get_composite_drawable implementation that returns the drawable 
222         itself
223
224         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
225         get_composite_drawable virtual function
226
227         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
228         list-walking bug
229
230         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
231         make this work if the source drawable is a GdkDrawableImplX11
232         instead of a public drawable type. This is really broken; the
233         problem is that GdkDrawable needs a virtual method get_xid(), but
234         of course that doesn't work in practice. Enter RTTI.
235
236         Also, improve mismatched depth message.
237
238         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
239         GdkPixmap
240
241         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
242         install _gdk_x11_get_image as our implementation of get_image
243         
244         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
245         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
246
247         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
248         gdk_drawable_get_image
249
250         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
251
252         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
253         get_image
254
255         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
256         trailing semicolon after for loop
257
258 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
259
260         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
261         where font_desc for widget's context lagged widget's font_desc by
262         one step.
263
264 2000-10-22  Tor Lillqvist  <tml@iki.fi>
265
266         * gdk/win32/gdkgc-win32.c
267         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
268
269         * gtk/makefile.mingw.in
270         * gtk/gtk.def: Updates.
271
272         * gtk/testgtk.c: sleep() is called _sleep in MS's C
273         library.
274
275         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
276
277         * gtk/makefile.msc: Remove
278
279         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
280
281         * gtk/Makefile.am: Add it.
282
283         * configure.in: Generate it.
284
285         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
286         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
287         something even if not implemented, to satisfy picky MSVC.
288
289         Patches by Hans Breuer:
290         
291         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
292         SetBkMode() and SetTextAlign() before calling
293         pango_win32_render().
294
295         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
296         Set hcliprgn to NULL after destroying it.
297         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
298
299         * gdk/win32/gdkgeometry-win32.c
300         (_gdk_windowing_window_queue_antiexpose): More effective
301         implementation.
302
303         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
304         depth as default, not the visual's.
305
306         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
307         against empty title.
308
309         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
310         IMAGE_PRIVATE_DATA.
311
312         * gdk/win32/gdkimage-win32.c: Use it.
313
314 2000-10-22  Robert Brady  <robert@suse.co.uk>
315
316         * configure.in: Check for bind_textdomain_codeset
317
318         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
319         present, make use of it.
320
321         Add a translatable string "default:LTR" which, if translated
322         to "default:RTL", will cause the default direction to be
323         Right-to-Left.
324
325         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
326         direction if marked as flippable.
327
328         * gtk/gtkhscale.c: Mark widget as flippable.
329         
330 2000-10-04  Havoc Pennington  <hp@redhat.com>
331
332         * gtk/testgtk.c (create_buttons): create some stock buttons
333         with the default accel group
334         (create_image): test some new GtkImage features
335         (make_message_dialog): test GtkMessageDialog
336         (create_modal_window): fix someone's bizzarro indentation
337
338         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
339         GTK_WIN_POS_CENTER_ON_PARENT. 
340         Add "destroy with parent" setting, which means the window goes
341         away with its transient parent.
342         (gtk_window_get_default_accel_group): get the default accel group
343         for the window.
344         (gtk_window_set_destroy_with_parent): set/unset destroy with
345         parent flag
346         (gtk_window_read_rcfiles): invalidate icon set caches
347         after reloading rcfiles 
348
349         * gtk/gtkenums.h (GtkWindowPosition): add
350         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
351         on its parent window when the dialog is mapped for the first time.
352
353         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
354         a simple message dialog class
355         
356         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
357         handler to emit response signal, and maybe later it would
358         honor a hide_on_delete flag - though that isn't there yet.
359         Set border width on the vbox to 2, so we get some padding.      
360         Use a button box for the action area.
361         (gtk_dialog_key_press): synthesize a delete event if Esc
362         is pressed and the GtkWidget key press handler didn't 
363         handle the escape key.
364         (gtk_dialog_new_with_buttons): new function creates a dialog
365         with some default buttons in it.
366         (gtk_dialog_add_action_widget): add an activatable widget
367         as a button in the dialog - you can also add a non-activatable
368         widget by accessing the action area directly.
369         (gtk_dialog_add_button): add a simple button - stock ID or 
370         label - to the action area
371         (gtk_dialog_response): emit response signal
372         (gtk_dialog_run): block waiting for the dialog, return 
373         the response. Override normal delete_event behavior, so that 
374         delete_event does nothing inside gtk_dialog_run().
375
376         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
377         emitted when an action widget is clicked or the dialog gets
378         delete_event
379
380         * gtk/gtk.h: add gtkmessagedialog.h
381
382         * gtk/Makefile.am: add gtkmessagedialog.[hc]
383
384 2000-10-18  Havoc Pennington  <hp@redhat.com>
385
386         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
387         where any number of empty lines would get skipped
388
389         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
390         edge.
391
392         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
393         warning about invalid iterators (explain more thoroughly)
394         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
395
396         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
397         big
398
399         * demos/*.c: Add error handling
400
401         * gtk/gtktextbuffer.c: don't modify const iterators
402
403         * gtk/gdk-pixbuf-loader.c: Add full error handling here
404
405         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
406         on file load
407
408         * gtk/gtkiconfactory.c: Update to reflect addition of error
409         handling to gdk-pixbuf loaders
410
411 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
412
413         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
414         move to new modularized testgtk.
415
416 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
417
418         * gtk/gtktreeview.c: Draw the arrows correctly.
419
420         * gtk/gtktreemodel.c: Added user docs.
421
422         * gtk/gtk.h: remove gtktreedatalist.h.
423
424         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
425         parent when generating my type.
426
427         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
428         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
429
430 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
431
432         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
433         GtkTreeModel from object to interface.
434
435 2000-10-16  Havoc Pennington  <hp@redhat.com>
436
437         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
438         compilation
439
440 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
441
442         * gtk/gtktreeselection.c: Add API documentation to all public
443         functions.
444
445         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
446         functions.
447
448 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
449
450         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
451         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
452         docs to all public functions.
453
454         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
455         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
456         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
457         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
458         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
459         issue.
460
461 2000-10-14  Robert Brady  <robert@suse.co.uk>
462
463         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
464
465 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
466
467         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
468         values other then G_TYPE_STRING.
469         * gtk/gtktreeselection.c: Minor commenting updates.
470         * gtk/gtktreeview.c: Format updates.
471
472 2000-10-09  Tor Lillqvist  <tml@iki.fi>
473
474         * README.win32: Update.
475
476         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
477         lines that had been deleted by mistake (?).
478
479         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
480         also the case fg==white and bg==black (but still not randomly
481         coloured cursors). Thanks to Wolfgang Sourdeau.
482
483         * gdk/win32/*.c: Silence gcc -Wall.
484
485         * gtk/gtk.def: Add missing entry points.
486
487         Fixes by Hans Breuer:
488
489         * gdk/makefile.msc
490         * gdk/win32/makefile.msc: Update.
491
492         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
493         some MSVC thing, presumably), cause breakpoint on failures. Add
494         GDK_NOR case. Call g_log_set_always_fatal.
495
496         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
497         should be pased by reference.
498         
499         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
500         
501         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
502
503         * gdk/win32/gdkevents-win32.c
504         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
505
506         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
507         implementation object.
508
509         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
510         not just windows.
511         
512         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
513         Use the wrapper object.
514         
515 2000-10-06  Havoc Pennington  <hp@redhat.com>
516
517         * Makefile.am (SRC_SUBDIRS): contrib subdir
518
519         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
520         so it can be used in Xlib version
521
522         * demos/testpixbuf.c (update_timeout): error checking from 1.0
523         tree
524
525         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
526         change from 1.0 tree that returns first frame of animation
527         if the loaded file is an animation.
528
529         * contrib: add new directory to hold stuff that comes with GTK+
530         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
531         
532         * configure.in: add contrib/*
533
534 2000-10-05  Havoc Pennington  <hp@redhat.com>
535
536         * demos/testpixbuf-save.c: add pixbuf save test
537
538         * demos/Makefile.am: add testpixbuf-save.c
539
540 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
541
542         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
543         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
544         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
545         * gtk/gtktreeselection.[ch]: Replaced
546         "node_selected"/"node_unselected" signal with "selection_changed"
547         signal.
548
549 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
550
551         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
552         tree widget.
553
554 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
555
556         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
557         drawing.
558
559 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
560
561         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
562         Move list pointer forwards before removing item from
563         list. (Crash reported by Salmaso Raffaele)
564
565         * gdk/gdkwindow.h: Remove spurious trailing ,
566
567         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
568         dependencies on uninstalled libraries, sorry folks.
569
570 2000-10-04  Havoc Pennington  <hp@redhat.com>
571
572         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
573         gtk/gtkiconfactory.c: Fix copyrights    
574
575         * demos/testpixbuf.c: add inline pixbuf test
576         
577 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
578
579         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
580         Add gdk_window_iconify.
581
582         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
583         (gdk_window_set_geometry_hints): Add win_gravity
584         to geometry structure.
585
586         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
587         Implement _NET_WM_PING.
588
589         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
590         Set _NET_WM_PID on the client leader.
591
592         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
593         Handle UTF-8 better.
594
595         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
596         UTF-8 better, set _NET_WM_NAME as well. Only set
597         icon name if it hasn't previously been explicitely 
598         set.
599
600 2000-10-03  Havoc Pennington  <hp@redhat.com>
601
602         * gtk/testtextbuffer.c: clean up trailing whitespace,
603         add extensive tests for tag toggle iteration.
604         
605         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
606         distance
607
608         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
609         optimize case where the tag root is on level 1
610         (gtk_text_line_previous_could_contain_tag): attempt to implement
611         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
612         functionality
613
614         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
615         Implement this, though not very efficiently.
616
617         * gtk/gtktextiterprivate.h: reformat
618
619         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
620         iterator
621
622         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
623         this to properly revalidate the iterators.
624
625         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
626         properly at the end of the line (and therefore on empty lines)
627
628         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
629         maybe we should return a value...
630
631 2000-10-03  Tor Lillqvist  <tml@iki.fi>
632
633         * config.h.win32: Guard definition of alloca(). glib.h now handles
634         that.
635
636         * gdk/gdk.def
637         * gtk/gtk.def: Add new entry points.
638
639         Changes just to make GTK+ build without errors on Win32. No hope
640         of it working in its current state, though...:
641         
642         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
643         some functions from the X11 backend, just to make GTK+ build.
644
645         * gdk/makefile.mingw.in
646         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
647         number. Add new object files.
648
649         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
650         GetMessageTime to get timestamp (where on X11 uses
651         gdk_x11_get_server_time()).
652
653 2000-10-02  Havoc Pennington  <hp@pobox.com>
654
655         * gtk/gtktextview.c: text_window_* weren't static and should have
656         been.
657         Start work on child widgets; not yet complete, syncing to 
658         office computer.
659
660         * gtk/gtktextchild.h: change this to contain a public interface,
661         starting work on child interfaces.
662         * gtk/gtktextchildprivate.h: move private interfaces here
663
664         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
665
666         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
667         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
668         gtk/gtktextmark.c: copyright notices
669
670         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
671         internal functions      
672
673         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
674         internal function
675
676         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
677         Reformatting    
678
679 2000-09-30  Havoc Pennington  <hp@pobox.com>
680
681         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
682         NULL start/end pointers
683
684         * gtk/gtktextbuffer.c: Write some docs
685         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
686         NULL, so you can just check whether there's a selection.        
687
688         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
689         cleanup_line or segments_changed ourselves, it gets done 
690         in unlink_segment
691
692         * gtk/gtktextmark.h:
693         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
694         
695         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
696
697         * gtk/gtktextmark.c: delete some more old Tk cruft
698
699         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
700         mark before removing it, so we can emit MARK_DELETED with a valid
701         pointer.
702         (gtk_text_buffer_mark_set): hold ref across signal emission
703
704         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
705         whining about attempts to delete special marks
706
707         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
708         underscore, since it's internal.
709
710         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
711         now implemented in terms of iterators in gtktextiter.h
712
713         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
714         New function, destructively sets contents of buffer. Also 
715         a convenient way to clear the buffer by setting text to ""
716
717         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
718         multiline string literal
719
720         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
721         text changes.
722
723         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
724         is not dereferenceable
725         (gtk_text_iter_forward_lines): fix return value
726
727 2000-09-29  Havoc Pennington  <hp@redhat.com>
728
729         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
730
731         * gtk/gtktextview.c: Implement drag thresholding; change functions 
732         that set border window size to have nicer name
733         (gtk_text_view_mark_set_handler):  Fix this to have the 
734         right signature.
735
736         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
737
738         * gtk/testtext.c: Update with API changes, put line numbers on 
739         both sides.
740         
741         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
742         with this
743
744         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
745         pixbuf; delete a big block of #if 0 Tk code
746
747         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
748         insert_pixmap with insert_pixbuf
749
750 2000-09-29  Martin Baulig  <baulig@suse.de>
751
752         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
753         confusion with the GdkPixbuf of the GNOME 1.x platform.
754
755 2000-09-29  Havoc Pennington  <hp@pobox.com>
756
757         * gtk/gtktextview.c: Implement the side windows.
758
759         * gtk/testtext.c: Implement simple line numbering in the 
760         left side window; seems to make scrolling sloooow. Oops.
761         Also, cursor blink is for some reason causing redraws
762         of the line numbers. Should investigate...
763
764 2000-09-28  Havoc Pennington  <hp@redhat.com>
765
766         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
767         scrolling child windows, and draw focus rectangle properly.
768         
769         (gtk_text_view_buffer_to_window_coords):
770         Coordinate transformation to deal with all these freaking windows
771         and offsets
772         (gtk_text_view_window_to_buffer_coords): transform the other way
773
774         * gtk/testtext.c (create_buffer): Update to match Pango API change
775
776         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
777         anonymous tags
778         (foreach_unref): don't emit remove signal from finalize, just
779         set tag's parent to NULL
780
781 2000-09-26  Havoc Pennington  <hp@redhat.com>
782
783         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
784         Fix some warnings       
785
786 2000-09-26  Havoc Pennington  <hp@redhat.com>
787
788         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
789         headers into the private header list
790
791         * Makefile.am (pkgconfig_DATA): install pkg-config files
792
793         * configure.in: add pkg-config files
794
795         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
796
797         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
798         outstanding icon caches on theme change.
799
800         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
801         important types:
802
803         (GtkIconSource): Specification for creating a pixbuf 
804         appropriate for a direction/state/size triplet from 
805         a source pixbuf or filename
806
807         (GtkIconSet): List of GtkIconSource objects that are used to
808         create the "same" icon (e.g. an OK button icon), and cache for
809         rendered icons
810
811         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
812         up the icon set for a given stock ID.  GTK maintains a stack of
813         GtkIconFactory to search, and applications or libraries can add
814         additional icon factories on top of the stack
815         
816         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
817         the set of GtkIconSource specified for a given stock ID into 
818         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
819         RcStyle, under the specified stock ID.
820
821         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
822         render_icon used to derive a GdkPixbuf from a GtkIconSource.
823         This allows people to theme how prelight, insensitive, etc. are
824         done.
825
826         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
827         icon factories for a style, and return the resulting 
828         icon set if any.
829
830         (gtk_style_render_icon): Render an icon using the render_icon 
831         method in the GtkStyleClass.
832
833         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
834         Use the style for a given widget to look up a stock ID, get the
835         icon set, and render an icon using the render_icon method 
836         of the style
837
838         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
839         (contains information about a stock item), the built-in stock item
840         IDs, and functions to add/lookup stock items.
841
842         * gtk/stock-icons/*: Stock icons that come with GTK
843
844         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
845         a button based on a GtkStockItem
846         (gtk_button_new_accel): Takes a uline string and accel group, and
847         installs the accelerator.
848
849         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
850         image-display widget.
851
852 2000-09-25  Havoc Pennington  <hp@redhat.com>
853
854         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
855
856         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
857         Fix a bug when removing node data, we didn't properly 
858         re-splice the linked list after removing the data.
859
860         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
861         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
862
863         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
864
865         * gtk/gtktextlayout.c (set_para_values): Set tab array 
866         for the layout from the GtkTextTag.
867
868         * gtk/gtktexttypes.h: delete tab and search cruft, 
869         remove g_convert() in favor of GLib version
870
871         * gtk/gtktexttypes.c: remove tab implementation from here,
872         move to Pango
873
874         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
875         tab stuff using new PangoTabArray from Pango
876
877         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
878         unused border_width stuff
879
880 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
881
882         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
883         glib) and now useless utf_to_latin1() latin1_to_utf()
884
885         * gtk/gtktextview.[ch]: Change ::move_insert and
886         ::delete_text action signals to ::move and ::delete;
887         create the signals with the right enumeration type,
888         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
889         C-v bindings, change Home, End to move to beginning/end
890         of line, Add C-Home C-End to move to beginning/end
891         of buffer. Change ::cut_text to ::cut_clipboard, etc;
892         combine ::scroll_text into ::move; use new GtkSelectionData
893         functions to simplify DND text handling.
894         
895         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
896         deletion enumerations here, rename enumeration values to 
897         be consistently plural.
898
899         * gtk/gtktextbuffer.c: Use new clipboard interfaces
900         for cut/copy/paste and primary selection.
901
902         * gtk/gtktextbuffer.[ch]: Remove excess time and
903         'interactive' arguments from cut/copy/paste;
904         rename cut to cut_clipboard, etc; remove
905         gtk_text_buffer_get_clipboard_contents().
906
907         * gtk/gtktextlayout.[ch]: Add 
908         gtk_text_layout_move_iter_to_line_end() to move the iter to 
909         line ends.
910
911         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
912         Functions to set or get a UTF-8 string on the selection
913         data.
914
915         * gtk/gtkclipboard.[ch]: New, simplified selection handling
916         interfaces.
917
918         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
919         created widgets - one of these is useless if we don't.
920
921         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
922         a public function clear all targets registered for the
923         widget.
924
925         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
926         Never call gtk_widget_realize() - that was just asking
927         for bizarre side-effects.
928
929         * gtk/gtkselection.c (gtk_selection_owner_set): Call
930         gdk_selection_owner_set even if the widget is the
931         same so that we reliably update the timestamp on
932         the server.
933
934         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
935         gdk_x11_get_server_time() function.
936         
937         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
938         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
939         Add some tricky filtering on serial numbers for
940         selection clear events to fix up long-standard
941         race condition FIXME's in gtkselection.c.
942
943         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
944         routines to convert from utf8 to compound text or
945         STRING and from a text property to UTF-8.
946
947         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
948         a convenience function gdk_get_current_event_time().
949
950         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
951         and free selection_data->data properly
952
953 Sat Sep  9 17:15:45 2000  Owen Taylor  <otaylor@redhat.com>
954
955         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
956         extra config options "im_module_file" (cache file for
957         input method modules), and "im_module_path" - path
958         to look for modules when generating cache file.
959
960         This doesn't scale.
961
962 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
963
964         * gtk/gtkthemes.c: Remove some unecessary includes.
965
966 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
967
968         * gtk/gtktextdisplay.c
969         * gtk/gtktextlayout.c
970         * gtk/gtktexttag.c
971         * gtk/gtktexttag.h
972         * gtk/testtext.c: Change the overstrike property to strikethrough,
973         to closer match pango.
974
975 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
976
977         * gtk/gtktextview.c: Fix up visibility so that focus,
978         cursor_visible and blink interact properly.  Reenable cursor blink
979         which had been roughly disabled. Make blink and focus
980         properly per-view.
981
982         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
983         Add a flag for whether to display insertion cursor and
984         a function to set the flag.
985
986         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
987         get_line_y() to get_line_yrange(), to be a bit more generally
988         useful.
989
990 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
991
992         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
993           do stop_navigating_submenu, to clear last timeout properly.
994           Also in gtk_menu_motion_notify move ignore_enter above
995           the conditional to make it always happen as suggested by Owen
996
997 2000-09-07  Tor Lillqvist  <tml@iki.fi>
998
999         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
1000
1001         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
1002         w32api headers.
1003
1004         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
1005         declarations.
1006
1007         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
1008         (gdk_win32_get_colormap): A line had been deleted by mistake.
1009
1010         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
1011         (gdk_event_translate): Handle more virtual keycodes to be able to
1012         generate GDK events for Control-comma, Control-period, etc.
1013
1014         * gtk/gtk.def: Add some missing entry points.
1015
1016 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
1017
1018         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
1019         Doc comment fixing. (Mostly non-matching parameter names.)
1020
1021         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
1022         comments a little to avoid looking like a doc comment.
1023
1024         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
1025         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
1026         conversions be changed to GError?)
1027
1028         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
1029         Move private #defines into .c file.
1030
1031         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
1032         order of argument addition, remove duplicates.
1033
1034         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
1035         parent class is FrameClass, not BinClass.
1036
1037         * gtk/gtk.h: Add gtkinvisible, which was missing.
1038         (It's occasionalyl useful for client apps, if seldom.)
1039
1040         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
1041         #define.
1042
1043 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
1044
1045         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
1046         coordinates when creating window, instead of GDK-space
1047         coordinates. (Avoid BadValue on too large windows.)
1048
1049 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1050
1051         * configure.in (use_mmx_asm): Remove conftest* after use along the
1052         lines of AC_TRY_COMPILE.        
1053         
1054         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
1055         of g_dirname, which is deprecated.
1056         (gtk_rc_parse_any): Removed calls to
1057         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
1058
1059         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
1060         Removed calls to g_hash_table_{freeze,thaw}, as they are
1061         deprecated now.
1062
1063         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
1064         instead of g_basename.
1065         
1066 2000-09-04 Elliot Lee <sopwith@redhat.com>
1067         
1068         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
1069         ANSI warning.
1070
1071 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
1072
1073         * gtk/gtkwidget.h:  Add some documenting comments about 
1074           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
1075           just as owen said on irc.
1076
1077         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
1078           set HAS_DEFAULT.  Only set it if there isn't another window
1079           holding it (a focus window which RECEIVES_DEFAULT) and only unset
1080           it if the widget is not the focused window with RECEIVES_DEFAULT.
1081           This fixes weird double default bugs in dialogs which has things
1082           call gtk_window_set_default at times.
1083
1084 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
1085
1086         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
1087         Nils Barth and David Santiago to improve submenu
1088         navigation. The patch does this by creating a triangular
1089         region from the point where the pointer leaves the
1090         menu to the submenu.  While the pointer is in
1091         that region and a timeout has not expired, events 
1092         that would cause the active submenu to change are
1093         ignored.
1094
1095 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
1096
1097         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
1098         moving a toplevel window immediately after sizing it would
1099         result in it being sized back to the old size since 
1100         impl->width, impl->height aren't updated until we hear
1101         back from the server. There is still a (longstanding) bug
1102         here that gdk_window_get_size() will give the wrong size
1103         until we do hear back.
1104
1105 2000-08-31  Havoc Pennington  <hp@redhat.com>
1106
1107         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
1108         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
1109         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
1110         Rename GtkTextStyleValues to GtkTextAttributes
1111
1112 2000-08-31  Havoc Pennington  <hp@pobox.com>
1113
1114         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
1115         for rapid testing whether an iterator is the end iterator
1116         (gtk_text_btree_new): init end line cache
1117         (gtk_text_line_is_last): use fast cached line to 
1118         see if we're the last line.
1119         (get_last_line): use cached line here too, should 
1120         speed up some random unrelated code.
1121         
1122 2000-08-30  Havoc Pennington  <hp@pobox.com>
1123
1124         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
1125         signals.
1126
1127         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
1128         delete_text signals. This allows the signals to be used for
1129         implementing undo.
1130
1131         * gtk/gtktextbuffer.c: Change signal handler signatures; 
1132         provide "interactive" argument when emitting insert_text or
1133         delete_text signal.
1134         
1135 2000-08-30  Havoc Pennington  <hp@pobox.com>
1136
1137         * gtk/gtktextbuffer.c: Docs
1138
1139 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
1140
1141         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
1142         from switch statements, since Tor removed the enumeration
1143         value.
1144         
1145         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
1146         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
1147
1148 2000-08-29 Elliot Lee <sopwith@redhat.com>
1149         * */*.h: Use G_GNUC_CONST.
1150
1151 2000-08-27  Havoc Pennington  <hp@pobox.com>
1152
1153         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
1154         minor indentation fixes, inserted some FIXME about stuff I
1155         realized was broken while documenting it.
1156         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
1157         GTK convention  
1158
1159 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
1160
1161         * gtk/testgtk.c (create_styles): Fix double free of
1162         font desc.
1163
1164 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
1165
1166         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
1167         
1168         * gtk/testgtk.c (create_styles): Add a test for modifying
1169         the style through gtk_widget_modify_*.
1170
1171         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
1172         a function to get the current modifier style.
1173
1174         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
1175         of the passed in GtkRcStyle instead of ref'ing it.
1176
1177         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
1178
1179 2000-08-20  Tor Lillqvist  <tml@iki.fi>
1180
1181         * gdk/gdkimage.h
1182         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
1183         shared memory image+pixmap GdkImage type, or
1184         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
1185         I am dropping that.
1186
1187         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
1188         actually call gtk_init_abi_check(), passing also
1189         sizeof(GtkWindow). Ditto for gtk_init_check(). 
1190
1191         * gtk/gtk.def
1192         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
1193         New functions, used to check that the GTK+-using code has been
1194         compiled using the correct compiler and switches. In particular,
1195         with gcc one has to use the -fnative-struct switch as GTK+ is
1196         compiled with that.
1197
1198 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
1199
1200         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
1201         ->prev fields when merging lists. (Found simultaneously
1202         by Pawel Salek and Jakub Jelinek)
1203
1204 2000-08-12  Tor Lillqvist  <tml@iki.fi>
1205
1206         * gdk/gdk.def
1207         * gtk/gtk.def: Add missing entries.
1208
1209         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
1210         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
1211
1212         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
1213         function. Dummy implementation at this point.
1214
1215         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
1216         rules. Undefine GTK_COMPILATION when compiling the test programs.
1217         
1218         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
1219
1220 2000-08-11  Tor Lillqvist  <tml@iki.fi>
1221
1222         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
1223         to convert back and forth from UTF-8 and the "system" (or "current
1224         locale") charset when necessary. Indentation/spacing cleanup.
1225
1226 2000-08-10  Havoc Pennington  <hp@redhat.com>
1227
1228         * Makefile.am (snapshot): Change the format of the snapshot
1229         version to match glib
1230
1231         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
1232         from EXTRA_DIST since it doesn't seem to exist
1233
1234 2000-08-10  Tor Lillqvist  <tml@iki.fi>
1235
1236         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
1237         version of the directory name (not the UTF-8 one) when building
1238         the path name to stat().
1239
1240 2000-08-03  Elliot Lee  <sopwith@redhat.com>
1241
1242         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
1243         PANGO_ATTR_SHAPE set.
1244
1245 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
1246
1247         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
1248         Peter Osterlund to simplify the code while keeping the
1249         functionality the same.
1250
1251 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
1252
1253         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
1254         is_viewable() test further inside the function, since removing the 
1255         window from the redraw list without clearing ->update_area
1256         was also very broken.
1257
1258 2000-08-02  Tor Lillqvist  <tml@iki.fi>
1259
1260         * configure.in: Check for <unistd.h>.
1261
1262 2000-08-01  Martin Baulig  <baulig@suse.de>
1263
1264         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
1265         to display the message that this is a development version of GTK+.
1266
1267 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
1268
1269         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
1270         was depending on widget->allocation instead of the width of text_area,
1271         which was incorrect for subclasses like GtkSpinButton.
1272
1273         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
1274         with width == 1 tests that should be width == -1.
1275
1276 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
1277
1278         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
1279         (broken, Elliot, every single window blank on X) custom code with call
1280         to gdk_window_is_viewable() which a) prevents code duplicate and
1281         b) works. 
1282
1283 2000-07-31  Elliot Lee  <sopwith@redhat.com>
1284
1285         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order to get the GDK_PARENT_ROOT() macro to work.
1286         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
1287         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces of, windows that aren't shown.
1288         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of pointer grab stuff.
1289
1290 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
1291
1292         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
1293           s/gtk_main_iteration/g_main_iteration/
1294
1295           Did this already in change:
1296                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
1297           don't know how it got reverted.
1298
1299 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
1300
1301         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
1302         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
1303
1304         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
1305         not gdk_pixbuf.
1306
1307 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
1308
1309         * configure.in,po/{sp,sr}.po: Added Serbian files
1310
1311 2000-07-30  Tor Lillqvist  <tml@iki.fi>
1312
1313         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
1314
1315         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
1316         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
1317         GIOChannel implementation.
1318
1319         * gdk/win32/gdkinput.c
1320         * gdk/win32/gdkpango-win32.c: Update license name here, too.
1321
1322         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
1323         definition to match prototype.
1324
1325         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
1326
1327 2000-07-27  Elliot Lee  <sopwith@redhat.com>
1328
1329         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
1330         function, to allow handling image formats that cannot be detected
1331         by looking at content alone.
1332
1333 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
1334
1335         * docs/tutorial/*.gif *.jpg *.eps
1336           Update these to the same look-n-feel.
1337           Why does including images in DocBook suck so badly?
1338
1339 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
1340
1341         * gtk/gtktable.c: applied patch from Phil Thompson
1342         <phil@river-bank.demon.co.uk> that enables space settings for
1343         the last row/columns as well.
1344
1345 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
1346
1347         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
1348         updates the license headers to the GNU Lesser General Public License,
1349         as well as updating the copyright year to 2000.
1350
1351 2000-07-26  Robert Brady  <rwb197@zepler.org>
1352
1353         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
1354           and po/Makefile, was installing and looking for them under gtk20
1355           and gtk2 respectively.
1356
1357 2000-07-25  Havoc Pennington  <hp@redhat.com>
1358
1359         * gtk/testtext.c: Comment out some stuff that depends on the rest
1360         of my patches.
1361
1362 2000-07-25  Havoc Pennington  <hp@redhat.com>
1363
1364         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
1365         buffer
1366
1367 2000-07-25  Havoc Pennington  <hp@redhat.com>
1368
1369         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
1370         widget changes.
1371
1372         * gtk/gtktextview.h: To be consistent with usage of "line"
1373         throughout the API to mean "newline-terminated thingy", change
1374         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
1375         to MOVEMENT_LINE.
1376
1377         (GtkTextView): Add flags for default editability, and whether to
1378         show the cursor. Add functions to get/set that. Add 
1379
1380         (gtk_text_view_get_iter_location): new function
1381
1382         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
1383         gtktextlayout.h
1384         (g_convert): Add g_convert temporarily, will go in glib in a bit
1385         
1386         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
1387         GtkTextTagTableForeach instead of brokenly using GHFunc.
1388         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
1389
1390         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
1391         moved to public header.
1392
1393         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
1394         "invisible", since "elide" was a bad name.
1395         (gtk_text_tag_get_priority): Added
1396
1397         (GtkTextStyleValues): put this in public header, along with
1398         functions to use it.
1399
1400         * gtk/gtktextmarkprivate.h: Include more headers, since we no
1401         longer include gtktextbtree.h.
1402
1403         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
1404         gtk_text_mark_deleted
1405
1406         * gtk/gtktextlayout.h: Don't include the "really private" headers,
1407         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
1408         to make this possible. Now we only need to install
1409         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
1410         (However the Makefile.am isn't changed yet because of the
1411         logistics of merging gtk-hp-patches piecemeal)
1412
1413         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
1414         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
1415         gtk_text_iter_get_line is now used in the public API for a
1416         different purpose.
1417
1418         * gtk/gtktextiter.h: Clean up function names to be more
1419         consistent. Always call char offset "offset" and byte index
1420         "index". A "line" is always a line number. 
1421
1422         (gtk_text_iter_is_last): new function, more efficient than 
1423         the existing way to check
1424         (gtk_text_iter_is_first): new function, also more efficient
1425
1426         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
1427
1428         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
1429         gtk_text_iter_forward_char, etc.
1430
1431         (gtk_text_iter_forward_to_tag_toggle): Renamed from
1432         forward_find_tag_toggle, since this isn't a linear search
1433
1434         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
1435
1436         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
1437         New functions, search for a buffer substring.
1438
1439         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
1440         interactive and default editable (since we need to store that info
1441         until we receive the selection data).
1442
1443         Remove all the _at_char and at_line etc. versions of functions;
1444         only have iterator versions.
1445
1446         Add _interactive() versions of functions, that consider the
1447         editability of text. (FIXME add interactive flag to the 
1448         insert/delete signals per Darin's suggestion)
1449
1450         (gtk_text_buffer_get_tag_table): new function, demand-creates the
1451         tag table if necessary
1452
1453         Remove declaration of gtk_text_buffer_get_iter_from_string
1454
1455         (_gtk_text_buffer_get_btree): private/internal function, added.
1456         
1457
1458         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
1459         (gtk_text_line_is_last): new function
1460
1461 2000-07-25  Havoc Pennington  <hp@redhat.com>
1462
1463         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
1464         using GtkProgressBar. See Changes-2.0.txt for details.
1465
1466         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
1467         "pulse_step" which are the equivalent of
1468         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
1469         Implement new API.
1470         
1471         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
1472         (use_text_format) to mark whether text set on the progress bar is
1473         a format string. Deprecate entire GtkProgress interface.
1474
1475         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
1476         (gtk_progress_build_string): make this a no-op if use_text_format
1477         is FALSE
1478
1479         * docs/Changes-2.0.txt: Describe progress bar changes.
1480
1481 2000-07-25  Tor Lillqvist  <tml@iki.fi>
1482
1483         * Makefile.am: Include the build directory.
1484
1485         * configure.in: Generate build/Makefile, build/win32/Makefile,
1486         gdk/, gdk/win32/, and gtk/makefile.mingw.
1487
1488         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
1489         Add GETTEXT_PACKAGE.
1490         
1491         * gdk/gdk.def
1492         * gtk/gtk.def: Updates.
1493
1494         * gdk/gdkfont.h
1495         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
1496         need them any longer.
1497
1498         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
1499
1500         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
1501         PANGOWIN32_LIBS and gdk_pixbuf.
1502
1503         * gdk/win32: Compiles, but no doubt doesn't work at all.
1504
1505         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
1506
1507         * gdk/win32/gdkinput.c: New file, temporarily.
1508         
1509         * gdk/win32/gdkinput-win32.h: New file
1510
1511         * gdk/win32/gdkinputprivate.h: Remove.
1512
1513         * gdk/win32/gdkpango-win32.c: New file.
1514
1515         * gtk/makefile.mingw.in: New file
1516
1517         * gtk/makefile.cygwin: Removed
1518         
1519         * gtk/Makefile.am: Update accordingly.
1520
1521         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
1522         made externally visible.
1523
1524         * gtk/gtkmain.c: Use it.
1525         
1526         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
1527         is enough.
1528
1529         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
1530
1531 2000-07-24 Elliot Lee <sopwith@redhat.com>
1532         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
1533         individual backends already.
1534         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
1535         again. Yes, there really is a good reason for this, if you are using the gdkregion
1536         internals, and if you're not, why do you care?
1537         * gdk/gdkwindow.c: Fix inverted condition
1538         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
1539         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
1540         * gtk/gtkrange.c: Redraw trough when moving.
1541         * gtk/gtktypeutils.c: Fix warning by adding const cast.
1542         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
1543
1544 2000-07-23  Tor Lillqvist  <tml@iki.fi>
1545
1546         * configure.in: Check for mkstemp and sigsetjmp. Output
1547         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
1548
1549         More work on GDK for Win32. Still in an intermediate state.
1550
1551         * gdk/makefile.cygwin
1552         * gdk/win32/makefile.cygwin: Removed.
1553         
1554         * gdk/makefile.mingw.in
1555         * gdk/win32/makefile.mingw.in: New files.
1556
1557         * gdk/Makefile.am
1558         * gdk/win32/Makefile.am: Generate and distribute them.
1559
1560         * gdk/win32/gdkwindow-win32.h
1561         * gdk/win32/gdkdrawable-win32.h
1562         * gdk/win32/gdkpixmap-win32.h: New files.
1563
1564         * gdk/win32/gdkcolor-win32.c
1565         * gdk/win32/gdkcursor-win32.c
1566         * gdk/win32/gdkdrawable-win32.c
1567         * gdk/win32/gdkgc-win32.c
1568         * gdk/win32/gdkimage-win32.c
1569         * gdk/win32/gdkprivate-win32.h
1570         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
1571         Rename fields and variables called xcursor, xid, etc (these names
1572         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
1573
1574 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
1575
1576         * gtk/gtkentry.[ch]: Fix some problems with vertical
1577         alignment.
1578
1579         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
1580         char/byte confusion.
1581
1582 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
1583
1584         * gtk/gtktextview.c (changed_handler): Fix bug where
1585         redraw wasn't being done properly when height of
1586         dirty region changed.
1587
1588         * demos/Makefile.am: Remove various references to
1589         -lgmodule
1590
1591 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
1592
1593         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
1594         PangoAttrShape to reserve space for pixmaps, add 
1595         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
1596         in the display functions.
1597         
1598         * gtk/testgtk.c (create_layout): Set some more exotic
1599         scrolled window options
1600
1601         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
1602         Add function to set the shadow type of a window, to allow
1603         putting a shadow around widgets such as GtkLayout or GnomeCanvas
1604         which don't draw their own frame.
1605
1606 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
1607
1608         * docs/tutorial/package-db-tutorial.sh: New file for
1609           packaging DocBook format tutorial
1610
1611 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
1612
1613         * docs/tutorial/gtk-tut.sgml: Minor updates
1614
1615         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
1616
1617 2000-07-19  Tor Lillqvist  <tml@iki.fi>
1618
1619         * gtk/gtksignal.c: Fix C++ comment.
1620
1621         * gtk/gtkimmulticontext.c
1622         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
1623         don't return value from void functions.
1624
1625         * gtk/gtk.def: Add gtk_rc_style_unref.
1626
1627 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1628
1629         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
1630         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
1631         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
1632         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
1633         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
1634         gtk/gtktypeutils.h: Include files outside of the extern "C"
1635         block. Makes some C++ compiler happy. Reported by Denis Vakatov
1636         <vakatov@peony.nlm.nih.gov>.
1637
1638 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
1639
1640         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
1641           Completes first pass. Hurrah!
1642
1643 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
1644
1645         * docs/tutorial/gtk-tut.sgml: More clean ups.
1646
1647 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
1648
1649         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
1650         paint the background of the text area which was accidentally
1651         removed at some point.
1652
1653         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
1654           
1655          - Move most of the functionality from the theme vtable
1656            into GtkRcStyleClass and GtkStyleClass. The moved
1657            vtable functions were changed a bit in the move to
1658            work better in their new home.
1659
1660          - Get rid of the engine and engine_data fields from
1661            GtkRcStyle and GtkStyle; instead the theme
1662            engine derives theme-specific subclasses of GtkRcStyle
1663            and GtkStyle
1664
1665          - Add extra dlsym() found entry point to themes,
1666            theme_create_rc_style().
1667
1668         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
1669         in gtk_style_real_copy.
1670
1671         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
1672         to register a type associated with an engine. (The engine
1673         won't be unloaded as there is an instance of the type.)
1674
1675
1676 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
1677
1678         * docs/tutorial/gtk-tut.sgml: Clean ups.
1679
1680 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
1681
1682         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
1683           of cleaning up to do.
1684
1685 2000-07-15  Tor Lillqvist  <tml@iki.fi>
1686
1687         * gdk/testgdk.c: New file, quick hack to test backends for
1688         pixel-by-pixel correctness of the most simple graphic operations.
1689
1690 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
1691
1692         * Really release 1.3.1
1693         
1694         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
1695         include structure.
1696
1697 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
1698
1699         * Released 1.3.1
1700
1701 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
1702
1703         * gtk/gtktextlayout.c: use FALSE for size_only most
1704         of the time when calling gtk_text_layout_get_line_display()
1705         to avoid causing double reshapes when a redraw follows
1706         immediately after.
1707
1708 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
1709
1710         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
1711         appropriate region and gdk_window_process_updates() so trough
1712         updating doesn't lag behind the window being scrolled.
1713
1714         * gdk/gdkgc.c: Make parent_class pointer static.
1715          
1716 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
1717
1718         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
1719         include <string.h>.
1720          
1721         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
1722         cut-and-paste error in computing memory offset for 4 channels.
1723
1724 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
1725
1726         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
1727         gtk_rc_append_default_pixmap_path(), since it wasn't
1728         adding an interesting path and we don't have a meaningful
1729         default for this value.
1730
1731 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
1732
1733         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
1734         gtk-config to gtk-config-2.0 move gtk_.m4 to
1735         gtk-2.0.m4
1736
1737         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
1738         gdk/Makefile.am demos/Makefile.am: Change 
1739         library names to libgtk-1.3.la, etc, so that we
1740         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
1741
1742         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
1743         gdk/Makefile.am gdk/x11/Makfile.am
1744         Move include files into /usr/include/gtk-2.0, 
1745         /usr/lib/gtk-2.0/include/
1746          
1747         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
1748         gtk/gtkintl.h: Change package for gettext from 
1749         gtk+ to gtk20. Put hack in autogen.sh to modify
1750         po/Makefile.in.in after gettextize to make this
1751         possible.
1752
1753         * gtk+.spec: Some updates, not tested.
1754
1755         * gdk-pixbuf/Makefile.am: Move loaders into
1756         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
1757
1758         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
1759         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
1760         to THEMENAME/gtk-2.0/. Move engine directory  to
1761         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
1762         
1763 2000-07-12  Tor Lillqvist  <tml@iki.fi>
1764
1765         Win32 changes, still doesn't build though.
1766
1767         * gdk/makefile.cygwin
1768         * gdk/win32/makefile.cygwin
1769         * gtk/makefile.cygwin: Updates.
1770
1771         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
1772         default values for fg and bg pixel as X11 does (0 and 1), not
1773         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
1774         Use 0 for pen width by default (treated as 1 anyway later, but for
1775         apps that might check the value in the GdkGC).
1776         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
1777         interface to gdk_gc_predraw and _postdraw.
1778
1779         * gdk/win32/gdkwin32.h
1780         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
1781
1782         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
1783         extraneous semicolon.
1784
1785         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
1786
1787         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
1788         not the Win32 bitspixel value.
1789
1790         * gdk/win32/gdkcc-win32.c:
1791         * gdk/win32/gdkcolor-win32.c 
1792         * gdk/win32/gdkprivate-win32.h
1793         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
1794         GDK object structure.
1795
1796 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
1797
1798         * docs/tutorial/gtk_tut_12.es.sgml (name): 
1799         * docs/tutorial/gtk_tut_it.sgml (name): 
1800         * docs/tutorial/gtk_tut_fr.sgml (name): 
1801         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
1802         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
1803
1804 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
1805
1806         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
1807           small changes.
1808
1809 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
1810
1811         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
1812         a bug here, never been here and never fixed anything ;(
1813         (don't segfault if tree->root_tree is NULL, which happens prior
1814         to widget realization, but puke instead).
1815
1816 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
1817
1818         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
1819         add the necessary tokens.
1820
1821         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
1822         (gtk_rc_style_to_style): copy thicknesses.
1823         (gtk_rc_init_style): apply thicknesses.
1824         (gtk_rc_parse_style): parse xthickness and ythickness.
1825
1826         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
1827
1828         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
1829         (gdk_window_new): 
1830         (_gdk_windowing_window_init): 
1831         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
1832         (gdk_pixmap_create_from_data): 
1833         (gdk_bitmap_create_from_data): 
1834         (gdk_pixmap_new): 
1835         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
1836         (gdk_image_new): 
1837         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
1838         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
1839         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
1840         (gdk_colormap_get_system): 
1841         (gdk_colormap_new): 
1842         * gdk/gdkwindow.c (gdk_window_init): 
1843         * gtk/gtkstyle.c (gtk_style_new):
1844         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
1845         * gdk/gdkpixmap.c (gdk_pixmap_init): 
1846         * gtk/gtkrc.c (gtk_rc_style_new):
1847         use g_object_new() instead of g_type_create_instance() which
1848         is a private function for fundamental type implementations.
1849
1850 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
1851
1852         * configure.in: Add check for db2html
1853
1854 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
1855
1856         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
1857         hack to set glib_debug_objects based on gtk_debug_flags.
1858
1859 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
1860
1861         * INSTALL.in: Update the Prerequisites section.
1862
1863         * Makefile.am demos/Makefile.am docs/Makefile.am
1864         docs/tutorial/Makefile.am gdk/x11/Makefile.am
1865         gdk/linux-fb/Makefile.am: Dist fixes
1866
1867 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
1868
1869         * NEWS: 10,000 foot view of 1.3.1 changes.
1870
1871 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
1872
1873         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
1874         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
1875         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
1876         gdk/x11/gdkmain-x11.c: 
1877
1878         Patch from George Lebl to add a GdkGrabStatus enumeration to use
1879         as a return value of gdk_*_grab(). Previously, we just
1880         returned the X11 values directly.
1881
1882 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
1883
1884         * gdk/x11/Makefile.am: Patch from George Lebl to 
1885         install all the headers in the right place.
1886
1887 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
1888
1889         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
1890           initial conversion to DocBook.
1891
1892 2000-07-04  Tor Lillqvist  <tml@iki.fi>
1893
1894         * README.win32: Improve a bit.
1895
1896         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
1897         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
1898         Alt+0nnn on the numpad (used to enter characters by numeric code
1899         from current DOS or ANSI codepage) working correctly, as in other
1900         Windows apps.
1901
1902         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
1903         same argument validity tests as in X11 version.
1904         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
1905
1906         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
1907         definitions in case missing from headers.
1908
1909         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
1910         destroy the window-specific cursor.
1911         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
1912         calling GetModuleHandle(NULL).
1913         (gdk_window_set_cursor): Reworked to always copy the passed cursor
1914         with CopyCursor before setting it as the window-specific
1915         cursor. It is OK for the caller to destroy the GdkCursor (and thus
1916         also its Windows cursor) after calling this function. Destroy any
1917         previous window-specific cursor.
1918
1919 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
1920
1921         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
1922         font charset is iso8859-1, not iso-8859-1.
1923
1924 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
1925
1926         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
1927         Use g_get_charset() instead of g_get_codeset().
1928
1929         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
1930         Comment out some strdup'ing functions to keep timj
1931         happy until we finish fighting this out.
1932
1933 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
1934
1935         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
1936         <= width or height.
1937
1938         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
1939         from 1.2 for parent/child states.
1940
1941         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
1942         of typos.
1943
1944         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
1945         event structures, replace with a generic axes field. Replace 
1946         deviceid/sourec with GdkDevice *device.
1947
1948         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
1949         to extract particular axis use value from event. (Also
1950         can be used for normal X/Y.)
1951
1952         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
1953         allow for arbitrary number of axes, namespace everything
1954         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
1955         everywhere.
1956
1957         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
1958         Get rid of the gdk_input_vtable setup if favor of simply
1959         defining the functions in gdkinput-none/gxi/xfree.c in
1960         a similar fashion to the way that the port structure is 
1961         done.
1962
1963         * gtk/gtkdnd.c: Fix fields of synthesized button press event
1964         for new event structures. 
1965
1966         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
1967         new device interfaces.
1968
1969 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
1970
1971         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
1972         set the initial text.
1973
1974         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
1975         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
1976         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
1977         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
1978
1979         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
1980         pango_layout_set_font_description to simplify.
1981
1982 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
1983
1984         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
1985         pango_layout_set_font_description to simplify.
1986
1987 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
1988
1989         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
1990         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
1991         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
1992
1993         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
1994         PANGO_PIXELS() macro.
1995
1996 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
1997
1998         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
1999         that returns a PangoContext owned by the widget and updated to
2000         match future changes in the widget. Also, make 
2001         gtk_widget_create_pango_layout() use this context. If we ever
2002         add a ::changed signal to PangoContext, this will make things
2003         much more convenient. 
2004
2005         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
2006         in the appropriate places instead of destroying the layouts and
2007         creating new ones.
2008
2009         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
2010         in a few strategic places.
2011
2012 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
2013
2014         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
2015         gtk_widget_size_request() on reparented child, if one. Otherwise,
2016         queue_resize() on the child never results in it getting size-requested
2017         at all.
2018
2019         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
2020         in option menus, so that (with luck) people won't copy it into
2021         their apps in the future.
2022
2023         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
2024         to gtk_option_menu_calc_size. This isn't perfect, but should fix
2025         a lot of problems with changing the size of the menu's menu
2026         items after adding it to the option menu.
2027
2028         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
2029
2030         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
2031         the text direction for a widget changes.
2032
2033         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
2034         ::direction_changed to get rid of various hacks.
2035
2036 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
2037
2038         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
2039         name.
2040
2041 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
2042
2043         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
2044         flag to the structure. Do not call XFreePixmap on pixmaps created
2045         by gdk_pixmap_foreign_new().
2046
2047 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
2048
2049         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
2050         value using GdkRGB functionality given GdkColormap and GdkColor.
2051         (name not final, waiting for inspiration.)
2052         
2053         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
2054         set the foreground/background of a GC using the GC's colormap
2055         and GdkRGB. (name not final, waiting for inspiration.)
2056
2057         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
2058         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
2059
2060         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
2061         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
2062         purely a function of the corresponding colormap. Make
2063         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
2064
2065         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
2066         gdk_pixbuf_*create_from_xpm_* in terms of
2067         gdk_pixbuf_new_from_xpm_data(), move into platform independent
2068         code.
2069
2070         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
2071         advantage of the new draw_rgb_32_image_dithalign.
2072
2073         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
2074
2075         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
2076         on each created GC.
2077
2078         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
2079
2080         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
2081         which we initialize from the drawable when the GC is created,
2082         if the drawable has a colormap.
2083
2084         * gdk/x11/gdkgc-x11.c: include string.h for memset.
2085
2086         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
2087
2088         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
2089
2090 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
2091
2092         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
2093         actually returning expose events, make sure to set
2094         the count field properly.
2095
2096         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
2097         accidentally reintroced bug which always cleared
2098         the graphics_exposures value. 
2099
2100 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
2101
2102         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
2103
2104 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
2105
2106         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
2107
2108 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
2109
2110         * docs/faq/gtk-faq.sgml: Start of Section 6.
2111
2112 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
2113
2114         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
2115         
2116         (Fixes problem with drawing childless frames. Pointed out
2117         by and a first patch from Anders)
2118         
2119         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
2120         compute a child_allocation, even if we don't have a child.
2121
2122         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
2123         Always chain to the parent's impl, even if we don't have a child.
2124
2125 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
2126
2127         * gdk/gdkrgb.c: If possible, create only a single shm segment and
2128         use multiple parts of it instead of creating a bunch of separate
2129         segments, since the maximum number of segments per system is not
2130         large. (This might be worth backporting to GTK+-1.2.x if we make a
2131         new release )
2132
2133         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
2134         structure in preparation for per-colormap GdkRGB.
2135
2136         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
2137         to False when we get EINVAL from shmget so that the caller of
2138         gdk_image_new can retry with a smaller segment size.
2139
2140 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
2141
2142         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
2143
2144 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
2145
2146         * configure.in: make the current version number 1.3.1 (binary age 0,
2147         interface age 0).
2148         
2149         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
2150         gtkcompat.h is all we want.
2151
2152         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
2153         GLib primitive types. fixed g_type_register_fundamental() argument
2154         ordering.
2155
2156         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
2157         compiles.
2158
2159         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
2160         object code cleanup, comment trigraph fixes, etc...
2161
2162 2000-06-23  Havoc Pennington  <hp@redhat.com>
2163
2164         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
2165         instead of making up a bogus name for first_para_mark
2166
2167         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
2168         0 as a context ID
2169
2170 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
2171
2172         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
2173
2174 2000-06-21  Havoc Pennington  <hp@pobox.com>
2175
2176         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
2177         we didn't check window->bg_pixmap != GDK_NO_BG.
2178
2179         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
2180         gdk-pixbuf
2181
2182 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
2183
2184         * docs/faq/gtk-faq.sgm: Move file to here.
2185           TODO: Update Makfile.am 
2186
2187 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
2188
2189         * docs/gtk-faq.sgm: Add Section 2
2190
2191 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
2192
2193         * docs/gtk-faq.sgm: New file. Start of DocBook
2194           version of the FAQ.
2195
2196 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
2197
2198         * configure.in (GDK_PIXBUF_MAJOR): Define version
2199         numbers for GDK_PIXBUF_*, as they get substituted
2200         into a header file. Need to consider versioning
2201         for gdk-pixbuf more carefully later.
2202
2203 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
2204
2205         Work with srcdir != builddir.   
2206         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
2207         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
2208         * demos/testpixbuf.c: Likewise.
2209         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
2210         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
2211         <gdk/x11/gdkx.h>.
2212         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
2213         "gdk-pixbuf.h".
2214         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
2215
2216 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
2217
2218         * TODO.xml: Change 1.4 version numbers to 2.0.
2219
2220 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
2221
2222         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
2223         fixups to GTK+ standard.
2224
2225 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
2226
2227         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
2228         gdk-pixbuf.
2229
2230         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
2231         fixups for GObject.
2232
2233         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
2234         gdk-pixbuf with GDK dependencies moved into GDK.
2235         
2236         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
2237         move gdk-pixbuf-loader here until GObject has signals.
2238
2239         * demos/: New directory of demos. Move demos from
2240         gdk-pixbuf here.
2241
2242         * demos/pixbuf-init.c: Small bit of code to check for
2243         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
2244         set GDK_PIXBUF_MODULEDIR appropriately.
2245
2246         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
2247         define which no longer makes sense.
2248
2249 2000-06-21  Havoc Pennington  <hp@redhat.com>
2250
2251         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
2252         gtk_get_default_language
2253
2254         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
2255         new function to get the default language
2256
2257         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
2258         s/gtk_text_view_style_values/gtk_text_style_values/
2259
2260         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
2261         Add a "language" field to tags.
2262
2263         (gtk_text_tag_set_arg): Fix bug in setting
2264         "bg_full_height_set" tag.
2265
2266 2000-06-21  Havoc Pennington  <hp@redhat.com>
2267
2268         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
2269         in the interfaces
2270
2271         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
2272         stuff instead when possible.
2273
2274         * gtk/gtktexttypes.h: Delete some unused constants
2275
2276         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
2277         testtextbuffer.c: use glib instead of custom unicode routines
2278
2279 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
2280
2281         * docs/es/: Removed mistakenly added generated sgml
2282
2283         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
2284         Remove outdated info files.
2285
2286         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
2287         Moved tutorial files into subdir
2288
2289         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
2290         subdir.
2291
2292         * docs/man/gtk_button.pod: Remove. (contents will be
2293         integrated into gtk-reference button page.)
2294
2295         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
2296         docs/faq/Makefile.am: Adjust for new organization
2297
2298 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
2299
2300         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
2301         not $(MKINSTALLDIRS)
2302
2303 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
2304
2305         * gtk/testgtk.c (create_text): Finish the job Elliot started
2306         of removing font setting test for text widget. (Since text widget
2307         and GdkFont are not deprecated, and cause portability problems.)
2308
2309 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
2310
2311         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
2312         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
2313         Remove use of libunicode in favor of new GLib functions.
2314
2315         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
2316         nano-x, framebuffer. The X11 include is just a hack until we get
2317         the necessary functions in gdkcolor.h, so there is no reason to
2318         add other includes of platforms.
2319
2320         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
2321         window bigger than the screen change.
2322
2323         * gtk/testgtk.c: Revert some random changes from Elliot
2324         that had no particular point and were causing testgtkrc
2325         not to function correctly.
2326         
2327         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
2328         because GdkSegment and GdkRegionBox have the same fields,
2329         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
2330         results in clearer code.
2331
2332         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
2333         gdk_input_translate_coordinates): Fix missed GdkObjectification
2334
2335 2000-06-18  Elliot Lee  <sopwith@redhat.com>
2336
2337         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
2338         * gtk/gtk{plug,socket}.h: Missed commits from previous.
2339
2340 2000-06-20  Havoc Pennington  <hp@redhat.com>
2341
2342         * modules/linux-fb/Makefile.am: Make this compile
2343         without framebuffer enabled
2344
2345         * gdk/linux-fb/Makefile.am: Add conditional to not build
2346         framebuffer unless specified in configure
2347
2348         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
2349         the size of the target instead of source if -1 was passed for
2350         width/height
2351
2352         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
2353         width/height confusion.
2354
2355 2000-06-19  Havoc Pennington  <hp@redhat.com>
2356
2357         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
2358         GDK_DRAWABLE_XID. In the future, we probably want to make it
2359         faster with G_DISABLE_CHECKS turned on.
2360
2361 2000-06-14  Havoc Pennington  <hp@redhat.com>
2362
2363         * gdk/Makefile.am: add gdkpixmap.c
2364
2365         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
2366         s/gdk_image_init/_gdk_windowing_image_init
2367
2368         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
2369         ref/unref
2370
2371         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
2372
2373         * gdk/gdkcompat.h: remove GdkWindowType compat, since
2374         GdkWindowType is now non-deprecated; 
2375         change gdk_window_get_type() compat to be
2376         gdk_window_get_window_type().
2377
2378         * gdk/gdkdnd.h: make GdkDragContext a GObject.
2379
2380         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
2381         virtual GObject. Make all functions call into the vtable.
2382         Move gdk_image_put() guts in here. Remove GdkDrawableType
2383         and gdk_drawable_get_type(), these are now GdkWindow-specific.
2384         draw_image, get_depth, get_size, set_colormap, get_colormap,
2385         get_visual added to the vtable.
2386         
2387         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
2388         GObject. Virtualize everything. 
2389         (gdk_gc_new_with_values): remove check for destroyed window,
2390         because now GdkWindow::create_gc will check this.
2391         (gdk_gc_set_values): New function to set GC values, this 
2392         was already implemented but wasn't in the header
2393
2394         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
2395
2396         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
2397         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
2398         remove _gdk_window_class; add _gdk_window_impl_get_type() and
2399         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
2400         _gdk_windowing_window_init, rename gdk_image_init to
2401         _gdk_windowing_image_init.
2402         
2403         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
2404         (gdk_draw_layout): Remove check for destroyed window, 
2405         because all the drawable methods already check it.
2406         
2407         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
2408         Add gdkpixmap.c which contains implementation of GdkDrawable
2409         virtual table (by chaining to a platform-specific implementation
2410         object).
2411         
2412         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
2413         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
2414         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
2415         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
2416         GdkColormapPrivate. 
2417
2418         * gdk/gdktypes.h: #include <glib-object.h>
2419
2420         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
2421         Move most functionality to platform-specific implementation
2422         object. GdkWindow itself now handles the backing store, then
2423         chains to the platform-specific implementation.
2424         (gdk_window_get_window_type): return GdkWindowType of the window.
2425         (gdk_window_peek_children): New routine, returns the children of 
2426         a GdkWindow
2427         (gdk_window_get_children): Was in X11-specific code and did 
2428         XQueryTree. Changed to simply return a copy of window->children; 
2429         so it can go in cross-platform code.
2430         
2431         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
2432
2433         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
2434         GdkColormap; just changed to use the new private data instead
2435         of casting to GdkColormapPrivate.
2436
2437         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
2438         gdk_cursor_new().
2439
2440         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
2441         (private data member in the GObject). 
2442         (xdnd_manager_source_filter): Function had broken 
2443         error handling, fix it (use gdk_error_trap_push).
2444
2445         * gdk/x11/gdkdrawable-x11.c: This file now implements
2446         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
2447         base class is purely for the convenience of the X port,
2448         and not part of the interface to cross-platform GDK.
2449
2450         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
2451         
2452         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
2453         specific to X, and returned by the create_gc virtual method
2454         of GdkDrawableImplX11. 
2455         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
2456         rather than gchar, this was also changed in the GdkGC vtable.
2457         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
2458         mask is 0, return immediately, instead of checking every flag.
2459         This is faster, and keeps us from segfaulting if values is NULL
2460         and the mask contains some nonzero flags.
2461
2462         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
2463         GdkWindow.
2464
2465         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
2466         GdkWindowPrivate is gone.
2467
2468         * gdk/x11/gdkim-x11.c: rename things that got renamed.
2469
2470         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
2471         remove the image_put stuff that got transferred to GdkDrawable.
2472         
2473         * gdk/x11/gdkinput.c: renamings
2474
2475         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
2476
2477         * gdk/x11/gdkpixmap-x11.c: GObject conversion
2478
2479         * gdk/x11/gdkprivate-x11.h: indentation fixes
2480
2481         * gdk/x11/gdkproperty-x11.c: renamings
2482
2483         * gdk/x11/gdkselection-x11.c: renamings
2484
2485         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
2486         implements the platform-specific "impl" object.
2487         Moved gdk_window_get_children to gdk/gdkwindow.c
2488
2489         * gdk/x11/gdkx.h: Remove all the private structs and private datas
2490         that no longer exist. Add declaration of GdkGCX11 object here.
2491         Fix all the macros to still work. 
2492
2493         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
2494         GdkDragContext from the boxed types since they are now GObjects.
2495
2496         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
2497         moved xthickness/ythickness into the instance. GtkStyleClass
2498         functions are now in the standard vtable for GtkStyle, so you have
2499         to create a GObject subclass to write a theme engine.
2500         (gtk_style_copy): fixed a leaked PangoFontDescription
2501         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
2502         can be the standard GObject function.
2503         
2504         * Throughout GTK:
2505         s/style->klass->[xy]thickness/style->[xy]thickness
2506         s/pango_layout_unref/g_object_unref/
2507
2508         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
2509         
2510         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
2511         accessing GDK internals.
2512
2513         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
2514         accessing GDK internals.
2515
2516 2000-06-18  Elliot Lee  <sopwith@redhat.com>
2517
2518         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
2519
2520         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
2521         problem by calculating event position relative to the trough
2522         rather than the slider.
2523         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
2524
2525         * gdk/gdkgc.h: Add GDK_NOR.
2526
2527         * configure.in, Makefile.am: Add modules top level dir
2528         * configure.in: Only use pangox library if building x11 target.
2529         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
2530
2531 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
2532
2533         * gtk/gtkcolorsel.c: Change private class member to be named
2534         private_data throughout the file.
2535
2536         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
2537         private_data to avoid clashing with keyword.
2538
2539 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
2540
2541         * gdk/gdkdnd.h: Add comment to remove warning.
2542
2543 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
2544
2545         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
2546         Byelorussian language; changed the Makefile and file names 
2547         to reflect that.
2548
2549 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
2550
2551         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
2552         rather than gdk_window_hide; this makes things work
2553         correctly if the window is programmatically hidden while
2554         iconified.
2555
2556 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
2557
2558         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
2559         cut and paste typo where wrong pixmap was being
2560         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
2561
2562 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
2563
2564         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
2565         Add helper function to compute format / bytes 
2566         relationship. Use in a couple places to fix up
2567         errors which assume 8 * format.
2568
2569         * gtk/gtkselection.c (gtk_selection_request): Use 32
2570         rather than 8 * sizeof (GdkAtom), to work correctly
2571         on Alpha.
2572
2573 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
2574
2575         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
2576         libgtk.la
2577         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
2578         versions
2579
2580         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
2581         checking macros return NULL since the function has a return value.
2582
2583 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
2584
2585         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
2586         GTK+ from building at all.
2587
2588         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
2589
2590 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
2591
2592         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
2593         gtk/Makefile.am: make it possible to configure gtk for different
2594         targets on the same platform. The library name is now 
2595         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
2596         flag. Only the x11 target compiles right now.
2597         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
2598         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
2599         * gdk/nanox/gdk*generic*: delete generic region code.
2600         * gdk/linux-fb/gdk*generic*: delete generic region code.
2601         * README.nanox: update information.
2602         
2603 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
2604
2605         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
2606         prepend not append. (Pointed out by Brett Hall.)
2607
2608 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
2609
2610         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
2611
2612 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
2613
2614         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
2615         need this later, and this makes sure that the atexit for
2616         glib gets called after that for GDK, so atexits are
2617         properly ordered for object leak checking.
2618
2619         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
2620
2621         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
2622         pango_x_shutdown_display()
2623
2624         * gtk/simple.c (main): Close window on destroy.
2625
2626 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
2627
2628         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
2629         to treat initial creation different from setting with 
2630         regards to the graphics-exposures parameter, so add a parameter
2631         indicating whether this is initial or not.
2632
2633 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
2634
2635         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
2636         to sort of work by adding an extra return_exposes arg
2637         to gdk_event_translate() - it might be better to simply
2638         deprecate the function altogether and force people to rewrite
2639         without it. gdk_window_scroll() handles most of it, and where
2640         gdk_window_scroll() doesn't work, simply redrawing more does.
2641
2642         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
2643         assertion.
2644
2645         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
2646
2647         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
2648         bunch of pretty much useless /* Print debugging info */ comments 
2649         which had drifted away from the code they were commenting.
2650
2651 2000-06-02  Havoc Pennington  <hp@pobox.com>
2652
2653         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
2654         is in working order.
2655         
2656         * gtk/testtext.c: Change to reflect anonymous mark API
2657
2658         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
2659
2660         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
2661         field, which was unused.
2662
2663         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
2664         saves some typing.
2665
2666         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
2667
2668         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
2669         flag on the insertion point and selection bound
2670
2671         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
2672         make mark-manipulation functions take a GtkTextMark* instead of a
2673         mark name.
2674         
2675         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
2676         GtkTextMarkBody; will be used to detect attempts to delete
2677         the permanent marks (insert and selection bound)
2678
2679         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
2680
2681 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
2682
2683         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
2684         flag to on.
2685
2686         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
2687         Honor DOUBLE_BUFFRED_FLAG
2688
2689         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
2690         function to set the DOUBLE_BUFFERED flag.
2691
2692         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
2693         or not exposes done on the widget should be double-buffered.
2694
2695         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
2696         to be what would be expected. (Fixes problem with a
2697         g_return_if_fail() validating a TextDirection enumeration)
2698
2699 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
2700
2701         * gtk/gtkwidget.c: Remove all references to 
2702         offscreen flag which was no longer used.
2703
2704         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
2705
2706         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
2707         for non-null label_widget->parent.
2708
2709         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
2710         which no longer was used.
2711
2712         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
2713
2714         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
2715         for null arguments.
2716
2717         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
2718         check for destroyed windows.
2719
2720 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
2721
2722         * gtk/gtkimmulticontext.c: Add a finalize method and unref
2723         the slave context there.
2724
2725         * gtk/gtkinvisible.[ch]: Make reference counting behavior
2726         identical to GtkWindow.
2727
2728 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
2729
2730         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
2731         pangox to here, so we can write them independent of rendering
2732         system, using GDK primitives.
2733
2734         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
2735         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
2736         since we have a rendering-system independent implementation in
2737         terms of draw_glyphs().
2738         
2739         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
2740         function to render a single line.
2741
2742         * gdk/x11/gdkpango.c: Move the guts of this file mostly
2743         into ../gdkpango.c, which simplifies things, since we
2744         don't have to deal with raw X gc's.
2745
2746 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
2747
2748         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
2749         get the logical attributes for a given GtkTextLine.
2750
2751 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
2752
2753         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
2754         g_locale_get_codeset() to g_get_codeset() change.
2755
2756 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
2757
2758         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
2759         descriptions.
2760
2761         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
2762         the entry.
2763
2764         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
2765         redoing (vastly simplifying) for Pango. Still needs quite
2766         a bit of work. (Size selection is currently poor. List of 
2767         predefined sizes is not a good idea, since all of these
2768         sizes won't necessarily be distinct.)
2769
2770 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
2771
2772         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
2773         CODESET results for LANG=C.
2774
2775 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
2776
2777         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
2778         which takes a stringized pango font description;
2779         ignore the older 'font' and 'fontset' declarations.
2780
2781         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
2782         field with a GdkFont derived via gdk_font_from_description(),
2783         for compatibility. (Should we just remove it entirely?
2784         Probably too much compatibility breakage, but people
2785         should be migrating to the new Pango stuff as quickly
2786         as possible.)
2787
2788 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
2789
2790         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
2791
2792 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
2793
2794         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
2795         redoing; there are some bugs in size allocation right
2796         now, the semi-existant distinction between header / day
2797         fonts was removed, but, with Pango, could actually
2798         be made functional in a nice way.
2799         
2800         * gtk/testcalender: Move calender from examples into this
2801         directory as a test program. (We really need to restrcture
2802         testgtk into a whole directory full of tests for every
2803         widget or functionality group, separated into multiple .c
2804         files.)
2805
2806 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
2807
2808         * gtk/testgtk.c (file_exists): Fix stupid typo that
2809         was keeping RC file from being loaded.
2810
2811         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
2812         RC file font code.
2813
2814 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
2815
2816         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
2817         Add function to load a GdkFont from a PangoFontDescription.
2818
2819 2000-05-29  Tor Lillqvist  <tml@iki.fi>
2820
2821         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
2822         variable should be of type GdkEventPrivate.
2823
2824 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
2825
2826         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
2827         to have any widget for the label, use a GtkLabel widget
2828         to display the text. (Based partially on a patch from
2829         Anders Carlson.)
2830
2831         (Quite a bit of code reorganization - strip 90% of the
2832         guts out of gtkaspectframe and add a single virtual
2833         func to GtkFrameClass - compute_child_allocation.)
2834
2835 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
2836
2837         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
2838         (Removed clist->row_center_offset field because caching
2839         it wasn't saving time or code, added private function
2840         _gtk_clist_create_cell_layout()).
2841
2842 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
2843
2844         * gtk/gtkaccellabel.c: Pangoized.
2845
2846         * gtk/[hv]ruler.c: Pangoized
2847
2848 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
2849
2850         * gtk/gtkfilesel.c (gtk_file_selection_init):
2851         Use gtk_clist_set_column_auto_resize() to remove need
2852         need for manual column width computations.
2853
2854 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
2855
2856         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
2857         ensuring Pango correctness, and considerably simplifying the
2858         code.
2859         
2860         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
2861
2862         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
2863         getting of numbers of lines.
2864
2865         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
2866         to the actual requested width of the lable, not to the wrap
2867         width we set.
2868
2869         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
2870
2871         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
2872           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
2873
2874         * gtk/gtktextview.c: Fix structure inheritance.
2875
2876         * gtk/gtkprogressbar.c: Pangoize.
2877
2878 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
2879
2880         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
2881         in a function.
2882
2883         * gtk/gtktextlayout.c (find_display_line_above): Fixed
2884         bug with computing line tops.
2885
2886         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
2887
2888 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
2889
2890         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
2891         and y_offset coordinates to do what we need now. (The offset between
2892         buffer and layout coordinates has been reintroduced, but is a 
2893         bit different than before.)
2894
2895         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
2896         handle the adjustments ourselves, and scroll as necessary using
2897         the new gdk_window_scroll().
2898         
2899         The advantage of this is that when we are incrementally revalidating,
2900         we are essentially rearranging things around the visible portion
2901         of the screen. With the old setup, the visible portion of the
2902         screen was moved around in the layout, so scrolling and redrawing
2903         to track that caused jumping of the display. Since we now
2904         control the scrolling ourselves, we can suppress this and
2905         only redraw when things actually change.
2906
2907 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
2908
2909         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
2910         the region not just redisplay it after-all, since we store the
2911         cursors in the LineDisplay. (Ugly interactions here between
2912         GtkLayout and GtkTextBTree here.)
2913         
2914         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
2915
2916 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
2917
2918         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
2919         Added function to scroll contents of a window while keeping the
2920         window constant. Works by XCopyArea or guffaw-scrolling depending
2921         on the details of how the window is set up. (guffaw-scrolling
2922         still needs to be filled in.)
2923
2924 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
2925
2926         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
2927         move the debugging that was tied to a global variable
2928         to that.
2929
2930         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
2931
2932         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
2933         validated flag, in line data instead of setting height/width to
2934         -1. This allows us to perform operations with partially invalid
2935         buffer (using the old size for invalid lines) and thus to do
2936         incremental vaidation. Keep height/width aggregates up to date
2937         when deleting text and rebalancing the tree.
2938
2939         * gtk/gtktextbtree.[ch]: Add functions validate a line
2940         (gtk_text_btree_validate_line), and to validate up
2941         to a number of pixels (gtk_text_btree_validate).
2942
2943         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
2944         that indicates that something is changed and a revalidation
2945         pass is needed. Change ::need_repaint to ::changed, and
2946         make it take old and new yranges instead of a rectangle.
2947
2948         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
2949         the line_data_destroy() function from 
2950         gtk_text_btree_add_view() to a virtual function in 
2951         GtkTextLayout
2952
2953         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
2954         since we are handling partial repaints in a different fashion
2955         now.
2956
2957         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
2958         of the selection instead of queueing a repaint on the
2959         entire widget.
2960
2961         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
2962         get_selection_bounds() down to btree, make the function
2963         in buffer a wrapper around the btree function.
2964
2965         * gtk/gtktextlayout.[ch]: Add functions to check if the
2966         layout is valid and to recompute either a range of pixels
2967         aroudn a line or a certain total number of pixels.
2968
2969         * gtk/gtktextlayout.[ch]: Cache a single line display;
2970         now that we only redraw the needed portions, the hit rate
2971         for this cache is quite high.
2972         
2973         * gtk/gtktextview.[ch]: Keep track of the first paragraph
2974         on the screen so that when re-laying-out the buffer, we can
2975         keep the same place. This requires connecting to ::value_changed
2976         on the adjustments
2977
2978         * gtk/gtktextview.[ch]: Add idle functions to revalidate
2979         the buffer after we receive an ::invalidated signal.
2980         
2981 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
2982
2983         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
2984         to max of allocation and layout size, not just to the
2985         layout size.
2986
2987         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
2988         Invalidate window so it gets redrawn properly.
2989
2990         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
2991         to mean the entire window.
2992
2993         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
2994         into public header.
2995
2996 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
2997
2998         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
2999         to get the name of a mark.
3000
3001         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
3002         to find the paragraph from a y position.
3003
3004 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
3005
3006         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
3007         nodes have width/height >= 0, not > 0.
3008
3009 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
3010
3011         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
3012         Add a size_only flag, so when we only need the size, we don't create
3013         useless appearance attributes.
3014
3015         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
3016         duplicate setting of font description.
3017
3018         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
3019
3020 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
3021
3022         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
3023         EXTRA_DIST. It does not work well when the file that
3024         everything depends on is not in the tarball.
3025
3026 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
3027
3028         * gtk/testgtk.c: Some hacks and fixes so that it basically
3029         works when not sitting in the GTK+ build tree.
3030
3031 2000-05-03  Havoc Pennington  <hp@redhat.com>
3032
3033         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
3034         Properly determine the ordering of the tag root and the current
3035         line within the tree. Previous algorithm only worked if the tag
3036         root's immediate parent was the common root of both the current
3037         line and the tag root.
3038
3039 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
3040
3041         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
3042         alignment.
3043
3044         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
3045         the widget text directional dynamically.
3046
3047         * gtk/gtktextview.[ch]: Added functions to get and set default
3048         wrap mode.
3049
3050 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
3051
3052         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
3053         in cursor location computation.
3054
3055 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
3056
3057         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
3058         vadjusment values properly when layout gets smaller.
3059
3060         * gtk/gtktextview.c (need_repaint_handler): Areas being
3061         passed in are far completely inaccurate, and sometimes
3062         too small, so, for now, just queue a redraw on the
3063         whole visible region.
3064
3065 2000-04-25  Havoc Pennington  <hp@redhat.com>
3066
3067         * gtk/gtktextbtree.c (summary_destroy): new function to 
3068         destroy tag summary nodes
3069         (gtk_text_line_next_could_contain_tag): this function was 
3070         totally broken if the line passed in wasn't below the tag
3071         root. Fix it.
3072         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
3073         "wildcard" case, we have to do a linear scan. Blah.
3074         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
3075         we have to do the linear scan
3076         (tag_removed_cb): When a tag is removed from the tag table, 
3077         remove the GtkTextTagInfo node from the btree.
3078         (gtk_text_btree_spew): Implement the spew function, for 
3079         our debugging pleasure.
3080
3081 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
3082
3083         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
3084         a problem with referring to the wrong buffer.
3085
3086         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
3087
3088         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
3089         font description to gtk_style_new() - otherwise things
3090         don't work without a .gtkrc file.
3091
3092         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
3093         tags table if we create it ourself, too.
3094
3095         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
3096         it was conflicting with XKB modifiers.
3097
3098         * gtk/gtktextview.[ch]: Add simple support for 
3099         GtkIMContext.
3100
3101 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
3102
3103         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
3104         with deletion from last commit.
3105
3106 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
3107
3108         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
3109         in the context from the current locale.
3110         
3111         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
3112         context, not hardcoded value.
3113
3114         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
3115         not logical.
3116
3117 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
3118
3119         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
3120         attributes - that doesn't handle partial-glyph selection
3121         properly. Instead use new pango_layout_line_get_x_ranges()
3122         functionality to draw the selection.
3123
3124         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
3125         now properly handles out-of-range coordinates.
3126
3127         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
3128
3129         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
3130         public.
3131
3132         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
3133         for paragraphs opposite to the base direction of the widget.
3134
3135         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
3136
3137         * gtk/gtktextlayout.c: Don't split segments on marks, since that
3138         causes Arabic words to reshape as you cursor through.
3139
3140         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
3141         cursor position when moving vertically with the arrow keys and
3142         scrolling with page-up/page-down. (Arrow keys save only the X,
3143         scrolling saves both X and Y.)
3144
3145         This means you can line-up / line-down or page-up / page-down
3146         without losing your place, and also that moving vertically
3147         with the cursor keys keeps the same X position, not the same
3148         character count:
3149
3150         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
3151         arrow keys move by display lines, not paragraphs.
3152
3153 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
3154
3155         * gtk/gtklayout.c: Make sure that the bin window is at least
3156         as big as the allocation. (Should we also make sure that the
3157         bin window is big enough to completely cover widget->window?)
3158
3159         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
3160         function to get the onscreen rectangle.
3161
3162         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
3163         for offsets in window coordinates.
3164
3165 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
3166
3167         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
3168         confusion.
3169
3170         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
3171         from the widget direction.
3172
3173         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
3174         Add a "direction" attribute.
3175
3176         * gtk/gtktextview.c: global s/tkxt/text_view/.
3177
3178         * gtk/testtext.c: Added long block of text in Arabic, to test out
3179         the direction attributes. (Some problems with the shaping system
3180         for arabic become obvious - like the fact the cursor splits words
3181         into unjoined pieces.)
3182
3183 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
3184
3185         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
3186
3187         * gtk/gtktextlayout.c: Fix up alignment.
3188
3189         * gtk/testtext.c: Add some tests for centering, wrapping.
3190
3191 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
3192
3193         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
3194         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
3195         If we wrote GTK+-specific layout-render function this could just replace
3196         the draw_layout() operation in the vtable.
3197
3198         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
3199         pango_layout_get_cursor_pos() and use that function.
3200
3201         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
3202         is a non-static symbol.
3203
3204         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
3205         with gtk_text_btree_find_line_by_y()
3206
3207         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
3208         renderer that handles GtkTextAppearance attributes.
3209
3210         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
3211
3212           - Move the values in the style that don't affect geometry into a
3213             GtkTextAppearance structure.
3214           - Change underline to take a PangoUnderline and "font" a string
3215             representation of a font description
3216           - Add a "font_desc" attribute which takes a FontDescription structure.
3217
3218         * gtk/gtktextlayout.[ch]:
3219
3220           - Get rid of the display-line list per each line. Instead, we
3221             generate, on demand, a GtkTextLineDisplay structure which]
3222             contains a PangoLayout * and other necesary information
3223             (offsets, cursor locations) for displaying a paragraph.
3224           - Get rid of the code to wrap lines, create display chunks,
3225             etc. Instead, we just go through a paragraph and convert
3226             it into the necessary inputs to a PangoLayout.
3227           - Implement a new attribute type, GtkTextAttrAppearance. This
3228             holds a GtkTextAppearance, and is used to pass colors, 
3229             stipple, etc, through from the layout to the display without
3230             having to use lots and lots of individual attributes.
3231           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
3232             in terms of PangoLayout functions.
3233         
3234         * gtk/gtktextview.c: 
3235          
3236           - Handle passing the necessary PangoContext to the layout
3237           - Some fixups in painting to deal with the automatic backing store
3238             and offsetting of GTK+-1.4
3239           - Add a style_set handler so that the default style reacts
3240             properly to theme changes.
3241         
3242         * gtk/gtktext?*.[ch]: Random code-style fixes.
3243
3244         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
3245
3246 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
3247
3248         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
3249         in original form preparatory to Pango-ization and gdkimcontext-ization.
3250
3251 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
3252
3253         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
3254         so that we can derive from gtkimcontext in language bindings properly.
3255
3256 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
3257
3258         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
3259         Add a compose table including (almost) all the compose combinations
3260         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
3261         data in the XIM implementation.
3262
3263         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
3264         Moved functions to convert keyvalues from and to unicode here from
3265         the win32 port and made them public.
3266
3267 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
3268
3269         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
3270
3271 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
3272
3273         * gtk/gtkimcontext.[ch]: Base class for new input context system
3274
3275         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
3276         the real input context implementation to be loaded from modules
3277         and switched on the fly.
3278
3279         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
3280         context that just does direct keysymbol => unicode translation.
3281
3282         * gtk/gtkentry.[ch]: Start switching editing over to using
3283         GtkInputContext. (No handling of preedit yet.)
3284
3285 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
3286
3287         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
3288         many substitutions. (klass should not be subsituted.)
3289
3290 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
3291
3292         * configure.in: Add checks for Pango
3293
3294         * configure.in docs/Makefile.am: Add test for sgml2html
3295         and allow 'make dist' without building html, but print out
3296         warnings in that case. (For making snapshots)
3297
3298         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
3299         Add Pango libraries and C flags
3300
3301         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
3302         Add function (gdk_draw_layout) to draw a pango layout.
3303
3304         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
3305         for getting Pango contexts for GDK.
3306
3307         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
3308
3309         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
3310         editing.
3311
3312         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
3313         keysym => unicode translations. More languages can be added
3314         here, but real input-method support is needed.
3315
3316         * docs/Changes-1.4.txt: Added note about entry behavior.
3317         
3318         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
3319         to set the reading direction for a widget and the global direction.
3320         Add test which allows toggling the global direction. Two private
3321         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
3322
3323         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
3324           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
3325
3326         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
3327
3328         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
3329         underlining now handled by Pango.
3330
3331         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
3332         to RCStyle and Style. (Having both this and the old font name and GdkFont 
3333         is temporary.)
3334
3335         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
3336         convenience functions for creating contexts and layouts for widgets.
3337
3338         * gtk/testgtk.c: Enhance label tests with multilingual labels.
3339
3340 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
3341
3342         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
3343         titles to be active, even if they aren't visible.
3344         (gtk_clist_column_titles_passive):  Ditto.
3345
3346 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
3347
3348         * gtkmenu.c:
3349         * gtkmenu.h:
3350         * gtktypeutils.h: Spelling/grammar fixes in comments.
3351
3352 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
3353
3354         * gdk/nanox/*.h: add missing header files.
3355
3356 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
3357
3358         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
3359         send_event to TRUE.
3360         (gtk_drawing_area_size): queue a resize.
3361
3362 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
3363
3364         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
3365         the handlers, also invalidate them. bug nailed down by Karl Nelson
3366         <kenelson@ece.ucdavis.edu>.
3367
3368 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
3369
3370         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
3371         "(nil)" foundries, patch from Grigorios Magklis.
3372
3373         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
3374         on non-available fonts, based on a patch by Grigorios Magklis
3375         <maglis@cs.rochester.edu>.
3376
3377 2000-05-18  Elliot Lee  <sopwith@redhat.com>
3378
3379         * gdk/x11/gdkregion-generic.c: If a region does not have any
3380         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
3381         instead of GDK_OVERLAP_RECTANGLE_IN.
3382
3383 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
3384
3385         * gtk/gtklayout.c (gtk_layout_map): Remove references to
3386         OFFSCREEN, as it is no longer necessary.
3387
3388 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
3389
3390         * gtk/gtkcolorsel.c: Patch from David Santiago
3391         <mrcooger@cyberverse.com> to change things so that the 
3392         indicator of the active palette entry is done independently,
3393         not via the focus, since it should always be visible.
3394
3395 2000-05-17  Tor Lillqvist  <tml@iki.fi>
3396
3397         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
3398         refcount leaks as in the X11 backend.
3399
3400         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
3401         cosmetics.
3402
3403         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
3404         backend. Add _gdk_windowing_window_destroy().
3405
3406         * gtk/gtkcolorsel.c: Include correct backend-specific header.
3407         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
3408         either, but these probably do exist on nanox?)
3409         
3410         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
3411         which isn't necessarily defined by <math.h>.
3412
3413         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
3414         ancestry past GtkObject.
3415
3416         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
3417         from DLL on Win32.
3418
3419         * gtk/gtk.def: Update corresponding to recent changes.
3420
3421         * gtk/makefile.{cygwin,msc}: Updates.
3422
3423 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
3424
3425         * docs/Changes-1.4.txt: A bit of editing.
3426
3427         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
3428         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
3429         to clear the update area for the window, and clear it
3430         when hiding a window.
3431
3432         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
3433         if window destroyed.
3434
3435         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
3436
3437         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
3438         gdk_window_destroy() to the generic code, since there was a lot of 
3439         window-system-independent logic it in. Add a function:
3440         
3441          _gdk_window_destroy() 
3442
3443         to the internal API to destroy a window without unreferencing it.
3444         Add a function:
3445
3446          _gdk_windowing_window_destroy()
3447
3448         That does the windowing-system-dependent part of destroying 
3449         the window.
3450
3451 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
3452
3453         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
3454
3455 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
3456
3457         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
3458         Make gtk_widget_shape_combine_mask() keep a reference count on
3459         the pixmap since it keeps it around.
3460
3461 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
3462
3463         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
3464         leak.
3465
3466         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
3467         leak with event filters.
3468
3469 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
3470
3471         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
3472         signal handlers with the right data arguments. (Fixes
3473         some warnings when a widget was repeatedly set as a drag
3474         destination.)
3475
3476         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
3477         window so we can avoid avoid setting the DND properties on the
3478         toplevel window repeatedly.
3479
3480 2000-05-13  Tor Lillqvist  <tml@iki.fi>
3481
3482         * gdk/win32/gdkwin32.h: Define more message types missing from
3483         mingw headers.
3484
3485         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
3486         call gdk_window_destroy_notify(). It was never called. This
3487         probably meant that the GdkWindow was never freed. Thanks Owen for
3488         noticing (!).
3489
3490         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
3491         window as destroyed before calling DestroyWindow(). DestroyWindow()
3492         causes a call to the window procedure (gdk_WindowProc), which
3493         calls gdk_event_translate(), which calls
3494         gdk_window_destroy_notify(), which gets confused unless the window
3495         is set as destroyed.
3496
3497         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
3498         this function to indicate it's win32 only. Put inside #ifdef
3499         G_ENABLE_DEBUG.
3500
3501         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
3502         debugging function. (gdk_event_translate:) Add a default branch
3503         that uses the above function to print debug messages with all
3504         Windows messages symbolically.
3505
3506         * gdk/win32/gdkprivate-win32.h: Declare it, and
3507         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
3508
3509 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
3510
3511         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
3512         public header file.
3513
3514 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
3515
3516         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
3517
3518         * gtk/gtktext.c: made the adjustments no-construct args, simply
3519         provide default adjustments.
3520         (gtk_text_destroy): release adjustments.
3521
3522         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
3523         adjustment argument non-construct.
3524
3525         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
3526         instead of in finalize.
3527         (gtk_progress_get_text_from_value): 
3528         (gtk_progress_get_current_text): 
3529         (gtk_progress_set_value): 
3530         (gtk_progress_get_percentage_from_value): 
3531         (gtk_progress_get_current_percentage): 
3532         (gtk_progress_set_percentage): 
3533         (gtk_progress_configure): ensure an adjustment is present.
3534
3535 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
3536
3537         * gtk/gtkcolorsel.[hc]:
3538         * gtk/gtkcolorseldialog.[hc]:
3539         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
3540         their parent implementation, use bit fields for boolean values, don't
3541         create unused widgets, usage of glib types, braces go on their own
3542         lines, function argument alignment, #include directives etc. etc. etc..
3543
3544         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
3545
3546 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
3547
3548         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
3549
3550         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
3551         of NULL.
3552
3553         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
3554         to freed data.
3555         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
3556
3557         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
3558         to NULL when the toplevel is getting destroyed.
3559         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
3560         (gtk_menu_destroy): 
3561         (gtk_menu_init): store the information of whether we have to
3562         readd the initial child ref_count during destruction in a new
3563         GtkMenu field needs_destruction_ref_count.
3564
3565         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
3566         here, those reading: learn from my mistake! ;)
3567         in order for set_?adjustment to support a default adjustemnt if
3568         invoked with an adjustment pointer of NULL, the code read (pseudo):
3569         if (v->adjustment) unref (v->adjustment);
3570         if (!adjustment) adjustment = adjustment_new ();
3571         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
3572         now imagine the first unref to actually free the old adjustment and
3573         adjustment_new() creating a new adjustment from the very same memory
3574         portion. here, the latter comparision will unintendedly fail, and
3575         all hell breaks loose.
3576         (gtk_viewport_set_hadjustment):
3577         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
3578         after unreferencing it.
3579
3580         * gtk/gtkcontainer.[hc]: removed toplevel registration
3581         functions: gtk_container_register_toplevel(),
3582         gtk_container_unregister_toplevel() and
3583         gtk_container_get_toplevels() which had wrong semantics
3584         anyways: it didn't reference and copy the list.
3585
3586         * gtk/gtkwindow.c: we take over the container toplevel registration
3587         bussiness now. windows are registered across multiple destructions,
3588         untill they are finalized. the initial implicit reference count
3589         users are holding on windows is removed with the first destruction
3590         though.
3591         (gtk_window_init): ref & sink and set has_user_ref_count, got
3592         rid of gtk_container_register_toplevel() call. add window to
3593         toplevel_list.
3594         (gtk_window_destroy): unref the window if has_user_ref_count
3595         is still set, got rid of call to
3596         gtk_container_unregister_toplevel().
3597         (gtk_window_finalize): remove window from toplevel list.
3598         (gtk_window_list_toplevels): new function to return a newly
3599         created list with referenced toplevels.
3600         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
3601
3602         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
3603         adjustment a non-construct arg.
3604         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
3605         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
3606         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
3607
3608         * gtk/gtkrange.c: added some realized checks.
3609         (gtk_range_destroy): get rid of the h/v adjustments in the
3610         destroy handler instead of finalize. remove timer.
3611         (gtk_range_get_adjustment): demand create adjustment.
3612
3613         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
3614         we simply create them on demand now and get rid of them in
3615         the destroy handler.
3616         (gtk_viewport_destroy): get rid of the h/v adjustments in the
3617         destroy handler instead of finalize.
3618         (gtk_viewport_get_hadjustment): 
3619         (gtk_viewport_get_vadjustment): 
3620         (gtk_viewport_size_allocate): demand create h/v adjustment
3621         if required.
3622
3623         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
3624         gtk_widget_real_destroy () functionality.
3625         (gtk_widget_real_destroy): reinitialize with a new style, instead
3626         of setting widget->style to NULL.
3627
3628 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
3629
3630         * gtk/gtkcalendar.c:
3631         * gtk/gtkbutton.c: ported _get_type() implementation over to
3632         GType, either to preserve memchunks allocation facilities,
3633         or because Gtk+ 1.0 GtkTypeInfo was still being used.
3634
3635         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
3636         over. prepare for ::destroy to be emitted multiple times.
3637         removed reference tracer magic. chain into GObjectClass.shutdown()
3638         to emit ::destroy signal.
3639
3640         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
3641         fundamental.
3642
3643         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
3644         cludge.
3645
3646         * gtk/gtksocket.c:
3647         * gtk/gtkplug.c:
3648         * gtk/gtklayout.c:
3649         * gtk/gtklabel.c:
3650         * gtk/gtkargcollector.c:
3651         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
3652         not being a fundamental anymore, and to work with the new
3653         type system (nuked fundamental type varargs clutter).
3654
3655         * gtk/*.c: install finalize handlers in the GObjectClass
3656         part of the class structure.
3657         changed direct GTK_OBJECT()->klass accesses to
3658         GTK_*_GET_CLASS().
3659         changed direct object_class->type accesses to GTK_CLASS_TYPE().
3660
3661         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
3662         GType. made most of the GTK_*() type macros and Gtk* typedefs
3663         simple wrappers around macros and types provided by GType.
3664         most notably, a significant portion of the old API vanished:
3665         GTK_TYPE_MAKE(),
3666         GTK_TYPE_SEQNO(),
3667         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
3668         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
3669         GTK_TYPE_ARGS,
3670         GTK_TYPE_CALLBACK,
3671         GTK_TYPE_C_CALLBACK,
3672         GTK_TYPE_FOREIGN,
3673         GtkTypeQuery,
3674         gtk_type_query(),
3675         gtk_type_set_varargs_type(),
3676         gtk_type_get_varargs_type(),
3677         gtk_type_check_object_cast(),
3678         gtk_type_check_class_cast(),
3679         gtk_type_describe_tree(),
3680         gtk_type_describe_heritage(),
3681         gtk_type_free(),
3682         gtk_type_children_types(),
3683         gtk_type_set_chunk_alloc(),
3684         gtk_type_register_enum(),
3685         gtk_type_register_flags(),
3686         gtk_type_parent_class().
3687         replacements, where available are described in ../docs/Changes-1.4.txt.
3688         implemented compatibility functions for the remaining API.
3689
3690         * configure.in: depend on glib 1.3.1, use gobject module.
3691
3692 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
3693
3694         * TODO.xml: Various updates to current status.
3695
3696 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
3697
3698         * gtk.m4: Print out version when test succeeds.
3699
3700 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
3701
3702         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
3703         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
3704         
3705         (Original triangle color selector from Simon Budig
3706         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
3707         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
3708         Santiago <mrcooger@cyberverse.com>)
3709
3710         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
3711         out into a separate widget.
3712
3713         * gtk/testgtk.c: Add some checkbuttons for toggling palette
3714         and opacity controls.
3715
3716 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
3717
3718         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
3719         snuck in prematurely.
3720
3721 2000-05-07  Tor Lillqvist  <tml@iki.fi>
3722
3723         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
3724         had deleted a ! operator by mistake, which caused
3725         GDK_SELECTION_CLEAR events never to be generated, which caused
3726         only the first copy to the clipboard from an gtkeditable to
3727         actually cause a copy to the Windows clipboard.
3728
3729 2000-05-06  Tor Lillqvist  <tml@iki.fi>
3730
3731         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
3732         compilation, too. Current mingw gcc distributions include the
3733         necessary headers. Also the necessary IIDs are now in mingw
3734         headers/libraries, and own definitions unnecessary.
3735
3736         More hacking on OLE2 DND, still doesn't work though, and thus
3737         ifdeffed out.
3738
3739         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
3740         here, too.
3741
3742 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
3743
3744         * gdk/nanox/*: nano-X port work in progress.
3745         * gdk/simple.c: simple test for Gdk.
3746         * README.nanox: notes about the port: read this first!
3747         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
3748         with nano-X.
3749
3750 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
3751
3752         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
3753         gdk_window_clear() into common code, implement in terms of
3754         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
3755         not redirected to the backing rectangle.
3756
3757 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
3758
3759         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
3760         EXTRA_DIST. It does not work well when the file that
3761         everything depends on is not in the tarball.
3762
3763 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
3764
3765         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
3766         with recursion where process_updates() is called from
3767         an expose handler. (GtkTextView is highly broken in
3768         doing this, but it should work, so it is a nice test
3769         case.)
3770
3771 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
3772
3773         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
3774         handle the case where updates are queued during processing of
3775         updates.
3776
3777 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
3778
3779         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
3780         window is on gdk_display - use that instead of segfaulting.
3781
3782 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
3783
3784         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
3785         broken and require an empty arg, give it to them.
3786
3787 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
3788
3789         * gtk/gtklabel.h: indentation fixes.
3790
3791 2000-05-02  Tor Lillqvist  <tml@iki.fi>
3792
3793         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
3794         draw too narrow or too low arcs, they seem to fail, at least with
3795         some display drivers.
3796
3797         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
3798
3799         Large changes to the Win32 backend, partially made necessary by
3800         the changes to the backend-independent internal
3801         structures. Attempts to implement similar backing store stuff as
3802         on X11. The current (CVS) version of the Win32 backend is *not* as
3803         stable as it was before the no-flicker branch was merged. A
3804         zipfile with that version is available from
3805         http://www.gimp.org/win32/. That should be use by "production"
3806         code until this CVS version is usable. (But note, the Win32
3807         backend has never been claimed to be "production quality".)
3808
3809         * README.win32: Add the above comment about versions.
3810
3811         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
3812
3813         * gdk/gdk.def: Update.
3814
3815         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
3816         presumably be replaced by some more better mechanism as 1.4 gets
3817         closer to release shape.
3818
3819         * gdk/makefile.{cygwin,msc}: Update.
3820
3821         * gdk/win32/*.c: Correct inclusions of the backend-specific and
3822         internal headers. Change code according to changes in these. Use
3823         gdk_drawable_*, not gdk_window_* where necessary.
3824
3825         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
3826         our old DND.
3827
3828         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
3829         to interpret single characters as UTF-8. Thanks to Hans Breuer.
3830         Use correct function name in warning messages.
3831
3832         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
3833         GSourceFuncs gdk_event_prepare and gdk_event_check.
3834         (gdk_event_get_graphics_expose): Do implement, use
3835         PeekMessage. Thanks to Hans Breuer.
3836         (event_mask_string): Debugging function to print an GdkEventMask.
3837         (gdk_pointer_grab): Use it.
3838
3839         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
3840         (old) book I used claimed was Hangul actually is CJK Unified
3841         Ideographs Extension A. Also, Hangul Syllables were missing.
3842         Improve logging.
3843
3844         * gdk/win32/gdkgc-win32.c: Largish changes.
3845
3846         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
3847         g_win32_getlocale() from GLib, and not setlocale() to get current
3848         locale name.
3849
3850         * gdk/win32/gdkprivate-win32.h
3851         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
3852         gdkwin32.h, similarily as in the X11 backend.
3853
3854         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
3855         assignment was used instead of equals in if test. Thanks to Hans
3856         Breuer.
3857
3858         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
3859         the X11 version.
3860
3861         * gdk/win32/makefile.{cygwin,msc}
3862         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
3863         path to the Win32 headers that works also with the mingw compiler.
3864
3865         * gtk/gtkstyle.c: Include <string.h>.
3866
3867 2000-04-26  Havoc Pennington  <hp@redhat.com>
3868
3869         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
3870         replacing the broken gtk_label_get ()
3871
3872 2000-04-15  Havoc Pennington  <hp@pobox.com>
3873
3874         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
3875         this keeps scanner scripts from getting confused.
3876
3877         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
3878         data, rather than void
3879
3880 2000-04-15  Tor Lillqvist  <tml@iki.fi>
3881
3882         * gtk/gtkclist.c (gtk_clist_motion)
3883         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
3884         with is_hint FALSE, get x and y from the event. They used to be
3885         used uninitialised. The Win32 backend never sends motion events
3886         marked as hints. This for instance fixes the annoying file and
3887         font selector behaviour in the Win32 version.
3888
3889 2000-04-14  Tor Lillqvist  <tml@iki.fi>
3890
3891         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
3892         gtk_private_n_signals variables, they are used by some software,
3893         sigh.
3894
3895         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
3896         installation directory from the Registry, where the installer
3897         should have put it.
3898
3899 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
3900
3901         * gdk/x11/Makefile.am: Fix problem with installation directory for
3902         gdkx.h
3903
3904         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
3905         <mrcooger@cyberverse.com> so that when selecting menus with the
3906         mouse, the first item will not be selected, but when selecting
3907         with an accelerator, or navigating left-right on a menubar with
3908         the menus popped up, the first item will be selected.
3909
3910 2000-04-05  Dan Damian  <dand@dnttm.ro>
3911
3912         * configure.in: Added "ro" to ALL_LINGUAS.
3913
3914 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
3915
3916         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
3917         indentation.
3918
3919         * Makefile.am (EXTRA_DIST): Fix typo.
3920
3921         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
3922         to catch gdkconfig.h
3923
3924         * gtk/gtkitemfactory.c: Added FIXME.
3925
3926 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
3927
3928         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
3929         s/return_if_fail/return_val_if_fail/g and add a return value.
3930
3931 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
3932
3933         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
3934         merge slipup.
3935
3936         * gdk/gdkinput.h: Fix missing line from merge.
3937
3938 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
3939
3940         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
3941         instead of gdkprivate.h.
3942
3943 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
3944
3945         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
3946         parent class to correctly be GtkDialogClass.
3947
3948 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
3949
3950         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
3951         toplevel windows and their immediate children by their parents,
3952         since the size of toplevel windows is out of our immediate
3953         control and we don't get any real benefit from trying to track
3954         this size for clipping.
3955
3956         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
3957         for input_only windows.
3958
3959         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
3960         to fix some hacks and make sure that we don't try to set the
3961         background of input only windows.
3962
3963 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
3964
3965         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
3966         the _really_ internal stuff, and leave gdkprivate.h for the fake private
3967         stuff that we've traditionally exposed.
3968
3969         * gdk/**.c: Use gdkinternals.h where appropriate.
3970
3971         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
3972         not include gdkprivate-x11.h, move all stuff of conceivable public
3973         interest into gdkx.h; keep all really private stuff in
3974         uninstalled header gdkprivate-x11.h.
3975
3976         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
3977         image->image_put on windows through a new function _gdk_window_draw_image()
3978         to allow us to do backing store for images. (Sort of ugly)
3979
3980         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
3981         contexts locally so that we can offset them properly when drawing 
3982         onto backing pixmaps.
3983
3984         * gdk/gdkinput.h: Reindented
3985
3986         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
3987         pixmap or color for the window, so we can properly initialize
3988         our double-buffer pixmaps, and also so that we temporarily set
3989         a background of None while scrolling.
3990
3991         * gdk/gdkregion.h: Revise region boolean operators to have an
3992         interface that is actually convenient - switch from creating new
3993         regions on every op, to "methods" that modify existing regions
3994         (A = A OP B). 3 argument forms which allow dest == src, would also
3995         be possible, but the current interfaces seem to map nicely
3996         onto what needs to be done. (There is quite a lot of region
3997         code in GDK now.)
3998
3999         * gdk/gdkregion.h: Add constructor from rectangle and a copy
4000         operator.
4001
4002         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
4003         gdkpoly-generic.h: Copy region code from Xlib, switch it over
4004         to 32 bit coordinates, modify it to be mostly GTK+ style
4005         and to have interfaces that match gdkregion.h.
4006
4007         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
4008         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
4009         create a backing pixmap and redirect all drawing to
4010         that backing pixmap until a matching gdk_window_end_paint().
4011
4012         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
4013         Create a special drawable class for GtkWindow's that 
4014         redirects the drawing to the backing pixmap as necessary
4015         and then calls the real operations in _gdk_windowing_window_class.
4016
4017         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
4018         Store invalid region for each window. Generate expose events for invalid
4019         region in an idle. This replaces both the expose compression
4020         and the redrawing queuing in GTK+. It is both more efficient and
4021         simpler than either one individually and far more so then the
4022         combination.
4023
4024         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
4025         Emulate 32 bit coordinates for windows with 16 bit coordinates
4026         by offsetting drawing, guffaw scrolling techniques and
4027         mapping/unmapping child windows as necessary.
4028
4029         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
4030         where, when invalid regions are processed, the region is stored,
4031         and if expose events come in that are detectably duplicate
4032         the processed exposes (by comparison of event serial numbers),
4033         the stored region is subtracted out of those exposes.
4034
4035         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
4036         regions newly exposed when scrolling or resizing windows.
4037         This, combined with forcing processesing of queued invalidated
4038         regions, gives nice flicker-free scrolling.
4039
4040         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
4041         invalidated regions after every scroll.
4042
4043         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
4044         emulation in GDK. Its, for all practical purposes just a
4045         GtkViewport/GtkFixed hybrid now.
4046
4047         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
4048         (16-bit) structures as necessary instead of just casting.
4049
4050         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
4051         in terms of the structures from gdkregion-generic.c, using appropriate
4052         offsets from GDK to X11 coordinates. Cache clip mask and
4053         origin and ts origin locally and only flush to the server
4054         when drawing, to avoid constantly setting and resetting these
4055         values when offsetting GC's for scrolling and backing pixmaps.
4056
4057         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
4058
4059         * gtk/gtkcontainer.c: Call process_all_updates at end
4060         of resizing to reduce flicker. (Avoids having redraw
4061         lag arbitrarily behind resize under some circumstances)
4062
4063         * gtk/gtkentry.c: Remove old backing store code, and simply take
4064         advantage of the new backing store capabilities of GDK.
4065
4066         * gtk/gtkmain.c: Simple implementation of widget backing
4067         store - simply push a paint while handling each expose.
4068         (Should really be configurable widget for widget.)
4069         
4070         * gtk/gtkwidget.c: Remove all the old complicated redraw
4071         code, and simply invalidate the GDK windows from
4072         gdk_window_queue_clear(), etc. (Sigh, so much carefully
4073         debugged complexity ... gone to the winds.)
4074
4075         Remove all the code for suppressing expose events while
4076         resizes are pending; this isn't needed since the invalid
4077         areas won't be processed until after the resizes are
4078         processed, since they are in a lower priority idle.
4079
4080 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
4081
4082         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
4083         and height of dest rectangle for non-intersecting rectangles.
4084
4085 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
4086
4087         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
4088         for GdkRectangle.
4089
4090 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
4091
4092         * gdk/gdk{events,image,private,types,window}.h
4093          gdk/x11/gdkinputprivate.h: Change all coordinates
4094          from int16 to int. Also, Change width and height from
4095          unsigned to signed to avoid all the stupid C 
4096          signedness bugs.
4097
4098 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
4099
4100         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
4101         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
4102         Add some more detailed checking.
4103
4104         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
4105         New function to retrieve the depth of a drawable.
4106
4107         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
4108         field, reorder fields to save memory. 
4109
4110 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
4111
4112         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
4113         of the background image instead of scaling the background down to
4114         a line.
4115
4116         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
4117         which temporarily set slider to wrong size.
4118
4119         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
4120         queue_clear().
4121
4122 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
4123
4124 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
4125
4126         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
4127
4128 2000-03-17  Tor Lillqvist  <tml@iki.fi>
4129
4130         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
4131         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
4132
4133         * gdk/win32/gdkfont-win32.c
4134         * gdk/win32/gdkproperty-win32.c
4135         * gdk/win32/gdkselection-win32.c
4136         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
4137         now declared such.
4138
4139 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
4140
4141         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
4142
4143 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
4144
4145         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
4146         is called without trapping X errors.
4147
4148 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
4149
4150         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
4151         way into the fontset lists.
4152
4153 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
4154
4155         * gtk/gtkthemes.h: add extern "C" scope.
4156
4157 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
4158
4159         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
4160         to make appends to the list constant. (gtk-guy-990901-0.patch)
4161
4162 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
4163
4164         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
4165         for the typename hash table.
4166
4167 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
4168
4169         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
4170         to make sure we never divide by zero. 
4171         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
4172
4173 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
4174
4175         * gtk/gtkfontsel.c: Apply patch from
4176         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
4177         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
4178
4179         Also, some cleanups in atom handling.
4180
4181 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
4182
4183         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
4184         not GtkWidget.
4185
4186 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
4187
4188         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
4189         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
4190         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
4191         more guint wrap-around bugs before going to bed.
4192
4193 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
4194
4195         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
4196         guint wrap arounds in allocation.width.
4197
4198         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
4199         process untill we fit the allocation given.
4200
4201 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
4202
4203         * gtk/gtkwidget.c:
4204         (gtk_widget_unrealize): guard widget access with ref/unref
4205         around signal emission.
4206         (gtk_widget_hide): same here, but also check its destroyed
4207         state before queueing a resize.
4208
4209 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
4210
4211         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
4212         of gtk_default_insensitive_bg as insensitive base color.
4213
4214         * gtk/gtktext.c (gtk_text_style_set): set the background color according
4215         to the widget's state.
4216         (gtk_text_realize): same here.
4217         (gtk_text_state_changed): same here.
4218         (draw_bg_rect): compare background color against base[] from
4219         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
4220
4221 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
4222
4223         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
4224         grabs are active, unless a delete event is send to the toplevel
4225         of the currently grab holding widget.
4226
4227 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
4228
4229         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
4230         debugging g_print's.
4231
4232 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
4233
4234         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
4235         ever make the scrolled-window requisition ever depend on the 
4236         visibility state of the scrollbars for the AUTOMATIC policy. 
4237         This breaks the GTK+ requisition model, and causes loops.
4238
4239 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
4240
4241         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
4242         the default font to avoid problems with XFree86-4.0 where the
4243         default charset is iso10646-1, not iso8859-1.
4244
4245 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
4246
4247         * acinclude.m4
4248         * config.guess
4249         * config.sub
4250         * ltconfig
4251         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
4252
4253         * gtk/Makefile.am: minor cosmetic consistency tweak
4254
4255 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
4256
4257         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
4258         the activate_time to 0, so that we handle a quick
4259         press/release press/release properly and don't suppress
4260         the second release. (Red Hat bug #7545)
4261
4262 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
4263
4264         * gtk/gtkctree.c (row_delete):
4265         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
4266         bugs with destruction notifier, *always* update internal
4267         structures *before* calling user code.
4268
4269 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
4270
4271         A few more fixes for bug #5487, #2051, #2677.
4272         * gtk/gtkclist.c : 
4273         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
4274         not GDK_BUTTON_PRESS.
4275         (resync_selection): resync only if selection_mode is
4276         GTK_SELECTION_EXTENDED
4277         * gtk/gtkctree.c (resync_selection): same here
4278
4279 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
4280
4281         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
4282         gdk_drag_get_selection() and gtk_menu_detach().
4283
4284         [ From Jeroen Ruigrok/Asmodai ]
4285
4286 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
4287
4288         * gtk/gtknotebook.c (gtk_notebook_size_request): 
4289         page->tab_label can be NULL.
4290
4291 2000-01-25  Havoc Pennington  <hp@pobox.com>
4292         
4293         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
4294         arg is boolean
4295
4296         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
4297
4298         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
4299
4300         * gdk/gdkproperty.c (gdk_property_get): return boolean
4301
4302         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
4303
4304         * gdk/gdkim.c (gdk_im_ready): return boolean
4305
4306         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
4307
4308         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
4309         glib clash, should fix glib)
4310
4311         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
4312         (gdk_get_show_events): return gboolean, and canonicalize 
4313         to TRUE/FALSE
4314
4315         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
4316         colormap is private
4317         (gdk_colors_alloc): gboolean whether to be contiguous
4318         (gdk_color_equal): return gboolean since we are a predicate
4319         and not a qsort() (this looks semi-wrong due to glib breakage,
4320         IMO glib should be fixed)
4321         
4322         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
4323         (gdk_get_use_xshm): return gboolean
4324         (gdk_pointer_is_grabbed): return gboolean
4325
4326         * gdk/gdk.h: Change prototypes to match all the above changes,
4327         and re-run egtk-format-protos as required.
4328
4329 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
4330
4331         * gtk/gtkctree.c (resync_selection): 
4332         * gtk/gtkclist.c (resync_selection):
4333
4334         Return immediately if clist->drag_pos < 0. This is a workaround
4335         for the corrupt state that the clist gets into when a
4336         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
4337
4338         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
4339         
4340         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
4341         variable from recent commit.
4342
4343 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
4344
4345         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
4346
4347 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
4348
4349         * gtk/Makefile.am: prefix all autogenerated source that get build in
4350         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
4351         in builddir. since we subsequently cd into srcdir for autogeneration,
4352         the paths have to be stripped from the target file names, thusly we
4353         use $(@F) as target names now.
4354         put a comment about configure.in's --disable-rebuilds option,
4355         which can be used for non-writable source directories, for development
4356         setups though, srcdir has to be *writable*.
4357
4358 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
4359
4360         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
4361           Finish the job of allowing event to be NULL.
4362           (Fixes bug #4283, reported by Chris Blizzard)
4363
4364         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
4365           things so that the cursor appears on screen, properly
4366           take into account INNER_BORDER.
4367           (Fixes bug #4754, reported by Antonio Campos)
4368
4369 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
4370
4371         * gtk/gtknotebook.c (gtk_notebook_map): Don't
4372           show the tab_label unless it itself is visible.
4373
4374           gtk/gtknotebook.c (gtk_notebook_size_request):
4375           Do a better job of making sure that the visibility
4376           of the tab label corresponds to whether it should
4377           be mapped or not.
4378
4379 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
4380
4381         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
4382           Use the requisition, not the allocation, since the
4383           allocation has not necessarily been computed yet.
4384           (Pointed out by Eugene Osintsev)
4385
4386 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
4387
4388         * gtk/gtkstyle.c (gtk_style_new): Dont' set
4389           style/base[GTK_STATE_INSENSITIVE] both to
4390           gtk_default_insensitive_bg!
4391           (Bug #2187, reported by Jonathan Blandford)
4392
4393         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
4394           Add Alt_L, Alt_R to list of invalid accelerators.
4395           (Bug #3736, reported by Vlad Harchev)
4396
4397 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
4398
4399         * gtk/gtkfilesel.c (open_ref_dir): Fix several
4400         bugs which occured after an attempt to open 
4401         invalid home directory left cmpl_state->reference_dir == NULL.
4402
4403          - completion on files in home directory didn't work
4404          - completion on an empty string caused  segfault
4405
4406          (Bug #3768, reported by Steve Ratcliffe)
4407
4408         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
4409         cut and paste error that was causing scales to
4410         be incorrectly positioned.
4411         (Bug #2956,
4412          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
4413
4414 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
4415
4416         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
4417         when checking for dcgettext, if we've found we needed
4418         it for dgettext.
4419 +
4420 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
4421
4422         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
4423         queue_clear on NO_WINDOW widgets during a reparent,
4424         since at that point the window and widget heirarchies
4425         are out of sync. This stops crashing in some cases
4426         (the scrolled window reparent test, for instance), and
4427         _probably_ won't cause drawing errors.
4428
4429         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
4430         test do what it was supposed to do and be robust against
4431         window closings, etc. (Bug #2443)
4432
4433 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
4434
4435         * gtk/gtkentry.c: Fix return values on mouse events.
4436         (Bug #2686, Sky <seb_sky@yahoo.com>)
4437
4438         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
4439         (pointed out by George Lebl)
4440
4441         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
4442         (From Ettore Perazzoli  <ettore@helixcode.com>)
4443  
4444 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
4445
4446         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
4447         clicks between rows or outside calender area correctly.
4448         (Patch from Damon Chaplin)
4449
4450         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
4451         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
4452           Call destroy function when overwriting existing data. 
4453           (Pointed out by Damon Chaplin)
4454
4455 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
4456
4457         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
4458           which was causing problems on various systems with Xmu.
4459           This hasn't been needed for a very long time.
4460           (Fixes #1185 3167)
4461
4462 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
4463
4464         * gdk/gdki18n.h: Include <ctype.h> when defining
4465           gdk_isw* in terms of is* as a fallback.
4466           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
4467
4468 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
4469
4470         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
4471           realize the widget when it is size allocated!
4472           (old, old bug)
4473
4474         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
4475           Removed unused call to gdk_window_get_size() that
4476           showed up when the above was fixed.
4477
4478 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
4479
4480         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
4481           fix up widget->window when the widget is a
4482           NO_WINDOW container widget.
4483
4484 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
4485
4486         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
4487           to account for the fact that feof() does _not_ 
4488           return TRUE on errors, and thus avoid infinite loops
4489           when trying to use gdk_pixmap_create_from_xpm()
4490           on unreadable values.
4491
4492 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
4493
4494         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
4495
4496 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
4497
4498         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
4499           gdk_gc_set_dashes to take gint8 instead of gchar to
4500           make it clearer that it is _not_ a NULL terminated string.
4501
4502         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
4503           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
4504           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
4505           arguments.
4506
4507 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
4508
4509         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
4510         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
4511         background size relative to our allocation, guard against small
4512         allocations, we may have not yet been size allocated.
4513
4514 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
4515
4516         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
4517         not just version == 3. We implement all 3 + most of 4 - 
4518         (we don't support matching text/plain;charset=iso-8859-1
4519         to a dest that expects text/plain). We'll still advertise
4520         3 to be safe, but any client implementing version >= 3
4521         must interoperate with 3.
4522         
4523 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
4524
4525         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
4526         background and gc members, add a warning in gtk_tooltips_set_color()
4527         indicating that this function is deprecated.
4528
4529 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
4530
4531         * docs/gtkfaq.sgml: FAQ Update:
4532           - Minor cleanups (Emmanuel, me)
4533           - New questions:
4534                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
4535                 How can I retrieve the text from a GtkMenuItem? (timj)
4536                 How do I validate/limit/filter the input to a GtkEntry? (me)
4537                 Memory does not seem to be released when I free the list
4538                         nodes I've allocated (timj)
4539
4540 2000-03-07  Tor Lillqvist  <tml@iki.fi>
4541
4542         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
4543         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
4544         for which it is no use to call GetLastError onWin9x.
4545         (gdk_other_api_failed) New function, for general error
4546         reporting without calling GetLastError.
4547         (gdk_win32_api_failed) OTOH, this function always calls
4548         GetLastError. (gdk_win32_last_error_string) Remove this function,
4549         GLib has the equivalent now.
4550
4551         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
4552         call them with function name, file name and line number in the
4553         arguments.
4554
4555         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
4556         functions.
4557         
4558         * gtk/gtk.def: Add some missing entry points.
4559
4560         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
4561         gtk_paned_set_gutter_size, which don't exist any longer, as void.
4562         
4563         Fixes by Hans Breuer:
4564
4565         * gdk/makefile.msc: Update for debugging.
4566
4567         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
4568         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
4569         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
4570         in the dash_list.
4571
4572         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
4573         the x11 backend.
4574
4575         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
4576
4577         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
4578
4579 2000-03-04  Tor Lillqvist  <tml@iki.fi>
4580
4581         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
4582         just pixel value of background colour.
4583
4584         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
4585         containing code snippet previously duplicated in a couple of
4586         places.
4587         
4588         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
4589         gdk_colormap_color.
4590
4591         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
4592         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
4593         events for autorepeated Shift, Control and Alt keys. Use
4594         gdk_colormap_color.
4595
4596         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
4597         pointer is inside the window the cursor of which we are setting,
4598         call SetCursor immediately.
4599
4600         * gdk/win32/makefile.cygwin
4601         * gtk/makefile.cygwin: If we don't have the build number stamp
4602         file, use zero.
4603
4604         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
4605         gtk_paned_set_gutter_size as empty.
4606
4607         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
4608         
4609 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
4610
4611         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
4612           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
4613           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
4614           docs/gtk_tut.sgml docs/gtk.texi TODO:
4615
4616           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
4617
4618 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
4619
4620         * gtk/gtkcalendar.c: Implement num_marked_dates,
4621           and don't emit mutiple day_selected signals on
4622           month_prev.
4623
4624 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
4625
4626         * docs/make-todo (lineno): let title and logo be configurable so
4627         that GNOME can use this script too.
4628
4629         * TODO.xml: added logourl and a title
4630
4631 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
4632
4633         * TODO.xml: Added some UI items, and an explanatory
4634         comment at the top of the file.
4635
4636 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
4637
4638         * TODO.xml: some updates, added abunch of new entries.
4639         a note for those fiddeling with this file, when done
4640         with it, invoke:
4641         $ ./docs/make-todo TODO.xml >/dev/null
4642         and correct output errors before comitting changes.
4643
4644 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
4645
4646         * TODO.xml: Added XML-structured TODO file.
4647         * docs/make-todo: python script to turn TODO.xml into
4648           pretty XML output. 
4649
4650 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
4651
4652         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
4653         the function to let it draw the seven dots, instead of the old,
4654         much maligned, method.
4655         (draw_dot): New function to draw a dot.
4656
4657         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
4658         to draw the handle inside the border width as opposed to outside.
4659         Use paint function instead of gdk_draw_point.
4660
4661         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
4662         to draw the handle inside the border width as opposed to outside.
4663         Use paint function instead of gdk_draw_point.
4664
4665         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
4666         Change indenting to be more GTK like.
4667
4668 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
4669
4670         * docs/gtk_tut.sgml: New section on GtkCalendar
4671         * examples/calendar: Update example code
4672
4673 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
4674
4675         * docs/gtkfaq.sgml: FAQ Update
4676
4677 2000-02-19  Anders Carlsson  <andersca@gnu.org>
4678
4679         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
4680         to prevent the scroll event to be propagated upwards.
4681
4682 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
4683
4684         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
4685         OwnerGrabButtonMask from button entries for
4686         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
4687
4688         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
4689         to the event mask (which will result in button/press release
4690         being added to the event mask on Unix) so scrolling works
4691         for layouts in scroll windows.
4692
4693         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
4694
4695         Patch from Anders Carlsson  <andersca@gnu.org> to add
4696         a scroll event.
4697
4698         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
4699         scrolling to the "Test Scrolling" part of testgtk.
4700  
4701         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
4702  
4703         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
4704         it against GDK_SCROLL.
4705  
4706         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
4707         way of mouse wheel scrolling.
4708  
4709         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
4710  
4711         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
4712  
4713         * gtk/gtkmain.c: Removed previous mouse wheel hack.
4714  
4715         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
4716         gdk_event_mask_table.
4717  
4718         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
4719         GdkEventScroll handler.
4720  
4721         * gdk/gdkevents.h: Added GdkEventScroll structure.
4722  
4723 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
4724
4725         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
4726         and Anders Carlsson to change the Paned widgets so that they
4727         can be dragged from anywhere along the length. Also change
4728         the way that this is drawn to make this apparent.
4729
4730         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
4731         from George Lebl to check that option_menu->menu is present
4732         before getting history.
4733
4734 2000-02-14  Tor Lillqvist  <tml@iki.fi>
4735
4736         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
4737         before the assertion for non-NULL segment list.
4738
4739         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
4740         Seems that pattern brushes *must* be 8x8 pixels! At least on my
4741         machine, but it might be display driver dependent. Sigh, so make
4742         sure the stipple is that size. Does Windows suck or what?
4743
4744         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
4745         places.
4746
4747 2000-02-13  Havoc Pennington  <hp@pobox.com>
4748
4749         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
4750         refcount to 1
4751         (gdk_cursor_new): init refcount to 1
4752
4753         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
4754
4755 2000-02-13  Tor Lillqvist  <tml@iki.fi>
4756
4757         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
4758         so that we don't have to do unnecessary settings to the HDC.
4759
4760         * gdk/win32/gdkdrawable-win32.c
4761         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
4762         gdk_gc_predraw.
4763
4764         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
4765         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
4766         GDI paths, call WidenPath to get the outline of the stroken path,
4767         and then fill the outline (with the brush that was built from the
4768         stipple).
4769
4770         * gdk/win32/gdkgc-win32.c: Factor out common code from
4771         _gdk_win32_gc_new and gdk_win32_gc_set_values into
4772         gdk_win32_gc_values_to_win32values. Use correct colour for
4773         SetBkColor() (Until now the code actually used a random colour in
4774         the call to SetBkColor()... but that didn't show up as not many
4775         GDI APIs use the background colour. Pattern (opaque stippled)
4776         brushes do.)
4777
4778         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
4779         gdk_win32_api_failed): New functions for error logging.
4780
4781         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
4782         WIN32_API_FAILED to call them, passing function or file name and
4783         line number.
4784
4785         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
4786
4787         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
4788         GdkColor for foreground and background in GdkGCWin32Data.
4789
4790         * gdk/makefile.cygwin: Link in the resource object separately.
4791
4792         * gdk/win32/rc/gdk.rc
4793         * gtk/gtk.rc (New file)
4794         * gdk/win32/makefile.cygwin
4795         * gtk/makefile.cygwin: Update build number in DLLs automatically,
4796         as in GLib.
4797
4798 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
4799
4800         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
4801         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
4802         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
4803         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
4804         parameters given and cursor->ref_count. coding style fixups.
4805
4806         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
4807         not GtkWidget.
4808         
4809         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
4810         fix up widget macros and add _GET_CLASS() variant.
4811         
4812         * gtk/*.c: some GtkType fixups.
4813
4814 2000-02-09  Tor Lillqvist  <tml@iki.fi>
4815
4816         * gdk/win32/gdkproperty-win32.c
4817         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
4818         were reversed.
4819
4820 2000-02-04  Tor Lillqvist  <tml@iki.fi>
4821
4822         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
4823         g_filename_to_utf8 to convert the font names Windows gives us from
4824         whatever is the default codepage to UTF-8.
4825         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
4826         in the other direction.
4827
4828         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
4829         error in debugging output.
4830
4831 2000-02-02  Tor Lillqvist  <tml@iki.fi>
4832
4833         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
4834         and height parameters to gdk_window_clear_area(). Not minus one.
4835
4836 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
4837
4838         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
4839         checks if the widget passed to gtk_drag_get_data() was not the
4840         dest widget.
4841
4842 2000-02-01  Tor Lillqvist  <tml@iki.fi>
4843
4844         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
4845         g_filename_from_utf8 functions (which were added a moment ago to
4846         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
4847         size buffers.
4848
4849         gtk_file_selection_get_filename returns the filename in the C
4850         runtime encoding. It calls g_filename_from_utf8, but copies the
4851         returned string to a static buffer, which is returned. I think
4852         this is better than returning the result from g_filename_from_utf8
4853         directly, which would mean all apps that use it would have to free
4854         the return value. Or should this function care about this issue at
4855         all? Maybe a new function with clearly defined semantics.
4856
4857         * gtk/gtkfilesel.h: Add comment about
4858         gtk_file_selection_get_filename returning the filename in the C
4859         runtime's encoding.
4860
4861         * README.win32
4862         * gdk/gdk.def
4863         * gdk/makefile.{cygwin,msc}
4864         * gtk/gtk.def: Updates.
4865
4866         * gdk/gdkcursor-win32.c: Initialise refcount.
4867
4868 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
4869
4870         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
4871
4872 2000-01-30  Havoc Pennington  <hp@pobox.com>
4873
4874         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
4875         destroy
4876
4877         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
4878
4879         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
4880         implemented in platform-specific code
4881
4882         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
4883
4884         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
4885         underscore in front
4886
4887         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
4888         put an underscore in front
4889
4890         * gdk/gdkcursor.c: new file, implements
4891         gdk_cursor_ref/gdk_cursor_unref
4892
4893         * gdk/gdkcursor.h: Refcount GdkCursor
4894
4895         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
4896
4897 2000-01-29  Tor Lillqvist  <tml@iki.fi>
4898
4899         * gdk/gdkwindow.h
4900         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
4901
4902 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
4903
4904         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
4905         structures to properly inherit from GtkWidget not GtkBin.
4906
4907 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
4908
4909         * gtk+.spec.in: Added lib/gtk+/include/* to %files
4910         (bug #5178 - Peter Wainright)
4911         
4912         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
4913         so that it will be installed.
4914         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
4915
4916 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
4917
4918         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
4919         for the GtkStyleClass vtable const.
4920
4921         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
4922         take a const string argument like GtkTranslateFunc. This will
4923         require changes in use code.
4924
4925 2000-01-19  Tor Lillqvist  <tml@iki.fi>
4926
4927         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
4928         semantics (to mimic the X11 backend, which just calls XClearArea)
4929         is to check for zero width (and height), and in that case use the
4930         window's width minus x (height minus y). This fixes for instance
4931         some redraw problems with gtkclist, which were easily noticeable
4932         in the gtk file selection widget.
4933
4934         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
4935         windows.
4936
4937 2000-01-13  Tor Lillqvist  <tml@iki.fi>
4938
4939         * configure.in
4940         * gdk/Makefile.am
4941         * gdk/x11/Makefile.am
4942         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
4943         (bug #5177).
4944         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
4945         out later.
4946
4947 2000-01-09  Tor Lillqvist  <tml@iki.fi>
4948
4949         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
4950         WM_MOVE for iconified or invisible windows. This fixes various
4951         problems when minimising windows. Thanks to Bernd Herd.
4952
4953 2000-01-05  Tor Lillqvist  <tml@iki.fi>
4954
4955         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
4956         backend's draw_lines method, not draw_points.
4957
4958 2000-01-02  Tor Lillqvist  <tml@iki.fi>
4959
4960         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
4961         before Owen's reorganisation: Don't have queued_events and
4962         queued_tail statics in this file, but use gdk_queued_events and
4963         gdk_queued_tail. This makes exposure event compression work again.
4964
4965         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
4966         seem to be needed?
4967
4968 1999-12-30  Tor Lillqvist  <tml@iki.fi>
4969
4970         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
4971         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
4972         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
4973         doesn't do anything.
4974
4975         * gdk/gdk.def: Add gdk_xid_table_insert.
4976
4977         * gdk/win32/gdkprivate-win32.h
4978         * gdk/win32/gdkevents-win32.c
4979         * gdk/win32/gdkinput-win32.c
4980         
4981         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
4982         extension_events field in the GdkWindowWin32Data struct. Use only
4983         the extension_events field in GdkWindowPrivate. Previously one was
4984         set, and the other one tested, which broke tablet
4985         functionality. Thanks to Keishi Suenaga for pointing this out.
4986
4987 1999-12-18  Tor Lillqvist  <tml@iki.fi>
4988
4989         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
4990         When handling a single character (text length == 1), don't handle
4991         it as if it was UTF-8.
4992
4993 1999-12-11  Tor Lillqvist  <tml@iki.fi>
4994
4995         * Makefile.am: Distribute README.win32.
4996         
4997         * gdk/Makefile.am
4998         * gdk/win32/Makefile.am: Distribute Win32 files.
4999
5000         * gdk/makefile.msc: New file.
5001
5002         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
5003         after label).
5004
5005         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
5006         gdk_error_code as GDKVAR, as they are referred outside GDK.
5007
5008         * gdk/win32/makefile.msc: Update.
5009
5010         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
5011         tweaks. Check only if at least one of those Unicode subrange bits
5012         we care for is set. If no code page bits are set, guess (wildly)
5013         based on the charset.
5014
5015         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
5016
5017         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
5018         non-NULL.
5019
5020         * gtk/gtkdnd.c
5021         * gtk/gtklayout.c
5022         * gtk/gtkplug.c
5023         * gtk/gtkselection.c
5024         * gtk/gtksocket.c
5025         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
5026         appropriate. There must be a cleaner way to handle this?
5027
5028         * gtk/gtkrc.c: Must include windows.h on Win32.
5029
5030         * gtk/testgtk.c: No need to include gdkx.h.
5031
5032         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
5033
5034 1999-12-07  Tor Lillqvist  <tml@iki.fi>
5035
5036         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
5037         the rbearing is set to the same as the width, but this should be
5038         fixed.
5039
5040 1999-12-06  Tor Lillqvist  <tml@iki.fi>
5041
5042         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
5043         function. If Windows doesn't tell us what Unicode subranges a font
5044         covers, guesstimate based on the codepages it covers. This will
5045         hopefully help those Windows versions or fonts that don't give us
5046         any useful Unicode subrange information with GetTextCharsetInfo.
5047         Call this function in gdk_font_load_internal.
5048
5049         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
5050         minor changes.
5051
5052 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
5053
5054         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
5055         New function, long needed.
5056
5057 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
5058
5059         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
5060         only_if_exists argument of gdk_atom_intern to
5061         bool.
5062
5063 1999-11-25  Tor Lillqvist  <tml@iki.fi>
5064
5065         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
5066         Fix two copy&paste errors.
5067
5068         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
5069         win32 has changed.
5070
5071         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
5072         GdkWin32SingleFont struct.
5073
5074         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
5075         subranges of loaded fonts. Clear font signature first, in case
5076         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
5077         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
5078
5079         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
5080         Unoffset clip region.
5081
5082 1999-11-23  Tor Lillqvist  <tml@iki.fi>
5083
5084         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
5085         event->any.window before calling filter functions.
5086
5087 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
5088
5089         * gtk/gtkgamma.h: Adapt cast macros to standard.
5090
5091 [ Merges from 1.2 ]
5092
5093 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
5094
5095         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
5096         If translation does not include a '/', use entire
5097         translation instead of crashing.
5098
5099 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
5100
5101         * docs/gtk_tut.sgml:
5102         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
5103
5104 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
5105
5106         * gtk/gtkselection.c (gtk_target_list_remove): Use
5107         g_list_remove_link, not g_list_remove.
5108
5109         [ From Geert Bevin <gbevin@thunderstorms.org> ]
5110         
5111 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
5112
5113         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
5114         statement upon unselection (how the heck did that slip in?).
5115
5116 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
5117
5118         * gtk/gtktext.c (gtk_text_freeze): 
5119         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
5120         in frozen state (and aparently crashes). patch provided by Anders
5121         Melchiorsen <and@kampsax.dtu.dk>.
5122
5123 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
5124
5125         * fix insensitive default/focus widget activation,
5126         reported by Matt Goodall <mgg@isotek.co.uk>.
5127
5128         * gtk/gtkwindow.c (gtk_window_key_press_event): 
5129         (gtk_window_activate_default):
5130         (gtk_window_activate_focus):
5131         return handled=FALSE for actiavtion of insensitive default
5132         widgets. return handled=TRUE for activation of insensitive
5133         focus widgets. don't activate in either case.
5134
5135 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
5136
5137         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
5138         and $glib_cflags to match library order and in the
5139         theory that an old version of GLib is more likely to
5140         be in the include directory for X then vice-versa.
5141         (Bug #2776)
5142
5143 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
5144
5145         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
5146         to determine the locale for fontsets, not LC_MESSAGES;
5147         the user may want English messages with a handling
5148         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
5149         will still be broken) (Bug #2891)
5150
5151 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
5152
5153         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
5154
5155 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
5156
5157         * gtk/gtkrc.ko: Changed the Korean default fontset.
5158
5159 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
5160
5161         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
5162         where when scrolling to the left or top double exposes
5163         were done, causing major slowdowns.
5164
5165 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
5166
5167         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
5168         names to lowercase and alphanumeric, before looking
5169         them up.
5170
5171         * gtk/Makefile.am: Install codeset variant gtkrc files
5172         with normalized names.
5173
5174 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
5175
5176         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
5177         popup menus when the menu is already visible, but its parent
5178         is still hidden, (happens after tornoff window got hidden).
5179
5180 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
5181
5182         * gtk/Makefile.am (install-data-local): Fix
5183         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
5184         deleted, causing error messages on install.
5185
5186 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
5187
5188         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
5189         the handle as well, since we now sometimes ignore
5190         exposes on the handle while resizing.
5191
5192 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
5193
5194         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
5195         extra g_free introduced in one of the last one or two 
5196         commits.
5197
5198 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
5199
5200         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
5201         consistent, put each style that a gtkrc.* file creates
5202         in a unique namespace, remove old files before installing.
5203
5204 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
5205
5206         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
5207         gtk_rc_init is called multiple times. (Yes, people who
5208         do that have bugs in their code.)
5209
5210 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
5211
5212         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
5213         Remove it since it's generated by the Makefile anyway
5214
5215 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
5216
5217         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
5218         device->info.axes for core pointer.
5219
5220 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
5221
5222         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
5223         idle_id, to deal with obsolete, broken C libraries.
5224
5225 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
5226
5227         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
5228         allocation->x/y twice!
5229
5230         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
5231         consistent with gtk_vscale_pos_trough().
5232
5233 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
5234
5235         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
5236         be queueing a resize on a toplevel container between
5237         the time we show it and when we map it. So, we need
5238         to test GTK_WIDGET_VISIBLE() for toplevels, and only
5239         use GTK_WIDGET_DRAWABLE() for child windows.
5240
5241 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
5242
5243         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
5244         (fixes bug #2144)
5245
5246 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
5247
5248         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
5249         container DRAWABLE (instead of VISIBLE), so we don't queue
5250         resizes on non-toplevel containers.
5251
5252 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
5253
5254         * gtk/gtkselection.[ch]: Make the data argument
5255         const guchar *.
5256
5257 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
5258
5259         * gtk/gtkwindow.c: Try to behave sensibly if 
5260         the focus widget is the window itself. (Should
5261         we allow this at all?)
5262
5263 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
5264
5265         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
5266         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
5267         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
5268         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
5269         in prototypes and implementations consistent (Tomas Ogren).
5270
5271         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
5272         before the widget is unparented (reported by damon).
5273
5274         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
5275         since we provide unsigned data anyways.
5276
5277 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
5278
5279         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
5280         the call to gtk_tooltips_layout_text() until later.
5281
5282         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
5283         Call gtk_widget_ensure_style() before using the style.
5284
5285 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
5286
5287         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
5288         for old widgets that don't propagate draws to all
5289         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
5290
5291 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
5292
5293         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
5294         for a redraw but just the widget that requested the resize.
5295
5296 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
5297
5298         * gtk/gtkcontainer.c: added new widget level method
5299         gtk_container_set_reallocate_redraws() and a GtkContainer flag
5300         reallocate_redraws : 1 to reflect the setting, exported this through
5301         the argument system as a boolean ::reallocate_redraws.
5302
5303         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
5304         on the widget because the allocation changes, do so as well for
5305         widget->parent if the parent has reallocate_redraws set to TRUE.
5306         with that containers requesting reallocation redraws get automatically
5307         redrawn if their children changed allocation (this unfortunately
5308         affects also other children that didn't change allocation, but we
5309         cannot work around that before 1.3).
5310
5311 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
5312
5313         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
5314         _and_ height are >0 (not _or_).
5315
5316         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
5317         instead of gtk_container_queue_resize(), which is a core gtk internal
5318         function (must have been on crack when i queued that).
5319
5320         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
5321         we can check more reliably if we want to discard expose events.
5322         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
5323         flag.
5324         
5325         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
5326         we simply trust these events. for deciding whether to discard exposes,
5327         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
5328         
5329 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
5330
5331         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
5332         queues of areas that are completely off screen.
5333
5334         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
5335         logic for handleboxes.
5336
5337         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
5338         check on width/height.
5339
5340 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
5341
5342         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
5343         we are fine with using $@ the way we do (if we actually encounter
5344         brokeness with $@ in VPATH builds because of additional path prefixes,
5345         we need to use $(@F) actually).
5346
5347 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
5348
5349         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
5350         short lived bugs, that would allow language bindings to do surgeries
5351         to our guts.
5352
5353 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
5354
5355         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
5356         where comparison was being done against an uninitialized
5357         value causing intermittant results depending on
5358         compiler flags. Also make it clearer that we aren't
5359         ever initializing the child as 0x0 (though this will
5360         be caught in gtk_widget_size_allocate())
5361
5362 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
5363
5364         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
5365         gtk_window_unset_transient_for() call after we do checks
5366         involving the old transient parent.
5367         [ From Lance Capser <lmc@cyberhighway.net> ]
5368
5369 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
5370
5371         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
5372         an empty file.
5373
5374 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
5375
5376         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
5377         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
5378
5379 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
5380
5381         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
5382         `$@' is valid only in the build dir, not after we've done 
5383         `cd $srcdir'.  Also use `test -f' instead of less portable
5384         `test -e'.
5385
5386 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
5387
5388         * gtk/gtktext.c (correct_cache_insert): Rewrite
5389          for simplicity, and hopefully correctness.
5390          (Fixes bug #1322, which was a segfault when
5391           on some insertions with the properties around
5392           the insertion set up just wrong.)
5393
5394         * gtk/gtktext.c (gtk_text_adjustment): When we receive
5395          a "changed" signal, clamp the new value to the adjustment
5396          bounds to avoid segfaulting if someone tries to change
5397          the adjustment to a bogus value. (Bug #1795)
5398
5399 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
5400
5401         * gtk/gtkmain.c: Ignore unexpected destroy notifies
5402         for children, for toplevel windows handle them
5403         like delete_event.
5404
5405         * gtk/gtkplug.c: Add an unrealize handler so that
5406         we unref plug->socket_window when we are done
5407         with it.
5408
5409 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
5410
5411         * gtk/gtktext.c (clear_area): Fix stupid signedness
5412          problem that was causing background to sometimes
5413          be misaligned.
5414
5415 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
5416
5417         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
5418         
5419         * gtk/gtkmenu.c (gtk_menu_position): Make
5420          sure we never position menus with negative x, y,
5421          since gtk_widget_set_uposition() can't handle that.
5422
5423         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
5424          Modify the positioning code a bit so that we always
5425          put the top-left corner onscreen. (This is for
5426          UI reasons, gtk_menu_position() now takes care of
5427          gtk_widet_set_uposition() brokeness.)
5428
5429 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
5430
5431         * gtk/Makefile.am: fixed up things for -jx, x > 1.
5432
5433 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
5434
5435         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
5436           RC style that is passed in. The lack of the ref
5437           before was a bug. If people worked around this
5438           bug, this will introduce a slight memory leak
5439           in their code. The code should typically look like:
5440
5441             rc_style = gtk_rc_style_new ();
5442             [...]
5443             gtk_widget_modify_style (widget, rc_style);
5444             gtk_rc_style_unref (rc_style);
5445
5446         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
5447           the style if it was already set.
5448
5449         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
5450           style if it was set before.
5451
5452 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
5453
5454         * gtk/testgtk.c (main): Add a check to see if we
5455           are being run from the correct directory and
5456           to quit nicely if we are not.
5457
5458         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
5459           static.
5460
5461 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
5462
5463         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
5464
5465         * gtk/gtkwindow.c:
5466         queue resizes unconditionally (gtk_widget_queue_resize will figure
5467         what to do if the window is not realized).
5468         (gtk_window_move_resize): only recenter the window
5469         for GTK_WIN_POS_CENTER_ALWAYS.
5470         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
5471         the same way as GTK_WIN_POS_CENTER.
5472
5473 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
5474
5475         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
5476         with (!(info->last_flags & GDK_HINT_POS)) instead of
5477         (!info->last_flags & GDK_HINT_POS).
5478
5479         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
5480         new_height unconditionally, because we use these values even if
5481         !default_size_changed && !hints_changed.
5482         comented the (default_size_changed || hints_changed) case with
5483         respect to resize rejects from the window manager.
5484
5485         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
5486         in the zvt condition hack, since this includes the window hints, set
5487         the hints after the handling_resize case.
5488
5489         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
5490         window is initially shown with to the geometry.
5491
5492 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
5493
5494         * gtk/gtkwindow.c (gtk_window_move_resize):
5495         s/size_changed/default_size_changed/g so i know what's
5496         really going on (frying brain on smaller flame now).
5497
5498 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
5499
5500         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
5501         we have size_changed upon handling_resize. this is a gross
5502         workaround for the broken zvt widget and should be removed in
5503         1.3 again (search for FIXME).
5504         Owen provided an accurate comment for this:
5505
5506         /* We could be here for two reasons
5507          *  1) We coincidentally got a resize while handling
5508          *     another resize.
5509          *  2) Our computation of size_changed was completely
5510          *     screwed up, probably because one of our children
5511          *     is broken. It's probably a zvt widget.
5512          *
5513          * For 1), we could just go ahead and ask for the
5514          * new size right now, but doing that for 2)
5515          * might well be fighting the user (and can even
5516          * trigger a loop). Since we really don't want to
5517          * do that, we requeue a resize in hopes that
5518          * by the time it gets handled, the child has seen
5519          * the light and is willing to go along with the
5520          * new size. (this happens for the zvt widget, since
5521          * the size_allocate() above will have stored the
5522          * requisition corresponding to the new size in the
5523          * zvt widget)
5524          *
5525          * This doesn't buy us anything for 1), but it shouldn't
5526          * hurt us too badly, since it is what would have
5527          * happened if we had gotten the configure event before
5528          * the new size had been set.
5529          */
5530
5531 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
5532
5533         * gtk/gtkrc.c: deal properly with the fact that RC
5534           style lists may include rc styles more than once.
5535
5536         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
5537           unused static function.
5538
5539         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
5540           stack of directories of RC files currently being
5541           parsed and implicitely add them to pixmap path.
5542           
5543           This fixes a bug where the directory would get
5544           appended then overwritten by pixmap_path declarations.
5545
5546           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
5547
5548         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
5549           theme's exit function. (Patch from Peter Wainwright,
5550           bug #1454)
5551
5552         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
5553           Add a destroy() handler to take care of removing
5554           group for menu item. (Fixes bug #1197)
5555
5556         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
5557           in warning message.
5558
5559 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
5560
5561         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
5562         roundtrip to figure window's width and height, since we know that
5563         anyways from widget->allocation.
5564
5565 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
5566
5567         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
5568           the hints after we request the new size.
5569
5570 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
5571
5572         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
5573           GTK_WIDGET_REALIZED() assertion - we can compute the
5574           hints before we are realized.
5575
5576         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
5577           hint changing so that we have a value of hints_changed
5578           when we decide whether to constrain the window size.
5579
5580         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
5581
5582         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
5583         change back to G_MAXINT.
5584
5585 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
5586
5587         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
5588         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
5589         contain uncluttered values.
5590         (gtk_window_compute_hints): simply assert that window is realized
5591         and that geometry_info is valid, since we rely on this anyways.
5592         (gtk_window_constrain_size): major cleanups to the code.
5593         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
5594         for the base size, instead of the minimums. use 32767 as max width
5595         and height (like in gtkwindow.c) instead of G_MAXINT.
5596
5597 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
5598
5599         * cleaned up the GtkContainer.need_resize flag handling mess, we
5600         only need to force resize requests when we were prematurely
5601         realized, or our widget tree was modified when we were temporarily
5602         hidden. handling these cases directly upon showing the window (i.e.
5603         while the GdkWindow is still unmapped) avoids the need to wait for
5604         a configure event response and therefore makes the GUI more snappier
5605         and avoids blank windows during the roundtrip.
5606
5607         * gtk/gtkwidget.c:
5608         (gtk_widget_hide): 
5609         (gtk_widget_show): don't queue resizes on toplevels, they know how
5610         to deal with matters.
5611
5612         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
5613         flag directly for not visible resize containers and spare us unecessary
5614         signal emissions.
5615
5616         * gtk/gtkwindow.c:
5617         (gtk_window_realize): if we need to enforce premature size allocation,
5618         queue a container resize so we are correctly resized later on.
5619         (gtk_window_init):
5620         (gtk_window_size_request):
5621         don't freak around with the ->need_resize flag,
5622         gtk_container_queue_resize() will care about that.
5623         (gtk_window_show):
5624         handle initial resizing issues here, we can handle matters better in
5625         this place, especially since we know that our GdkWindow is still
5626         unmapped.
5627         (gtk_window_move_resize):
5628         don't care about ->need_resize at all.
5629         handle size changes properly that occoured while we waited for a
5630         configure event.
5631
5632 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
5633
5634         * gtk/gtkwidget.c (gtk_widget_set_uposition):
5635         * gtk/gtkwindow.[hc] (gtk_window_reposition):
5636         Move the hint setting code from gtk_widget_set_uposition
5637         to here; set the hints so that we respect any previously
5638         set geometry hints.
5639
5640         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
5641         change the window hints here or move the window here,
5642         let that happen in gtk_window_move_resize().
5643
5644 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
5645
5646         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
5647         to already queued resizes (and therefore redraws) on a widget, check
5648         its anchestry as well.
5649
5650         * gtk/gtkcontainer.c:
5651         (gtk_container_queue_resize): clear resize widgets for resize
5652         containers before aborting prematurely. this is especially important
5653         for toplevels which may need imemdiate processing or their resize
5654         handler to be queued.
5655         (gtk_container_dequeue_resize_handler): added new internal function for
5656         gtkwindow.c.
5657
5658         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
5659         configure event, take possible changes in window position into account
5660         as well.
5661         if we request a new window size, queue up a resize handler that will
5662         last until the configure event response arrives.
5663         combined the ->need_resize case (initial show) with the general size
5664         (hints) changed case and added even more comments.
5665         if !auto_shrink, only revert to the old allocation if the new size
5666         is smaller than the current allocation.
5667
5668 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
5669
5670         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
5671                            gtk_window_set_geometry_hints
5672                            gtk_window_set_default_size):
5673         When hints are set, queue a resize so that the hints will
5674         be eventually reset on the toplevel.
5675
5676         * gtk/gtkwindow.c (gtk_window_show): Use
5677         gtk_window_compute_default_size(). Clear the need_resize flag
5678         on the initail map so that we don't unnecessarily trigger the
5679         resize code.
5680
5681         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
5682         into separate functions. Compare the hints we are setting
5683         with what we set last time so that we can accurately
5684         tell when we need to reset the hints.
5685
5686         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
5687         function to figure out the size from requisition
5688         and default_size.
5689
5690         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
5691         from fvwm to constrain a size to the geometry hints.
5692
5693         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
5694         to compare two sets of geometry hints.
5695
5696         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
5697         from gtk_window_set_hints(), just compute the hints,
5698         don't set them.
5699
5700         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
5701         code from gtk_window_move_resize() to separate function,
5702         rationalize a bit.
5703
5704 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
5705
5706         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
5707         structure into a new private structure.
5708
5709         * gtkrc.c: Split GtkRcStyle into public/private.
5710         In the private part, add a list of pointers to the
5711         RcStyle lists this RcStyle participates in.
5712
5713         * gtkrc.c: When a RcStyle is free, remove all
5714         lists referencing it from the 
5715         realized_style_ht hash, and free those lists.
5716         
5717         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
5718         gtk_rc_init(), since that adds the default styles
5719         to the list of parsed RC files again.
5720
5721         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
5722         
5723 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
5724
5725         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
5726         checks that ensure that a widget's allocation is at least 1 in width
5727         and height. (GNOME note: this doesn't affect old panel code anymore,
5728         because GtkSocket will request width and height of at least 1 since
5729         Fri Jul 23).
5730
5731         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
5732         allocated yet (happens if the user realizes the window prematurely),
5733         size request and allocate it.
5734         (gtk_window_size_allocate): guard against guint underflows.
5735
5736 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
5737
5738         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
5739         in gtk_built_sources, so gtk.defs gets built prior to all other
5740         sources.
5741
5742 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
5743
5744         * gtk/Makefile.am:
5745         invoke indent on gtkmarshal.*. 
5746         rewrote source generation rules, use COPYING as oldest source tag for
5747         a piggyback rule to generate all sources from (don't touch it ;).
5748         major cleanups, strip spaces on build rules for GNU Make.
5749
5750         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
5751         source and target files from commandline arguments. don't invoke indent.
5752
5753 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
5754
5755         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
5756         notebook after switch to avoid drawing problems.
5757         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
5758         
5759         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
5760         show them instead. 
5761         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
5762
5763 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
5764
5765         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
5766         notebook after switch to avoid drawing problems.
5767         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
5768         
5769         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
5770         show them instead. 
5771         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
5772
5773 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
5774
5775         * gtk/gtkwindow.c:
5776         we use window->need_resize from configure_event now, to indicate that
5777         the gtkwindow should keep its allocation (e.g. because the user resized
5778         the window through window manager handles). resize_count is now reliably
5779         used to figure whether we got the allocation we requested from the
5780         window manager.
5781         configure events get queued as resizes now, the real stuff (size
5782         computation and allocation) now only goes on in gtk_window_move_resize().
5783         GtkWindow's requisition now contains its *real* requisition (like all
5784         other widgets), *not* taking usize into account.
5785         geometry_info->last_{width|height} is now updated from set_hints() only
5786         so it always contains the last hints we set for the window manager.
5787         made some event handlers return TRUE instead of FALSE.
5788         the overall code should be much more straight forward now, and the
5789         significant code portions are accompanied by comments now.
5790         (gtk_window_set_hints):
5791         removed requisition argument and made it
5792         fetch the requisition through gtk_widget_get_child_requisition.
5793         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
5794         does that now.
5795         (gtk_window_show):
5796         ensure that the widget is realized before calling 
5797         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
5798         ensure that we got properly size requested and allocated before
5799         realization.
5800         (gtk_window_configure_event):
5801         ignore plain window moves, or reallocate the widget tree through the
5802         resize queue otherwise.
5803         (gtk_window_move_resize):
5804         mostly rewrote this function to figure window manager hints more
5805         reliably, coalesce window moves and resizes to reduce configure events
5806         and do actuall size allocations.
5807
5808 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
5809
5810         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
5811         that have a resize pending, because a redraw is already queued for them.
5812
5813         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
5814         hack to clear resize_widgets.
5815
5816         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
5817         for resize containers prior to size allocation. (this is also a bit
5818         ugly, but avoids side effects for stopped emissions and is thus more
5819         reliable).
5820         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
5821
5822         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
5823         function from gtk_tooltips_expose, as we connect to ::expose_event
5824         *and* ::draw now.
5825
5826 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
5827
5828         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
5829         checks.
5830         (gtk_target_list_unref): Likewise.
5831
5832         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
5833
5834 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
5835
5836         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
5837         guard against division by zero. (Fixes bug #1339)
5838
5839 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
5840
5841         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
5842         Prevent the trivial leak of information of allowing
5843         word motion when the entry is not visible.
5844
5845 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
5846
5847         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
5848         modality to error dialog as well as confirmation dialogs.
5849         (Bug #1803, reported by Rosanna Wing Sze Yuen)
5850
5851 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
5852
5853         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
5854         tree->view_lines.
5855         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
5856
5857         * gtk/Makefile.am (install-data-local): Solaris apparently
5858         has various troubles with ln -f; use rm first instead.
5859         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
5860
5861 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
5862
5863         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
5864         use `cp' followed by `rm' (the `rm' was already there).
5865
5866 July 30, 1999 Elliot Lee <sopwith@redhat.com>
5867         
5868         * configure.in: Fix autoconf warnings about cross compilation by
5869         trying to provide sane defaults for AC_TRY_RUN.
5870         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
5871         put them into $(srcdir) when generated. Also add a dependency of
5872         gtksignal.h on gtkmarshal.h for -j builds. 
5873         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
5874
5875 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
5876
5877         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
5878         GDK_THREADS_{LEAVE,ENTER} pair.
5879         (From Paul Fisher <pnfisher@redhat.com>)
5880
5881 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
5882
5883         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
5884         width and height are always >0 (owen).
5885
5886 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
5887
5888         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
5889         change that assured that a widget's allocated with and height are
5890         always >1, since this breaks *buggy* panel code. unfortunately this
5891         back-breaks the gimp's color selector.
5892
5893         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
5894         allocation is always >0 in width and height, before sending the
5895         configure event; this is a *gross* hack to get the gimp back to work.
5896         
5897         * marked both cases with TODO-1.3
5898
5899 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
5900
5901         * gtk/gtktext.c: Don't display wrap indicators when
5902         text is not editable and word wrap is on.
5903
5904 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
5905
5906         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
5907         option menus here as they are not derived from menu shell, assure that
5908         the option menu has a menu we can add items to.
5909
5910 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
5911
5912         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
5913         width/height to (gint) before calculations and check against < 0 to
5914         avoid guint wraparounds.
5915
5916 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
5917
5918         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
5919         width and height is never zero. sanity check both dimensions against
5920         32767 and issue a warning if the allocation is greater than that.
5921
5922 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
5923
5924         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
5925         to g_main_pending() as well.
5926
5927 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
5928
5929         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
5930         call to g_main_iteration() - since that will regrab
5931         GTK+ lock to process events.
5932
5933 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
5934
5935         * gtk/gtkwindow.c
5936         - Regularize with the rest of GTK+ by making widget->requisition
5937           not reflect the set_usize()
5938         - Always recompute geometry hints, then check if they
5939           changed before sending them to the X server. The
5940           previous checks for changes would fail in a number
5941           of circumstances. 
5942
5943 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
5944
5945         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
5946
5947 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
5948
5949         * gtk/gtkdnd.c:
5950         - Code cleanups
5951         - Instantaneously update on modifier key presses
5952         - Allow cancellation of the drag with Escape.
5953
5954 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
5955
5956         * gtk/testgtk.c (create_handle_box): Set the policy
5957         to auto_shrink - otherwise the appearance is rather
5958         strange when flipping between horizontal and vertical.
5959
5960 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
5961
5962         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
5963         (gtk_window_set_default_size): don't change a value if it's < 0.
5964         queue a resize.
5965
5966 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
5967
5968         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
5969
5970 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
5971
5972         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
5973         add an extra "/" when concating "/" + filename.
5974         (From Matt Grossman <mattg@oz.net>)
5975
5976 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
5977
5978         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
5979         for fg_gc if we set it for drawing pixmap.
5980
5981 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
5982
5983         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
5984         
5985         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
5986         already set, call old engine's destroy function and
5987         unref the old engine.
5988
5989 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
5990
5991         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
5992
5993 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
5994
5995         * gtk/gtkaccelgroup.h: mark certain functions as internal.
5996
5997 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
5998
5999         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
6000         expand behaviour changed.
6001
6002         * gtk/gtklabel.c (gtk_label_set_pattern):
6003         (gtk_label_set_justify):
6004         (gtk_label_set_line_wrap):
6005         don't bother invoking queue_clear, the reallocation does
6006         that for us, always free_words so the upcoming resize will
6007         relayout the label's contents.
6008
6009 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
6010
6011         * applied argument implementation patches from Elena Devdariani
6012         <elena@cogent.ca>.
6013
6014         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
6015         ::space_style, ::relief
6016         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
6017         * gtk/gtkpreview.c: ::expand
6018         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
6019         * gtk/gtknotebook.c: ::homogeneous
6020         * gtk/gtklabel.c: ::wrap
6021         * gtk/gtklist.c: ::selection_mode
6022         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
6023         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
6024         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
6025         * gtk/gtkclist.c: ::sort_type
6026         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
6027         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
6028
6029 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
6030
6031         * gtk/gtkstyle.c: Removed ill-thought-out part of last
6032         comment.
6033
6034 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
6035
6036         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
6037         counting right when we have to attach a new style
6038         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
6039
6040         * gtk/gtkstyle.c: Documented the refcounting
6041         peculularities of gtk_style_attach.
6042
6043 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
6044
6045         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
6046         window types.
6047
6048         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
6049         of GTK_TOPLEVEL for creating the window.
6050
6051 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
6052
6053         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
6054         the last argument (reported by Per Winkvist).
6055         
6056 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
6057
6058         Fixes for invisible XOR lines (Frank Loemker
6059         <floemker@TechFak.Uni-Bielefeld.DE>)
6060         
6061         * gtk/gtkclist.c (gtk_clist_realize): Always use
6062         a non-zero pixel for GDK_XOR.
6063
6064         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
6065         Use GDK_INVERT instead of GDK_XOR.
6066
6067 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
6068
6069         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
6070         signals if h/voffsets differ from adjustment values.
6071         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
6072
6073 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
6074
6075         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
6076         ::selection-done emissions up to the topmost menu shell.
6077
6078 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
6079
6080         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
6081         the user data on the window before destroying it.
6082
6083         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
6084         unrealize handler to take care of destroying 
6085         notebook->panel properly. 
6086         (Bug #1198 - Morten Welinder <terra@diku.dk>)
6087
6088         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
6089         of g_new and g_realloc to stop memory leak. (Actually,
6090         we could just use g_realloc(), but I'm not 100% sure
6091         that is portable).
6092         (Bug #1196 - Morten Welinder <terra@diku.dk>)
6093
6094 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
6095
6096         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
6097
6098         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
6099         for fontsets.
6100
6101         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
6102         with bin/button confusion.
6103
6104 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
6105
6106         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
6107         and show how preselection of radio items is done.
6108
6109 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
6110
6111         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
6112         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
6113         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
6114         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
6115         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
6116         * gtk/gtktable.c (gtk_table_attach): 
6117         * gtk/gtklist.c (gtk_list_insert_items): 
6118         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
6119         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
6120         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
6121         * gtk/gtkbin.c (gtk_bin_add): 
6122         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
6123         * gtk/gtkfixed.c (gtk_fixed_put): 
6124         * gtk/gtklayout.c (gtk_layout_put):
6125         general fixups to container_add logic. always realize child if
6126         child->parent is realized, only map the child and queue a resize
6127         if child and child->parent are both visible.
6128
6129 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
6130
6131         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
6132         instead of gtk_container_foreach to walk and unrealize children, so
6133         composite children get also unrealized.
6134         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
6135         (gtk_widget_map): assert that the widget is visible (basic constrain).
6136         (gtk_widget_real_map): assert that the widget is realized (basic
6137         constrain).
6138
6139 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
6140
6141         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
6142
6143 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
6144
6145         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
6146         file for iso-8859-2 locales.
6147
6148         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
6149
6150 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
6151
6152         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
6153          (Pointed out by andy@rz.uni-karlsruhe.de and others).
6154          Remove some suspicious and useless lines. 
6155
6156 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
6157
6158         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
6159         width,height = 0, 0 to mean - here to edge of window,
6160         instead of -1, -1, since the former is all we support.
6161
6162 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
6163
6164         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
6165         when removing from quit_functions list.
6166
6167 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
6168
6169         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
6170
6171 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
6172
6173         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
6174          When redrawing characters on non-visible entry, use appropriate
6175          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
6176
6177 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
6178
6179         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
6180         from drag coordinates.
6181         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
6182         use drag_dest_cell.
6183
6184         * gtk/gtktree (drag_dest_cell)
6185         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
6186         (Bug #1129)
6187
6188 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
6189
6190         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
6191         translate_* fields.
6192         (gtk_item_factory_finalize): invoke translate_notify independant from
6193         translate_data.
6194         (gtk_item_factory_set_translate_func): likewise.
6195         (gtk_item_factory_destroy): only remove ifactory pointer from those
6196         widgets that belong to us (stupid me).
6197
6198 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
6199
6200         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
6201         rc_style list when lookup succeeeds.
6202
6203 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
6204
6205         * gtk/gtkctree.c (resync_selection): 
6206         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
6207         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
6208         bug.
6209
6210 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
6211
6212         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
6213         Add some missing GDK_THREADS_ENTER()/LEAVE around
6214         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
6215
6216 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
6217
6218         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
6219         rather than emit_by_name.
6220
6221         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
6222         on the widget across multiple signal emissions.
6223         (gtk_editable_delete_text): same here.
6224         (gtk_editable_class_init): set widget_class->activate_signal after
6225         editable_signals[ACTIVATE] has been created.
6226
6227 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
6228
6229         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
6230         position here prematurely -- we might not have the
6231         right ->min_position and ->max_position yet.
6232
6233 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
6234
6235         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
6236         Add error traps so if the other end of the connection
6237         dies, we survive.
6238
6239         * gtk/gtkselection.c (gtk_selection_notify): Clean
6240         up properly when selection property retrieval fails.
6241         
6242         * gtk/gtkselection.c (gtk_selection_request): Correctly
6243         reject SelectionRequest notifies where the handler
6244         returns no data.
6245
6246 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
6247
6248         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
6249         when we've previously highlighted.
6250
6251         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
6252         emit two "drag_leave" signals for Motif drops.
6253
6254         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
6255         back the correct status messages when dropping from
6256         Motif onto a proxy window that is rejecting the
6257         drop.
6258
6259 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
6260
6261         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
6262         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
6263         to compare two argument values. added gtk_arg_to_valueloc() to set a
6264         variable from an arg through its location (pointer).
6265
6266         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
6267         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
6268         as gfloat*, uchars are collected as guchar*, ints are collected as
6269         gint*, etc...
6270
6271 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
6272
6273         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
6274         Include <string.h> instead of <strings.h>.
6275
6276         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
6277         (actually, a lot more duplicate includes occur if
6278          you trace through the sequence of #include's)
6279         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
6280         
6281 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
6282
6283         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
6284         gtk-a-higuti-990322-[0-3]
6285
6286         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
6287         that was causing -DX_LOCALE not to work.
6288
6289         * gtk/gtkrc.c (gtk_rc_init):
6290         X_LOCALE will never have LC_MESSAGES defined
6291
6292 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
6293
6294         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
6295         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
6296
6297         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
6298         left/right as well (gtk-michael-980726-0.patch.gz).
6299
6300         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
6301         for pointer values, use gchar instead of char. fixed uline allocation
6302         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
6303         chunks instead of G_ALLOC_ONLY.
6304         (gtk_label_size_request): always alter requisition as passed and leave
6305         widget->requisition alone.
6306         (gtk_label_set_text): allow NULL strings.
6307         (gtk_label_new): likewise.
6308
6309 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
6310
6311         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
6312
6313 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
6314
6315         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
6316         *and* mapped (i.e. drawable).
6317         (gtk_bin_expose): only send exposes to drawable children.
6318
6319         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
6320         (gtk_box_expose): only send exposes to drawable children.
6321
6322         * gtk/gtkhscale.c (gtk_hscale_draw): 
6323         * gtk/gtkvscale.c (gtk_vscale_draw):
6324         hm, this is an ugly one. we first compute the size of our trough area
6325         here (window relative) and then check intersection with the draw_area
6326         which is parent relative because we're a NO_WINDOW widget, so we need
6327         to offset the trough area by allocation.x and allocation.y before the
6328         check. (this must not be done for the background area though, since
6329         that's already computed parent relative).
6330
6331 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
6332
6333         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
6334         unrealize title buttons.
6335
6336 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
6337
6338         * gtk/gtkclist.c (gtk_clist_column_title_passive)
6339         (gtk_clist_column_title_active): 
6340         only connect/disconnect to GtkWidgetClass::event to block mouse events.
6341
6342         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
6343         zero initialize event, removed superfluous gdk_window_get_pointer call
6344
6345         * gtk/gtklist.c (gtk_list_vertical_timeout)
6346         (gtk_list_horizontal_timeout): removed superfluous
6347         gdk_window_get_pointer call
6348
6349 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
6350
6351         * plugging problems reported by "Bruce Mitchener, Jr."
6352         <bruce@puremagic.com> due to a purify session.
6353
6354         * gtk/gtkstyle.c:
6355         (gtk_style_ref): 
6356         (gtk_style_unref): assert ref_count to be > 0.
6357
6358         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
6359         the requisition.
6360         (gtk_clist_set_shift): likewise.
6361
6362         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
6363         adjustments.
6364
6365         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
6366         event before sending it and set send_event to TRUE (which needs to
6367         be done for *all* synthesized events).
6368         (gtk_list_vertical_timeout): likewise.
6369
6370         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
6371         leaks.
6372
6373         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
6374         to TRUE when synthesizing events.
6375
6376 [ *** end of merges from 1.2 *** ]      
6377         
6378 1999-11-21  Tor Lillqvist  <tml@iki.fi>
6379
6380         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
6381         (or copied from gdkconfig.h.win32 on Win32, sigh).
6382
6383         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
6384
6385         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
6386
6387         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
6388
6389         * gdk/gdkconfig.h.win32: New file.
6390
6391         * gdk/win32/makefile.cygwin: Build just a static archive here.
6392
6393         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
6394         for the DLL from the static archive built above.
6395
6396         * gdk/gdk.def: Moved here from the win32 subdirectory.
6397
6398         * gdk/win32/*: Adapt for the changed private struct organisation.
6399
6400         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
6401
6402 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
6403
6404         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
6405         for wheel mice (buttons 4 and 5).
6406
6407 1999-11-18  Tor Lillqvist  <tml@iki.fi>
6408
6409         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
6410         drawables use just the pixel field in the foreground and
6411         background GdkColor of the GdkGC.
6412
6413         gdk_gc_set_{fore,back}ground() are called in the GIMP with
6414         GdkColors containing uninitialized (red,green,blue) fields, and
6415         just the pixel field filled in, and furthermore in the
6416         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
6417         It thus turns out that we really don't need to have the full
6418         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
6419         it later to have just the pixel values.
6420
6421 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6422
6423         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
6424
6425 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
6426
6427         * docs/gtkfaq.sgml: threads example from Erik Mouw.
6428         New question on GtkLabel background colors.
6429
6430         * docs/gtk_tut.sgml:
6431           - Correct the example code callback
6432             function definitions.
6433           - Update the gtkdial example code, from Frans van Schaik.
6434           - Update setselection.c to current API.
6435
6436         * examples/Makefile examples/*/*.c: Update to code
6437         listed in tutorial.
6438
6439 1999-11-10  Tor Lillqvist  <tml@iki.fi>
6440
6441         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
6442         subrange table (from the "Developing International Software for
6443         WIndows 95 and Windows NT" book) was missing the Hangul syllable
6444         block... Get the loaded font's charset correctly.
6445
6446         (Note that this, and the other *-win32.c files, still really are
6447         the old ones, the win32 subdirectory is not ready for compilation
6448         yet after the reorg.)
6449
6450 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
6451
6452         * gtk/gtkclist.c: Fix off-by-one bug in parameter
6453         check.
6454
6455 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
6456
6457         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
6458         on results of XQueryDeviceState().
6459
6460 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
6461
6462         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
6463         we need to accesss only ->children. We need an accessor
6464         for the children.
6465
6466         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
6467         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
6468         to get rid of gdkx.h include.
6469         
6470         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
6471         and random references to 'None'.
6472
6473         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
6474         Get rid of unused #include <gdk/gdkx.h>
6475
6476         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
6477         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
6478         gdkconfig.h.
6479
6480 1999-11-08  Tor Lillqvist  <tml@iki.fi>
6481
6482         * gdk/win32/gdkdraw.c
6483         * gdk/win32/gdkfont.c
6484         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
6485         following yesterday's changes. (Unrelated to Owen's reorg.)
6486
6487 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
6488
6489         * gdk/x11/gdkinput-gxi.c: Add missing include,
6490           fix GdkWindowPrivate => GdkDrawablePrivate.
6491
6492         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
6493
6494         * gdk/x11/Makefile.am (xinput_sources): Add missing
6495         backslash to fix building with --with-xinput=none
6496
6497 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
6498
6499         Move all X specific code into the x11/ directory.
6500         Aside from shuffling things around, did the following:
6501
6502        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
6503          gdk_arg_context_* - a simple argument parsing system
6504          in the style of popt.
6505
6506        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
6507          gdk/x11/gdkprivate-x11.h:
6508          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
6509          add ->klass and ->klass_data fields. The klass_data
6510          field points to an auxilliary structure that is
6511          windowing system dependent.
6512
6513        * gdk/gdkfont.c: Make most of the measurement functions
6514          simply wrappers around gdk_text_extents().
6515
6516        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
6517          _gdk_font_strlen() function that hides the weird
6518          behavior in gtk+-1.[02] where a string is interpreted
6519          differently for 8-bit and 16-bit fonts.
6520
6521        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
6522          to store common code for synthesizing double/triple
6523          press events.
6524         
6525        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
6526          Make all the function that modify an existing GC
6527          simply wrappers around gdk_gc_set_values().
6528          
6529        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
6530          for throwing out later.
6531
6532        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
6533          GdkImagePrivate and GdkColormapPrivate to have a
6534          windowing system dependent part (GdkFontPrivateX etc.)
6535          that "derives" from the system-independent part.
6536
6537        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
6538          Got rid of the included-source-files for XInput in
6539          favor of automake conditionals. (Which didn't exist
6540          when XInput support was originally added.)
6541
6542        * gdk/gdkrgb.c: Remove the visual id from the debugging
6543          statements since that is X11 specific; print out
6544          type/depth info instead.
6545          
6546
6547 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
6548
6549         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
6550         loading duplicates of hashed fonts.
6551
6552         * gdk/gdk.c (gdk_keysym_convert_case): rename
6553         gdk_XConvertCase to gdk_keysym_convert_case, allow
6554         results to be NULL in the GTK+ style.
6555
6556         * gdk/gdkcompat.h: Started compatibility header
6557         for renames.
6558
6559 1999-11-07  Tor Lillqvist  <tml@iki.fi>
6560
6561         * gdk/win32/gdkprivate.h: New font private structures, related to
6562         fontsets.
6563
6564         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
6565         gdk_font_list_free(). On X11, will just be wrappers to
6566         XListFonts() and XFreeFontNames(). On Win32, the code previously
6567         in gtkfontsel.c is now here.
6568
6569         New function gdk_font_xlfd_create(). On X11 will get the FONT
6570         property of the font (for GDK_FONT_FONTs), or call
6571         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
6572         builds a XLFD style name from the font information in the LOGFONT
6573         struct(s).
6574
6575         New function gdk_font_xlfd_free(), which correspondingly frees the
6576         string returned by gdk_font_xlfd_create().
6577
6578         Implement fontsets on Win32. Add a function that iterates over a
6579         wide char string and calls a callback function for each substring
6580         of wide chars from the same Unicode subrange (and thus probably
6581         available in the same real font).
6582
6583         Improve the XLFD emulation a bit.
6584
6585         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
6586
6587         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
6588         Beta3, WM_IME_CHAR messages don't seem to contain the composed
6589         multi-byte char as with the Active IMM on Win9x. Oh well, handle
6590         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
6591         ImmGetCompositionStringW() to get the composed Unicode chars.
6592
6593         * gdk/win32/gdkgc.c
6594         * gdk/win32/gdkdraw.c: Changes needed because of the font private
6595         struct changes.
6596
6597         * gdk/win32/gdk.def: Add the new functions.
6598
6599 1999-11-04  Tor Lillqvist  <tml@iki.fi>
6600
6601         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
6602         get the Platform SDK to get <dimm.h>.
6603
6604         * gdk/win32/gdkevents.c: More event handling fixes and
6605         simplification. Never generate motion events with is_hint true. We
6606         used to do that on bogus grounds earlier. Windows sends
6607         WM_MOUSEMOVE messages on button events even if the mouse hasn't
6608         moved, ignore these.
6609
6610         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
6611
6612         * gdk/win32/gdkglobals.c
6613         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
6614         the TrackMouseEvent function, and use it.
6615
6616         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
6617         char before calling WideCharToMultiByte in order to get a string
6618         for the window title.
6619
6620         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
6621
6622         * gdk/win32/gdk.def: Remove obsolete functions.
6623
6624         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
6625         /nodefaultlib and /defaultlib switches.
6626
6627         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
6628
6629 1999-10-31  Tor Lillqvist  <tml@iki.fi>
6630
6631         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
6632         EuroSign).
6633
6634         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
6635         same type as GdkWChar, especially on Win32.
6636
6637         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
6638
6639         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
6640         before passing to Windows GDI for drawing etc. Convert to the
6641         system default codepage before passing to Windows as window
6642         titles.
6643
6644         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
6645         support changing input locale on the fly.
6646
6647         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
6648         on-the-fly changes. Convert incoming characters from the current
6649         codepage to Unicode (and then to a UTF-8 multi-byte string) based
6650         on the current input language. Use keysym<->Unicode mapping tables
6651         and functions borrowed from xterm sources.
6652
6653         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
6654         editions of Win9x, use the ActiveX-based Active IMM (Input Method
6655         Manager) if available. IMEs and the Active IMM are available under
6656         the disguise of Chinese, Korean and Japanese support for IE and
6657         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
6658         support is present in all editions (as long as you install it).
6659
6660         Call DispatchMessage from gdk_events_queue() (and thus
6661         gdk_WindowProc()), instead of duplicating the code in
6662         gdk_WindowProc().
6663
6664         Reworked the grab handling and propagation code, factored out
6665         duplicated code snippets into separate functions. Other cleanups,
6666         too.
6667
6668         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
6669         the <dimm.h> header describing the Active IMM.
6670
6671         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
6672         just do the same as for "single" fonts.
6673
6674         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
6675         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
6676         the new keysyms from gdkkeysyms.h.
6677
6678         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
6679         fontset, so that gtkentry uses wide characters.
6680
6681         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
6682         GTk+'s system directory "gtk+", not "gtk".
6683
6684 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
6685
6686         * docs/gtkfaq.sgml: FAQ update
6687
6688 1999-10-21  Tor Lillqvist  <tml@iki.fi>
6689
6690         * gdk/win32/gdkprivate.h: Add more font private data.
6691
6692         * gdk/win32/gdkfont.c
6693         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
6694         fonts and strings. Now works much better. You still have to
6695         have a correct font selected, though. No fontset emulation yet.
6696
6697 1999-10-19  Tor Lillqvist  <tml@iki.fi>
6698
6699         * gtk/maketypes.awk: Use G_OS_WIN32.
6700
6701         * gtk/gtk.def: Add some missing entry points. Also some non-public
6702         ones, but PyGTK porter claims to need them.
6703
6704         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
6705         built-in type generation.
6706
6707 1999-10-14  Tor Lillqvist  <tml@iki.fi>
6708
6709         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
6710         GDK_FONT_FONT fonts (which is all we have for now, we don't
6711         emulate fontsets). The X11 version uses plain XDrawString in that
6712         case, too. The string passed to gdk_draw_text_wc seems to be in
6713         fact (at least, when used by gtkentry and gtktext) either in a
6714         single-byte charset, or a DBCS. Not Unicode.
6715
6716         This fixes the problem in gtkfontsel, where even if you had
6717         selected a font with a non-Latin1 charset (windows-greek, for
6718         instance), the preview still used Latin-1 glyphs.
6719
6720         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
6721         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
6722         (gdk_font_load): Recognize the demibold etc weights, even if we
6723         don't have the corresponding constants in the headers.
6724         (gdk_font_hash_insert): Use same hash mechanism as in the X11
6725         version. Should save font resources a bit, when we don't have
6726         multiple HFONTs for the same font.
6727
6728         * gdk/win32/gdkprivate.h: Add the names field as in the X11
6729         version.
6730
6731 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
6732
6733         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
6734         X values
6735
6736 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
6737
6738         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
6739         layout support (as mentioned on
6740         http://www.jcinteractive.com/gnome-ui/software/widgets/)
6741
6742 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
6743
6744         * gtk/fnmatch.c
6745         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
6746
6747 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
6748
6749         * configure.in (ALL_LINGUAS): Added Galician (gl)
6750
6751 1999-10-05  Tor Lillqvist  <tml@iki.fi>
6752
6753         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
6754
6755         * gdk/win32/gdkcompat.c: New file, actually provide an
6756         implementation for the deprecated functions. (Just temporarily.)
6757
6758         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
6759
6760         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
6761
6762         * gdk/win32/gdk.def gtk/gtk.def: Updates.
6763
6764 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
6765
6766         * configure.in: Added "uk" to ALL_LINGUAS.
6767         
6768 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
6769
6770         * configure.in: correct checking for BeOS check
6771
6772         * gdk/gdktypes.h
6773         * gtk/fnmatch.c
6774         * gtk/gtkfilesel.c
6775         * gtk/gtkitemfactory.c
6776         * gtk/gtkmain.[ch]
6777         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
6778
6779 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
6780
6781         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
6782         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
6783         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
6784         by Bulgarian). 
6785
6786 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
6787
6788         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
6789         Fix a reference to window_private->destroyed.   
6790
6791         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
6792         (ugly) setting of an internal GdkWindow member to use
6793         a _slightly_ cleaner macro.
6794
6795         * gdk/gdkprivate.h: Split GdkWindowPrivate into
6796         GdkDrawablePrivate and GdkWindowPrivate.
6797         Add extra macros for accessing GDK_DRAWABLE_ components.
6798
6799         * *.[ch]: Massive adjustments for the above, use the
6800         new macros in a lot of places.
6801
6802 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
6803
6804         * gdk/gdktypes.h: Make GdkDrawable the base type,
6805         not GdkWindow.
6806
6807 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
6808
6809         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
6810
6811 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
6812
6813         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
6814
6815 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
6816
6817         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
6818         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
6819
6820         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
6821
6822         * docs/gtk-config.1: Now autogenerated.
6823         * docs/Changes-1.4.txt: started
6824         
6825 1999-10-03  Tor Lillqvist  <tml@iki.fi>
6826
6827         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
6828         to #ifdef also here.
6829
6830         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
6831         Owen did to the X11 backend.
6832
6833         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
6834         ScrollWindowEx when blitting inside a window, it can't be correct
6835         in the general case.
6836
6837         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
6838         WM_GETMINMAXINFO is easier.
6839
6840         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
6841         depth equal to the bitspixel value, not the visual's depth.
6842
6843         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
6844         to 24 even if the bitspixel value is 32.
6845
6846         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
6847         need to check for depth==32 when bpp==32, depth will always be 24.
6848
6849 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
6850
6851         * docs/Changes-1.4.txt: Started
6852         
6853         * gtk/Makefile.am (gdk_headers): Include all the new headers.
6854
6855         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
6856         
6857         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
6858         into C file.
6859         
6860         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
6861         header to gdkinputprivate.h.
6862
6863         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
6864         unused since before 1.2.
6865
6866 1999-09-30  Tor Lillqvist  <tml@iki.fi>
6867
6868         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
6869         expand possible hex escapes in the font family (put there by
6870         logfont_to_xlfd if the font name isn't a legal XLFD font family,
6871         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
6872         On Win32, add hex escapes here, too.
6873
6874 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
6875
6876         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
6877         to #ifdef GDK_WINDOWING_X11.
6878
6879 [ Merges from gtk-1-2 ]
6880
6881 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
6882
6883         * configure.in: fixed "GNU Make" check to pass with new make version
6884         3.77.95.
6885
6886 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
6887
6888         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
6889         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
6890         AM_PATH_GTK() macros don't get confused by the -pre1.
6891
6892 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
6893
6894         * configure.in (REBUILD): Change check for perl5
6895           to check explicitely for v >= 5.002. (5.001
6896           does not work with our scripts.)
6897
6898 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
6899
6900         * configure.in: evaluate $PERL for the perl version check. added
6901         --disable-rebuilds to give the user an option to completely disable
6902         any source autogeneration rules.
6903
6904 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
6905
6906         * configure.in: evaluate $ac_make when checking for GNU Make.
6907
6908 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
6909
6910         * docs/Makefile.am: added generation.txt.
6911
6912         * Makefile.am: require automake 1.4, build README from README.in and
6913         INSTALL from INSTALL.in in dist-hook.
6914         
6915         * README.in:
6916         * INSTALL.in: new files to autogenerate README and INSTALL from.
6917
6918         * configure.in: figure whether we have GNU Make
6919
6920         * docs/generation.txt: minor additions/corrections.
6921
6922 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
6923
6924         * docs/gtkfaq.sgml: FAQ Update
6925
6926 July 30, 1999 Elliot Lee <sopwith@redhat.com>
6927         
6928         * configure.in: Fix autoconf warnings about cross compilation by
6929         trying to provide sane defaults for AC_TRY_RUN.
6930
6931 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
6932
6933         * ltconfig
6934         * ltmain.sh: upgrade to libtool 1.3.3
6935
6936 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
6937
6938         * INSTALL: Indicate that the --with-glib= configure
6939         time flag is unsupported.
6940
6941 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
6942
6943         * docs/generation.txt: Added a file that gives
6944         documenation about the autogeneration process for
6945         various autogenerated files.
6946         
6947 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
6948
6949         * configure.in (LIBS): Look for libgmodule in the
6950         right location.
6951
6952 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
6953
6954         * docs/gtk_tut.sgml: Removed references to
6955         code examples in my directory on gtk.org as
6956         they should all be in the tutorial now.
6957
6958         * docs/gtk_tut.sgml: Added sources for dial-test
6959         and scribble-xinput programs that were previously
6960         missing.
6961
6962 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
6963
6964         * TODO: Added entry about menu keyboard navigation, removed
6965         some finished items.
6966
6967 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
6968
6969         * acinclude.m4: Standardize on func_dgettext
6970         not func_gettext, so that the checks for dgettext
6971         actually are paid attention to.
6972
6973 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
6974
6975         * configure.in (LIBS): Add $INTLLIBS into $LIBS
6976         directly, rather than repeating the checks for
6977         gettext.
6978
6979         * INSTALL: Added information about gettext and
6980         NLS support.
6981
6982         * acinclude.m4 (LIBM): Check for dgettext, not
6983         just gettext. This should hopefully fix things wrt
6984         systems with old versions of GNU gettext installed.
6985
6986 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
6987
6988         * configure.in (LIBS): Look for libgmodule in the
6989         right location.
6990
6991 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
6992
6993         * autogen.sh: add --enable-maintainer-mode
6994
6995         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
6996
6997 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
6998
6999         * docs/gtk-config.1.in:
7000           docs/Makefile.am:
7001           configure.in: gtk-config is now generated.
7002
7003         * docs/gtk-config.1: Removed, now generated.
7004
7005 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
7006
7007         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
7008         handle CreateNotify itself, still put out a debuging message for
7009         --gdk-debug=events. made the ReparentNotify debugging message more
7010         verbose.
7011         wrap xcoords translation for ConfigureEvents into an error trap,
7012         a destroy event may already be pending, and in that case, the
7013         actuall coordinate values are not at all critical.
7014
7015 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
7016
7017         * gdk/gdkcc.c: Stop leaking the color_hash all over
7018         the place. Simplify and improve the logic.
7019
7020 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
7021
7022         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
7023         for prototypes and function implementations consistent (reported
7024         by Tomas Ogren).
7025
7026 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
7027
7028         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
7029         send_event set in debugging output.
7030         (gdk_compress_exposures): default initialize the event so we don't
7031         operate on bogus values (namely send_event).
7032
7033 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
7034
7035         * gdk/gdkwindow.c: When we receive an unexpected
7036         destroy notify on one of our windows, don't just
7037         warn about it, also mark our windows as destroyed.
7038
7039 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
7040
7041         * gdk/gdkfont.c (gdk_font_hash_insert): Add
7042           name => font and name => fontset hashes. The 
7043           name => fontset hash is a _big_ win since we
7044           weren't previously caching fontsets at all and loading
7045           fontsets is expensive. The name => font hash
7046           is less of a win, but it does save us from doing
7047           repeated XQueryFont calls on the same font.
7048
7049         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
7050           list so we can remove font/fontset from hash.
7051
7052 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
7053
7054         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
7055           and slightly confusing test. [ XInternAtom (,,TRUE)
7056           will never return None ].
7057
7058 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
7059
7060         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
7061           gdk/gdkwindow.c (gdk_window_set_hints):
7062
7063         Don't omit setting the properties if flags == 0 -
7064         there may be an existing set of properties there
7065         already. (Very old bug. Would it be better to
7066         delete the property instead?)
7067
7068         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
7069           spelling error in comment.
7070
7071 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
7072
7073         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
7074           to avoid stomping over gdk_error_warnings.
7075
7076         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
7077           as (bits_per_pixel + 7) / 8. This gives the same
7078           result as before for multiples of 8, but actually
7079           a "reasonable" value for 1bit or 4bit displays.
7080
7081 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
7082
7083         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
7084         GNU Make.
7085
7086 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
7087
7088         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
7089         discarding configure events.
7090
7091 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
7092
7093         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
7094         refcount is greater than zero.
7095
7096         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
7097
7098         * gdk/gdkfont.c (gdk_font_unref): Likewise.
7099
7100         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
7101
7102         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
7103
7104 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
7105
7106         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
7107         that format 32 => sizeof(item) == 4. It really is
7108         sizeof(long).
7109
7110 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
7111
7112         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
7113         core dump at all on X IO errors, only core dump
7114         if --enable-debug for X errors.
7115
7116 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
7117
7118         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
7119         unknown window:" message. disabled ConfigureNotify discarding code,
7120         because it led to events being processed out of order.
7121
7122 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
7123
7124         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
7125
7126         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
7127         we export this function, supress error warnings and don't reset the
7128         error code in the first half of this function.
7129
7130         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
7131         code (instead of just -1) so gdk_error_trap_pop() reveals something
7132         actually informative about the error that happened.
7133
7134         * gdk/*.c:
7135         don't rely on gdk_error_code being -1 if an error occoured, but just
7136         gdk_error_code != 0.
7137
7138 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
7139
7140         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
7141         pointer *before* invoking the filter function, so we at least don't
7142         crash if a filter is removed that is currently executed. window filters
7143         *really* need to be made truely reentrant at some point.
7144
7145 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
7146
7147         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
7148         PropertyNotify debug messages.
7149
7150 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
7151         
7152         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
7153         
7154         * gdk/gdkim.c: Fix cut-and-paste errors for 
7155         x/y and PreeditAttributes/StatusAttributes.
7156
7157 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
7158
7159         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
7160         G_MAXINT to 2^16 to alleviate overflow problems in
7161         various window managers.
7162
7163 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
7164
7165         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
7166         for fontsets.
7167
7168 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
7169
7170         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
7171         Initialize size_hints.x and size_hints.y because kwm
7172         brokenly pays attention to them.
7173         (Bug #1181 -  Lars Heete <hel@admin.de>)
7174
7175 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
7176
7177         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
7178         return value of gdk_list_visuals(). 
7179         (Bug #1193 - Morten Welinder <terra@diku.dk>)
7180
7181 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
7182
7183         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
7184         XSetIMValues to (void *) when comparing to NULL, to workaround
7185         the problem of some compilers barfing since older X headers don't
7186         have the prototype for it.
7187
7188 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
7189
7190         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
7191         for pseudocolor where colormap->colors was double
7192         allocated.
7193
7194         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
7195         color value in the hash table with the pixel filled
7196         in so when we do later hash table lookups, the color
7197         value is correct.
7198         
7199 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
7200
7201         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
7202         making the call
7203
7204 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
7205
7206         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
7207         pointed out by Morten Welinder <terra@diku.dk>.
7208
7209 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
7210
7211         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
7212           default filter from the list
7213
7214 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
7215
7216         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
7217           default filter from the list
7218
7219 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
7220
7221         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
7222
7223         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
7224         g_strdup_printf instead of calcing the length separately
7225
7226 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
7227
7228         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
7229         that we don't do in many other places. (Fixing duplicate 
7230         #include of config.h)
7231
7232         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
7233         Otherwise, #ifndef XINPUT_NONE check in the latter
7234         doesn't work. (Bug #546)
7235
7236 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
7237
7238         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
7239         "None" case insensitive.
7240
7241 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
7242
7243         * gdk/gdkselection.c: 
7244         Add error traps so if the other end of the connection
7245         dies, we survive.
7246
7247 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
7248
7249         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
7250         dest_xid field into two fields - one for the window
7251         to send in messages, one to indicate the last looked
7252         up window for caching purposes. This is needed, so
7253         that Leave messages get the correct window.
7254
7255 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
7256
7257         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
7258         Fix warning created by people mucking around
7259         with the gsource API.
7260
7261         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
7262         Change mapping between GIOCondition and GdkInputCondition
7263         to match the way the Linux kernel does it. This should
7264         fix problems where closed pipes were no longer signalling
7265         GDK_INPUT_READ on systems with a native poll().
7266
7267 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
7268
7269         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
7270         explicitly for the string "None" - it is in the XPM
7271         spec and some servers treat unknown colors in odd ways
7272         (like asking the user!)
7273
7274 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
7275
7276         * gdk/gdkevents.c: made "->" into a "." of previous change so
7277         it compiles
7278
7279 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
7280
7281         * gdk/gdkevents.c (gdk_compress_exposures): Set the
7282         window field of the event structure before calling
7283         user filters.
7284
7285 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7286
7287         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
7288         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
7289
7290 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
7291
7292         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
7293         intermediate text property - prevents major memory
7294         leak when gdk_use_mb.
7295         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
7296
7297 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
7298
7299         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
7300         gtk-a-higuti-990322-[0-3]
7301
7302         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
7303         sizeof(wchar_t) != sizeof (GdkWChar)
7304
7305         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
7306         that was causing -DX_LOCALE not to work.
7307
7308         * gtk/gtkrc.c (gtk_rc_init):
7309         X_LOCALE will never have LC_MESSAGES defined
7310
7311         * gdk/gdk.c (gdk_init_check):
7312         Remove --xim-preedit and --xim-status from argv properly.
7313
7314         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
7315         that the client window is present on the X server
7316         before we pass it to the input method.
7317
7318 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
7319
7320         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
7321         if --display is specified on the command line, than
7322         the drag window will not be created on that display.
7323         
7324 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
7325
7326         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
7327         lookups with only_if_exists == TRUE were inserting
7328         bogus values into the atom cache.
7329
7330 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
7331
7332         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
7333         then reset it to NULL.
7334
7335         * gdk/gdkcolor.c:
7336         (gdk_colors_free): 
7337         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
7338         key for g_hash_table_remove() in both functions, this prevents us
7339         from accessing possibly uninitialized portions of a GdkColor structure
7340         where we are only interested in its pixel value.
7341
7342 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
7343
7344         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
7345         font hash table, if we have a GdkFontPrivate entry for this font
7346         already, simply increment its reference count, provided by Olaf Dietsche
7347         <olaf.dietsche+list.gtk@netcologne.de>.
7348
7349 1999-09-21  Tor Lillqvist  <tml@iki.fi>
7350
7351         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
7352         just to be sure.
7353
7354         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
7355         unused variables, leftovers from the X11 version.
7356
7357         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
7358
7359         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
7360         downcase fields on X11.
7361
7362 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
7363         
7364         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
7365         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
7366
7367 1999-09-17  Tor Lillqvist  <tml@iki.fi>
7368
7369         * gdk/win32/gdk.def: Add gdk_threads_mutex.
7370
7371         * gtk/makefile.msc: Correct path to libintl.
7372
7373         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
7374         use of gint vs. int, and gint vs. gboolean in headers and
7375         definitions. Use GtkType for the *_get_type functions. Note that
7376         these changes preserve binary compatibility.
7377
7378         * gdk/gdk.c
7379         * gdk/win32/gdk.c
7380         * gdk/gdk.h: Fix inconsistencies: gint vs int.
7381
7382         * gtk/gtkmain.c
7383         * gtk/gtkclist.c
7384         * gtk/gtkmenufactory.c
7385         * gtk/gtknotebook.c
7386         * gtk/gtkwidget.c: Fix inconsistencies, also gint
7387         vs. gboolean.
7388
7389         * gtk/gtkcolorsel.[ch]
7390         * gtk/gtkcombo.[ch]
7391         * gtk/gtkdrawingarea.[ch]
7392         * gtk/gtkgamma.[ch]
7393         * gtk/gtkhandlebox.[ch]
7394         * gtk/gtkhpaned.[ch]
7395         * gtk/gtkhruler.[ch]
7396         * gtk/gtkplug.[ch]
7397         * gtk/gtkpreview.[ch]
7398         * gtk/gtkruler.[ch]
7399         * gtk/gtksocket.[ch]
7400         * gtk/gtkstatusbar.[ch]
7401         * gtk/gtktoolbar.[ch]
7402         * gtk/gtkvbbox.[ch]
7403         * gtk/gtkvpaned.[ch]
7404         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
7405         functions.
7406
7407         * gtk/gtkgamma.h: Fix bug, missing () in call of
7408         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
7409
7410 1999-09-14  Tor Lillqvist  <tml@iki.fi>
7411
7412         * gdk/gdkcolor.c (gdk_colormap_new)
7413         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
7414         colormap->colors was allocated twice.
7415
7416         * gdk/win32/gdk.c: Remove some unused stuff.
7417
7418         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
7419         colormap.
7420
7421         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
7422         * gtk/gtklabel.h (gtk_label_get_type)
7423         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
7424         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
7425         in a couple of places, not guint.
7426
7427 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
7428
7429         * configure.in,po/et.po: added Estonian language file
7430
7431 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
7432
7433         * configure.in,po/da.po: added Danish file
7434
7435 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
7436
7437         * docs/gtkfaq.sgml: Minor FAQ Update
7438
7439 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
7440
7441         * docs/gtkfaq.sgml: FAQ update
7442
7443 1999-08-27  Tor Lillqvist  <tml@iki.fi>
7444
7445         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
7446         way to get window contents continually refreshed while resizing. I
7447         didn't like the effects myself, so it's not on by default.
7448
7449         * gdk/win32/gdkprivate.h: New flag variable
7450         gdk_event_func_from_window_proc, FALSE by default.
7451
7452         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
7453         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
7454         are passed --gdk-event-func-from-window-proc.
7455
7456         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
7457         and we have am event_func, call it instead of enqueing the event.
7458
7459 1999-08-23  Tor Lillqvist  <tml@iki.fi>
7460
7461         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
7462         Kelley: Set expose_count in GdkEventExposes correctly.
7463
7464         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
7465         MULTIPLE_WINDOW_CLASSES).
7466
7467         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
7468         for bug in NT, apparently NT *does* draw the end pixel, too, in
7469         LineTo with a one-pixel pen, so we don't have to do it ourselves.
7470
7471 1999-08-21  Tor Lillqvist  <tml@iki.fi>
7472
7473         Improvements by Hans Breuer: 
7474
7475         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
7476
7477         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
7478         CS_?REDRAW flags as they cause lots of (late) redraws when "show
7479         window contents while dragging" is turned on. Allocate at least
7480         one unique class for every GdkWindowType. If support for single
7481         window-specific icons is ever needed (eg. Dialog specific), every
7482         such window should get its own class.
7483
7484 1999-08-19  Tor Lillqvist  <tml@iki.fi>
7485
7486         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
7487         error that caused crashes.
7488
7489 1999-08-17  Tor Lillqvist  <tml@iki.fi>
7490
7491         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
7492         window, use ScrollWindowEx, and call UpdateWindow. This prevents
7493         bugs when for instance part of the window was outside the
7494         display. Thanks to Philippe Colantoni for finding and fixing this.
7495
7496 1999-08-16  Tor Lillqvist  <tml@iki.fi>
7497
7498         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
7499         endpoint calculations which were totally wrong. (A little RTFMing
7500         helps a lot ;-)
7501
7502         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
7503         from a separate directory, not from gettext, because of licensing
7504         issues (we want to use the LGPL version).
7505
7506         * README.win32: Mention the intl from glibc vs from gettext issue.
7507
7508 1999-08-13  Tor Lillqvist  <tml@iki.fi>
7509
7510         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
7511         in the key event handling: Now AltGr chars work again. Also,
7512         now Alt-digits are passed up as well as Control-digits.
7513         Pass keypad plus and minus as normal plus and minus.
7514
7515 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
7516
7517         * docs/gtkfaq.sgml: FAQ Update
7518
7519 1999-07-25  Tor Lillqvist  <tml@iki.fi>
7520
7521         * README.win32
7522         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
7523         the Wintab SDK.
7524
7525         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
7526         OK, but getting closer. Guard against bogus tilt data from Wacom
7527         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
7528         enable easier building without Wintab.
7529
7530         * gdk/win32/gdkinput.h
7531         * gdk/win32/gdkevents.c 
7532         * gdk/win32/gdkwindow.c: Minor changes related related to above.
7533         
7534         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
7535         code. As we have just one visual on Win32, no sense to have it in a
7536         table, and no need for the hash table.
7537
7538         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
7539         better on white background.
7540
7541 1999-07-21  Tor Lillqvist  <tml@iki.fi>
7542
7543         * README.win32: Update gcc build instructions. Mention gettext is
7544         GPL.
7545
7546         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
7547         supported cursor size with GetSystemMetrics.
7548
7549         * gdk/win32/gdkfont.c
7550         * gtk/gtkfontsel.c: Guard against some font weight and charset
7551         symbols being undefined (in mingw32 headers).
7552
7553         * gdk/win32/makefile.cygwin
7554         * gtk/makefile.cygwin
7555         * gtk/gtkthemes.c: No longer need to have differently named
7556         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
7557
7558 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
7559
7560         * docs/gtkfaq.sgml: Long awaited FAQ update.
7561
7562 1999-07-15  Tor Lillqvist  <tml@iki.fi>
7563
7564         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
7565         it. Obscure bit manipulation needed.
7566
7567         * gdk/win32/gdkevents.c: Logging.
7568         
7569         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
7570         style (file name include compiler name) for theme engines.
7571
7572 1999-07-13  Tor Lillqvist  <tml@iki.fi>
7573
7574         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
7575
7576         * gdk/win32/gdkevents.c: Fix long-standing bug in key
7577         events. The key.string wasn't zero-terminated, still we strdup'ed
7578         it in gdk_event_copy(). Synthesize crossing events for button
7579         events before possible propagation.
7580
7581         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
7582
7583         * gdk/win32/makefile.cygwin
7584         * gtk/makefile.cygwin: Use new DLL naming style for the
7585         GCC-compiled ones.
7586
7587         * gdk/win32/makefile.msc
7588         * gtk/makefile.msc: Cosmetics mostly.
7589
7590         * gtk/gtk.def: Add missing entry points.
7591
7592         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
7593
7594 1999-07-09  Tor Lillqvist  <tml@iki.fi>
7595
7596         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
7597         or height is zero. Don't print a warning if Pie or Arc fails, they
7598         always fail (?) for very narrow ellipses.
7599
7600         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
7601         the part or the destination window corresponding to source area
7602         outside of the source drawable's boundary.
7603
7604         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
7605         anything if less than two points.
7606
7607         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
7608         return NULL. Gtk cut-and-paste inside a single program works
7609         better this way. (It always gets the clipboard contents from
7610         Windows, not from its own copy, which is cleared anyway. I can't
7611         say I fully understand what happens... Emulating the X selection
7612         and property stuff is a bit of a mess.)
7613
7614         * gdk/win32/gdkevents.c
7615         * gdk/win32/gdkproperty.c: A bit more verbose logging.
7616
7617         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
7618         that never got deleted). Revamp gdk_region_shrink.
7619
7620         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
7621         after use.
7622
7623         * gtk/gtk.def: Add some missing entry points.
7624
7625         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
7626         component.
7627
7628 1999-07-04  Tor Lillqvist  <tml@iki.fi>
7629
7630         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
7631         Control-digits specially.
7632
7633 1999-07-03  Tor Lillqvist  <tml@iki.fi>
7634
7635         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
7636
7637 1999-06-28  Tor Lillqvist  <tml@iki.fi>
7638
7639         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
7640         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
7641         finding this.)
7642
7643 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
7644
7645         * gtk+.spec.in: Corrected some typos in files section.
7646         
7647 1999-06-15  Tor Lillqvist  <tml@iki.fi>
7648
7649         * README.win32: Mention using GNU gettext.
7650         * config.h.win32: Enable NLS stuff.
7651         * gtk/makefile.msc: Use GNU gettext.
7652         * gdk/win32/gdkdnd.c: Minor header reorg.
7653         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
7654         cosmetics.
7655         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
7656         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
7657
7658 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
7659
7660         * acinclude.m4
7661         * config.guess
7662         * config.status
7663         * ltconfig
7664         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
7665
7666 1999-05-30  Tor Lillqvist  <tml@iki.fi>
7667
7668         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
7669         SafeAdjustWindowRectEx. Don't override all calls to
7670         AdjustWindowRectEx by it, but use it only in two places: When
7671         creating a new top-level window and when moving a top-level
7672         window.
7673
7674         Use screen coordinate rectangle, not client rectangle, in
7675         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
7676         when we try to place a window so that the decoration (mainly,
7677         title bar) isn't visible.
7678
7679         These changes fix the bug that showed up for instance as the
7680         GIMP's saved top-level windows moving right and down (by an amount
7681         equal to the window decoration) for each session. This bug showed
7682         up also in testgtk's "Saved Position".
7683
7684         gdk_window_resize also redone a bit.
7685
7686 1999-05-25  Tor Lillqvist  <tml@iki.fi>
7687
7688         * gtk/testgtkrc: Add (commented out) Windows-style theme
7689         include line.
7690
7691         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
7692
7693 1999-05-18  Tor Lillqvist  <tml@iki.fi>
7694
7695         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
7696         gdkx.h to a gdk subdirectory, so that applications can include
7697         these with <gdk/*.h> without trouble.
7698
7699         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
7700         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
7701         have their bitmap destroyed.
7702
7703         * gdk/win32/gdk.def: Add gdk_root_parent.
7704
7705 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
7706
7707         * configure.in
7708           gtk-config.in
7709           ltconfig
7710           ltmain.sh     
7711           gtk/Makefile.am: changes to compile nicely (with xlib) 
7712           on BeOS
7713
7714 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
7715
7716         * acinclude.m4
7717         * config.guess
7718         * config.sub
7719         * ltconfig
7720         * ltmain.sh: upgrade to libtool 1.3
7721
7722 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
7723
7724         * gtk/gtkclist.c:
7725         * gtk/gtkctree.c: merges from gtk-1-2
7726
7727 1999-04-25  Tor Lillqvist  <tml@iki.fi>
7728
7729         Support added for building using a GNU toolchain on Win32,
7730         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
7731
7732         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
7733         * config.h.win32: Changes for gcc.
7734         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
7735         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
7736         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
7737         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
7738         Protect shl stuff unavaiilable with mingw32 headers.
7739         * gdk/win32/gdkevents.c: Fix typo.
7740         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
7741         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
7742         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
7743         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
7744         the mingw32 headers.
7745         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
7746         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
7747         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
7748         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
7749         Test for NATIVE_WIN32, not _MSC_VER.
7750         * gtk/gtkmain.c: No use warning about developer version on Win32,
7751         there aren't any non-developer versions anyhow.
7752         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
7753         * gtk/makefile.msc: Use pthread from another directory. Minor other
7754         changes. 
7755
7756 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
7757
7758         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
7759           default filter from the list
7760
7761 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
7762
7763         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
7764          when gtk_widget_grab_default() is called for a widget that
7765          is not within a GtkWindow.
7766
7767 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
7768
7769         * docs/gtk_tut.sgml, examples/clist.c: use a
7770           scrolled window in the clist example. Minor
7771           tutorial fixes.
7772
7773 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
7774
7775         * docs/gtk_tut.sgml: Style check from David King
7776           <dking@youvegotmail.net>
7777
7778 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
7779
7780         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
7781         compile with unknown value of GDK_WINDOWING
7782
7783 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
7784
7785         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
7786         after the rule is fired.
7787         (install-exec-local): Install gdkconfig.h only if the contents are
7788         different from the currently installed gdkconfig.h.
7789
7790 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
7791
7792         * gdk/Makefile.am (configexecincludedir): Rename from 
7793         configincludedir so that gdkconfig.h will be installed 
7794         as part of `make install-exec'. 
7795
7796 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
7797
7798         * acinclude.m4
7799         * config.guess
7800         * config.sub
7801         * ltconfig
7802         * ltmain.sh: upgrade to libtool 1.2f
7803
7804         * autogen.sh: libtool is not required to autogen gtk+
7805
7806         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
7807         needed)
7808
7809 1999-03-18  Tor Lillqvist  <tml@iki.fi>
7810
7811         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
7812         declaring gdk variables exported/imported from the DLL. New image
7813         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
7814         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
7815         GDK_DRAG_PROTO_OLE2.
7816
7817         * gdk/gdk.h: Merge in Win32 version: Two new functions,
7818         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
7819         declared only for the Win32 version, but could be in the X11
7820         version as well. (Needed for a Xlib-less gdk_imlib.)
7821         gdk_color_hash should have only one parameter. Declare
7822         gdk_threads_mutex with GDKVAR.
7823         
7824         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
7825         just one parameter.
7826
7827         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
7828         per pixel, not bits.
7829
7830         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
7831         Fetch bpp (which means bits-per-pixel here) from another place on
7832         Win32. Accept also depth==32 (which we might get on Win32) with
7833         bpp==32.
7834
7835         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
7836         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
7837         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
7838         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
7839         in the backend-dependent directory, not in the common gdk
7840         directory.
7841
7842         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
7843         headers.
7844
7845 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
7846
7847         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
7848         want to use the Gtk+ devel version (which is true, and yes - even i am
7849         currently working with the 1.2.x branch). so everyone reading this, you
7850         probably want to issue
7851         cvs checkout -r glib-1-2 glib
7852         and
7853         cvs checkout -r gtk-1-2 gtk+
7854         as your next two comands.
7855
7856 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
7857
7858         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
7859         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
7860
7861         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
7862         file. strongly deprecated the GTK_HAVE_* macros, we provide
7863         GTK_CHECK_VERSION() for people that need to check for certain
7864         Gtk+ versions.
7865
7866         * gtk/gtkcompat.h: removed this from CVS.
7867         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
7868         idea right from the start, it just didn't seem like that back then.
7869
7870 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
7871
7872         * merges from gtk-1-2:
7873
7874 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
7875
7876         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
7877         item factory class has been created.
7878         (gtk_item_factory_parse_rc): likewise.
7879
7880         * gtk/gtkmenu.c:
7881         keep proper references for old_active_menu_item.
7882         (gtk_menu_reparent): unset the usize of the new parent,
7883         so the menu can sanely be size requested and we don't get nasty screen
7884         artefacts upon next reparentation.
7885         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
7886         enter notify. only synthesize enter notifies if the pointer really is
7887         inside the event window.
7888         (gtk_menu_popdown): use gtk_menu_shell_deselect().
7889         (gtk_menu_popup): move the background setting stuff into
7890         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
7891
7892         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
7893         gtk_menu_shell_select_item() to select the new item.
7894         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
7895         do the right thing for deselection as well.
7896
7897 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
7898
7899         * gtk/gtkwidget.[hc]:
7900         (gtk_widget_accelerators_locked): return whether a widget's accelerators
7901         are locked.
7902
7903         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
7904         existing accelerators if the widget's accelerators are locked.
7905
7906 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
7907
7908         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
7909
7910         * gtk/gtkmenu.c: truely forward key press and key release events to
7911         the menu widget from the toplevel or tearoff window. we can't simply
7912         connect to that, we need to stop further processing of the events as
7913         well.
7914
7915 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
7916
7917         * gtk/gtkmenu.c:
7918         (gtk_menu_key_press): pass event->keyval, event->state to
7919         gtk_accelerator_valid, instead of event->keyval twice.
7920         refuse to install single letter accelerators for menus that use
7921         single letter shortcuts.
7922
7923         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
7924         gtk_menu_ensure_uline_accel_group().
7925
7926         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
7927         which will always return an uline accel group, made
7928         gtk_menu_get_uline_accel_group() return NULL if the group isn't
7929         yet created.
7930
7931 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
7932
7933         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
7934
7935         * gtk/gtkclist.c (gtk_clist_column_title_passive):
7936         Leave button sensitive, trap  button_press, button_release,
7937         motion_notify, enter_notify and leave_notify events instead.
7938         (gtk_clist_column_title_active): disconnect event handler.
7939         (gtk_clist_drag_data_get): fixed memory leak. Reported by
7940         Guillaume Laurent <glaurent@worldnet.fr>
7941
7942 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
7943
7944         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
7945         width/height mixups.
7946
7947         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
7948         if needed.
7949
7950 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
7951
7952         * gtk/testgtk.c (create_item_factory): unref the item factory after
7953         window's destruction.
7954
7955         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
7956         count on the menu shell around the menu item's activation, since the
7957         signal emission may cause menu shell destruction.
7958
7959         * gtk/gtkitemfactory.c:
7960         the previous code leaked one accel group per menu. we use
7961         gtk_menu_get_uline_accel_group() now to fix that, and with that
7962         also create the underline accelerator group of the menus only if
7963         required (i.e. an underline accelerator has been specified).
7964         (gtk_item_factory_construct):
7965         (gtk_item_factory_create_item): removed code that would create an
7966         extra accel group for the menu (and leak references).
7967         (gtk_item_factory_create_item): adapted the underline accelerator
7968         installation code to properly feature gtk_menu_get_uline_accel_group().
7969
7970         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
7971         menu->accel_group, this may return NULL if the accelerator group
7972         hasn't been set yet.
7973         added gtk_menu_get_uline_accel_group() to retrive the underline
7974         accelerator group of the menu, this will be created on demand
7975         and proper care is taken about its reference count.
7976
7977         * gtk/gtkitemfactory.h:
7978         * gtk/gtkitemfactory.c:
7979         dumped the approach of keeping a widgets by action list on the
7980         factory since the factory<->widget destroy negotiation didn't work
7981         and would be hard to get going at all. instead we keep a list of
7982         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
7983         persistant throughout a program's life time).
7984         also, i removed the static const gchar *key_* variables, and made
7985         them inline strings (they weren't actually used anyways).
7986         (gtk_item_factory_add_item): update ifactory->items.
7987         (gtk_item_factory_destroy): destroy ifactory->items (and remove
7988         the item factory pointer from the remaining ifactory widgets).
7989         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
7990         list to find the widget.
7991         (gtk_item_factory_get_item): new function that works around
7992         gtk_item_factory_get_widget() limitations, this function will only
7993         return menu items, even for <Branch> entries.
7994
7995 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
7996
7997         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
7998         font hash table, if we have a GdkFontPrivate entry for this font
7999         already, simply increment its reference count, provided by Olaf Dietsche
8000         <olaf.dietsche+list.gtk@netcologne.de>.
8001
8002         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
8003         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
8004
8005 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
8006
8007         * gtk/gtkcontainer.c:
8008         (gtk_container_add_with_args):
8009         (gtk_container_addv):
8010         (gtk_container_add): before adding a child to a conatiner, make sure
8011         it is (default) constructed, this is neccessary because under certain
8012         circumstances the child will get relized and mapped immediatedly, in
8013         which case it has to be constructed already.
8014
8015 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
8016
8017         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
8018         values > 1 as TRUE also.
8019
8020 1999-03-16  Tor Lillqvist  <tml@iki.fi>
8021
8022         * README.win32: New file.
8023                 
8024         * configure.in: Check for lstat.
8025
8026         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
8027         completeness.
8028
8029         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
8030
8031         * gtk/gtk.def: Removed CRs.
8032
8033         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
8034         ..\gdk\win32).
8035
8036         * gdk/win32/makefile.msc: Correct upwards relative paths.
8037         
8038 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
8039
8040         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
8041           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
8042           it was connecting a void function to expose_event and the int
8043           returning function to the draw signal
8044
8045 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
8046
8047         * configure.in:
8048         Use correct path to libgmodule.la when ref'ing uninstalled copy
8049         of glib.  (Already in stable branch, Bug #417)
8050
8051 1999-03-15  Tor Lillqvist  <tml@iki.fi>
8052
8053         Win32 merge and general portability stuff:
8054                 
8055         * acconfig.h,configure.in: Check for <sys/time.h>.
8056
8057         * gdk/win32: New directory (actually, been there for a while).
8058         
8059         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
8060         NATIVE_WIN32, and use these. Always case fold on Win32. No
8061         backslashed escapes on native Win32.
8062
8063         * gtk/{gtk.def,makefile.msc}: New files.
8064
8065         * gtk/Makefile.am: Add above new files.
8066         
8067         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
8068         instead of <strings.h>.
8069
8070         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
8071         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
8072         <unistd.h> appropriately.
8073
8074         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
8075         Use ABS() (from <glib.h>) instead of abs().
8076         
8077         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
8078         of gtk (and thus glib) headers, so that WIN32 will be
8079         defined. With MS C, include <direct.h> for mkdir prototype.
8080
8081         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
8082         some casts, needed by MS C.
8083
8084         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
8085         implemented).
8086
8087         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
8088         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
8089         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
8090
8091         * gtk/gtkmain.h: Mark variables for export/import on Win32.
8092                 
8093         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
8094         the event is not a hint, or its window is not the slider. Needed
8095         on Win32, at least.
8096
8097         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
8098         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
8099         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
8100         a subdirectory of the Windows directory as gtk system
8101         configuration directory.
8102
8103         * gtk/gtkselection.c: No chunks on Win32.
8104
8105         * gtk/gtksocket.c: Not implemented on Win32.
8106
8107         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
8108
8109         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
8110
8111         * gtk/maketypes.awk: Declare variables with a macro that expands to
8112         necessary export/import magic in the case of Win32.
8113                 
8114         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
8115
8116 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
8117
8118         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
8119         since those were meant only for gdki18n.h.  
8120         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
8121         for widechar tests.
8122         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
8123
8124 1999-03-13  Tor Lillqvist  <tml@iki.fi>
8125
8126         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
8127         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
8128
8129         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
8130         installed) to CFLAGS.
8131
8132         * gdk/Makefile.am: Add rules for gdkconfig.h.
8133
8134         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
8135         APIs.
8136
8137         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
8138         gdkx.h anyway when compiling for X11.
8139         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
8140         general): Merge in Win32 version.
8141         
8142         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
8143         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
8144         expansion (if we don't have HAVE_PWD_H), allow for drive
8145         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
8146         included code from Craig Setera's port to Win32 (the one that uses
8147         X11, and the cygwin dll), even if it probably will be abandoned.
8148
8149         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
8150         the user entered one herself.  This way one can complete *.h and
8151         don't get matches on any .help files, for instance.
8152         
8153 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
8154
8155         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
8156         font hash table, if we have a GdkFontPrivate entry for this font
8157         already, simply increment its reference count, provided by Olaf Dietsche
8158         <olaf.dietsche+list.gtk@netcologne.de>.
8159
8160         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
8161         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
8162
8163 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8164
8165         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
8166         the number of calls to gdk_draw_point() (and thus to X) by
8167         clipping the points by hand.
8168
8169         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
8170         the clip parameter.
8171         (gtk_handle_box_paint): Only paint the handle if the expose area
8172         intersects it.
8173
8174 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
8175
8176         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
8177
8178 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
8179
8180         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
8181         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
8182
8183 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
8184
8185         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
8186          textmode (O_TEXT) for OS/2 version.
8187
8188 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
8189
8190         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
8191         GtkSpinButton, "input" and "output", to make the output more flexible.
8192         The user has to provide a mapping between adjustment->value and the
8193         output string (and vice versa, if the spin button is editable). 
8194         See testgtk for examples.
8195
8196 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
8197
8198         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
8199         new one.
8200         
8201         * configure.in: set gtk+ version to 1.3.0.