]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-8
Start of Section 6.
[~andy/gtk] / ChangeLog.pre-2-8
1 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
2
3         * docs/faq/gtk-faq.sgml: Start of Section 6.
4
5 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
6
7         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8         
9         (Fixes problem with drawing childless frames. Pointed out
10         by and a first patch from Anders)
11         
12         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
13         compute a child_allocation, even if we don't have a child.
14
15         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
16         Always chain to the parent's impl, even if we don't have a child.
17
18 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
19
20         * gdk/gdkrgb.c: If possible, create only a single shm segment and
21         use multiple parts of it instead of creating a bunch of separate
22         segments, since the maximum number of segments per system is not
23         large. (This might be worth backporting to GTK+-1.2.x if we make a
24         new release )
25
26         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
27         structure in preparation for per-colormap GdkRGB.
28
29         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
30         to False when we get EINVAL from shmget so that the caller of
31         gdk_image_new can retry with a smaller segment size.
32
33 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
34
35         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
36
37 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
38
39         * configure.in: make the current version number 1.3.1 (binary age 0,
40         interface age 0).
41         
42         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
43         gtkcompat.h is all we want.
44
45         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
46         GLib primitive types. fixed g_type_register_fundamental() argument
47         ordering.
48
49         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
50         compiles.
51
52         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
53         object code cleanup, comment trigraph fixes, etc...
54
55 2000-06-23  Havoc Pennington  <hp@redhat.com>
56
57         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
58         instead of making up a bogus name for first_para_mark
59
60         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
61         0 as a context ID
62
63 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
64
65         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
66
67 2000-06-21  Havoc Pennington  <hp@pobox.com>
68
69         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
70         we didn't check window->bg_pixmap != GDK_NO_BG.
71
72         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
73         gdk-pixbuf
74
75 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
76
77         * docs/faq/gtk-faq.sgm: Move file to here.
78           TODO: Update Makfile.am 
79
80 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
81
82         * docs/gtk-faq.sgm: Add Section 2
83
84 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
85
86         * docs/gtk-faq.sgm: New file. Start of DocBook
87           version of the FAQ.
88
89 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
90
91         * configure.in (GDK_PIXBUF_MAJOR): Define version
92         numbers for GDK_PIXBUF_*, as they get substituted
93         into a header file. Need to consider versioning
94         for gdk-pixbuf more carefully later.
95
96 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
97
98         Work with srcdir != builddir.   
99         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
100         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
101         * demos/testpixbuf.c: Likewise.
102         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
103         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
104         <gdk/x11/gdkx.h>.
105         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
106         "gdk-pixbuf.h".
107         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
108
109 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
110
111         * TODO.xml: Change 1.4 version numbers to 2.0.
112
113 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
114
115         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
116         fixups to GTK+ standard.
117
118 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
119
120         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
121         gdk-pixbuf.
122
123         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
124         fixups for GObject.
125
126         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
127         gdk-pixbuf with GDK dependencies moved into GDK.
128         
129         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
130         move gdk-pixbuf-loader here until GObject has signals.
131
132         * demos/: New directory of demos. Move demos from
133         gdk-pixbuf here.
134
135         * demos/pixbuf-init.c: Small bit of code to check for
136         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
137         set GDK_PIXBUF_MODULEDIR appropriately.
138
139         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
140         define which no longer makes sense.
141
142 2000-06-21  Havoc Pennington  <hp@redhat.com>
143
144         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
145         gtk_get_default_language
146
147         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
148         new function to get the default language
149
150         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
151         s/gtk_text_view_style_values/gtk_text_style_values/
152
153         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
154         Add a "language" field to tags.
155
156         (gtk_text_tag_set_arg): Fix bug in setting
157         "bg_full_height_set" tag.
158
159 2000-06-21  Havoc Pennington  <hp@redhat.com>
160
161         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
162         in the interfaces
163
164         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
165         stuff instead when possible.
166
167         * gtk/gtktexttypes.h: Delete some unused constants
168
169         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
170         testtextbuffer.c: use glib instead of custom unicode routines
171
172 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
173
174         * docs/es/: Removed mistakenly added generated sgml
175
176         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
177         Remove outdated info files.
178
179         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
180         Moved tutorial files into subdir
181
182         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
183         subdir.
184
185         * docs/man/gtk_button.pod: Remove. (contents will be
186         integrated into gtk-reference button page.)
187
188         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
189         docs/faq/Makefile.am: Adjust for new organization
190
191 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
192
193         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
194         not $(MKINSTALLDIRS)
195
196 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
197
198         * gtk/testgtk.c (create_text): Finish the job Elliot started
199         of removing font setting test for text widget. (Since text widget
200         and GdkFont are not deprecated, and cause portability problems.)
201
202 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
203
204         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
205         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
206         Remove use of libunicode in favor of new GLib functions.
207
208         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
209         nano-x, framebuffer. The X11 include is just a hack until we get
210         the necessary functions in gdkcolor.h, so there is no reason to
211         add other includes of platforms.
212
213         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
214         window bigger than the screen change.
215
216         * gtk/testgtk.c: Revert some random changes from Elliot
217         that had no particular point and were causing testgtkrc
218         not to function correctly.
219         
220         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
221         because GdkSegment and GdkRegionBox have the same fields,
222         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
223         results in clearer code.
224
225         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
226         gdk_input_translate_coordinates): Fix missed GdkObjectification
227
228 2000-06-18  Elliot Lee  <sopwith@redhat.com>
229
230         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
231         * gtk/gtk{plug,socket}.h: Missed commits from previous.
232
233 2000-06-20  Havoc Pennington  <hp@redhat.com>
234
235         * modules/linux-fb/Makefile.am: Make this compile
236         without framebuffer enabled
237
238         * gdk/linux-fb/Makefile.am: Add conditional to not build
239         framebuffer unless specified in configure
240
241         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
242         the size of the target instead of source if -1 was passed for
243         width/height
244
245         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
246         width/height confusion.
247
248 2000-06-19  Havoc Pennington  <hp@redhat.com>
249
250         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
251         GDK_DRAWABLE_XID. In the future, we probably want to make it
252         faster with G_DISABLE_CHECKS turned on.
253
254 2000-06-14  Havoc Pennington  <hp@redhat.com>
255
256         * gdk/Makefile.am: add gdkpixmap.c
257
258         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
259         s/gdk_image_init/_gdk_windowing_image_init
260
261         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
262         ref/unref
263
264         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
265
266         * gdk/gdkcompat.h: remove GdkWindowType compat, since
267         GdkWindowType is now non-deprecated; 
268         change gdk_window_get_type() compat to be
269         gdk_window_get_window_type().
270
271         * gdk/gdkdnd.h: make GdkDragContext a GObject.
272
273         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
274         virtual GObject. Make all functions call into the vtable.
275         Move gdk_image_put() guts in here. Remove GdkDrawableType
276         and gdk_drawable_get_type(), these are now GdkWindow-specific.
277         draw_image, get_depth, get_size, set_colormap, get_colormap,
278         get_visual added to the vtable.
279         
280         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
281         GObject. Virtualize everything. 
282         (gdk_gc_new_with_values): remove check for destroyed window,
283         because now GdkWindow::create_gc will check this.
284         (gdk_gc_set_values): New function to set GC values, this 
285         was already implemented but wasn't in the header
286
287         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
288
289         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
290         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
291         remove _gdk_window_class; add _gdk_window_impl_get_type() and
292         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
293         _gdk_windowing_window_init, rename gdk_image_init to
294         _gdk_windowing_image_init.
295         
296         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
297         (gdk_draw_layout): Remove check for destroyed window, 
298         because all the drawable methods already check it.
299         
300         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
301         Add gdkpixmap.c which contains implementation of GdkDrawable
302         virtual table (by chaining to a platform-specific implementation
303         object).
304         
305         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
306         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
307         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
308         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
309         GdkColormapPrivate. 
310
311         * gdk/gdktypes.h: #include <glib-object.h>
312
313         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
314         Move most functionality to platform-specific implementation
315         object. GdkWindow itself now handles the backing store, then
316         chains to the platform-specific implementation.
317         (gdk_window_get_window_type): return GdkWindowType of the window.
318         (gdk_window_peek_children): New routine, returns the children of 
319         a GdkWindow
320         (gdk_window_get_children): Was in X11-specific code and did 
321         XQueryTree. Changed to simply return a copy of window->children; 
322         so it can go in cross-platform code.
323         
324         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
325
326         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
327         GdkColormap; just changed to use the new private data instead
328         of casting to GdkColormapPrivate.
329
330         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
331         gdk_cursor_new().
332
333         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
334         (private data member in the GObject). 
335         (xdnd_manager_source_filter): Function had broken 
336         error handling, fix it (use gdk_error_trap_push).
337
338         * gdk/x11/gdkdrawable-x11.c: This file now implements
339         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
340         base class is purely for the convenience of the X port,
341         and not part of the interface to cross-platform GDK.
342
343         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
344         
345         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
346         specific to X, and returned by the create_gc virtual method
347         of GdkDrawableImplX11. 
348         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
349         rather than gchar, this was also changed in the GdkGC vtable.
350         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
351         mask is 0, return immediately, instead of checking every flag.
352         This is faster, and keeps us from segfaulting if values is NULL
353         and the mask contains some nonzero flags.
354
355         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
356         GdkWindow.
357
358         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
359         GdkWindowPrivate is gone.
360
361         * gdk/x11/gdkim-x11.c: rename things that got renamed.
362
363         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
364         remove the image_put stuff that got transferred to GdkDrawable.
365         
366         * gdk/x11/gdkinput.c: renamings
367
368         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
369
370         * gdk/x11/gdkpixmap-x11.c: GObject conversion
371
372         * gdk/x11/gdkprivate-x11.h: indentation fixes
373
374         * gdk/x11/gdkproperty-x11.c: renamings
375
376         * gdk/x11/gdkselection-x11.c: renamings
377
378         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
379         implements the platform-specific "impl" object.
380         Moved gdk_window_get_children to gdk/gdkwindow.c
381
382         * gdk/x11/gdkx.h: Remove all the private structs and private datas
383         that no longer exist. Add declaration of GdkGCX11 object here.
384         Fix all the macros to still work. 
385
386         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
387         GdkDragContext from the boxed types since they are now GObjects.
388
389         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
390         moved xthickness/ythickness into the instance. GtkStyleClass
391         functions are now in the standard vtable for GtkStyle, so you have
392         to create a GObject subclass to write a theme engine.
393         (gtk_style_copy): fixed a leaked PangoFontDescription
394         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
395         can be the standard GObject function.
396         
397         * Throughout GTK:
398         s/style->klass->[xy]thickness/style->[xy]thickness
399         s/pango_layout_unref/g_object_unref/
400
401         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
402         
403         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
404         accessing GDK internals.
405
406         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
407         accessing GDK internals.
408
409 2000-06-18  Elliot Lee  <sopwith@redhat.com>
410
411         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
412
413         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
414         problem by calculating event position relative to the trough
415         rather than the slider.
416         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
417
418         * gdk/gdkgc.h: Add GDK_NOR.
419
420         * configure.in, Makefile.am: Add modules top level dir
421         * configure.in: Only use pangox library if building x11 target.
422         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
423
424 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
425
426         * gtk/gtkcolorsel.c: Change private class member to be named
427         private_data throughout the file.
428
429         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
430         private_data to avoid clashing with keyword.
431
432 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
433
434         * gdk/gdkdnd.h: Add comment to remove warning.
435
436 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
437
438         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
439         Byelorussian language; changed the Makefile and file names 
440         to reflect that.
441
442 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
443
444         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
445         rather than gdk_window_hide; this makes things work
446         correctly if the window is programmatically hidden while
447         iconified.
448
449 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
450
451         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
452         cut and paste typo where wrong pixmap was being
453         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
454
455 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
456
457         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
458         Add helper function to compute format / bytes 
459         relationship. Use in a couple places to fix up
460         errors which assume 8 * format.
461
462         * gtk/gtkselection.c (gtk_selection_request): Use 32
463         rather than 8 * sizeof (GdkAtom), to work correctly
464         on Alpha.
465
466 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
467
468         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
469         libgtk.la
470         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
471         versions
472
473         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
474         checking macros return NULL since the function has a return value.
475
476 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
477
478         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
479         GTK+ from building at all.
480
481         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
482
483 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
484
485         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
486         gtk/Makefile.am: make it possible to configure gtk for different
487         targets on the same platform. The library name is now 
488         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
489         flag. Only the x11 target compiles right now.
490         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
491         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
492         * gdk/nanox/gdk*generic*: delete generic region code.
493         * gdk/linux-fb/gdk*generic*: delete generic region code.
494         * README.nanox: update information.
495         
496 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
497
498         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
499         prepend not append. (Pointed out by Brett Hall.)
500
501 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
502
503         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
504
505 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
506
507         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
508         need this later, and this makes sure that the atexit for
509         glib gets called after that for GDK, so atexits are
510         properly ordered for object leak checking.
511
512         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
513
514         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
515         pango_x_shutdown_display()
516
517         * gtk/simple.c (main): Close window on destroy.
518
519 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
520
521         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
522         to treat initial creation different from setting with 
523         regards to the graphics-exposures parameter, so add a parameter
524         indicating whether this is initial or not.
525
526 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
527
528         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
529         to sort of work by adding an extra return_exposes arg
530         to gdk_event_translate() - it might be better to simply
531         deprecate the function altogether and force people to rewrite
532         without it. gdk_window_scroll() handles most of it, and where
533         gdk_window_scroll() doesn't work, simply redrawing more does.
534
535         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
536         assertion.
537
538         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
539
540         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
541         bunch of pretty much useless /* Print debugging info */ comments 
542         which had drifted away from the code they were commenting.
543
544 2000-06-02  Havoc Pennington  <hp@pobox.com>
545
546         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
547         is in working order.
548         
549         * gtk/testtext.c: Change to reflect anonymous mark API
550
551         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
552
553         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
554         field, which was unused.
555
556         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
557         saves some typing.
558
559         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
560
561         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
562         flag on the insertion point and selection bound
563
564         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
565         make mark-manipulation functions take a GtkTextMark* instead of a
566         mark name.
567         
568         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
569         GtkTextMarkBody; will be used to detect attempts to delete
570         the permanent marks (insert and selection bound)
571
572         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
573
574 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
575
576         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
577         flag to on.
578
579         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
580         Honor DOUBLE_BUFFRED_FLAG
581
582         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
583         function to set the DOUBLE_BUFFERED flag.
584
585         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
586         or not exposes done on the widget should be double-buffered.
587
588         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
589         to be what would be expected. (Fixes problem with a
590         g_return_if_fail() validating a TextDirection enumeration)
591
592 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
593
594         * gtk/gtkwidget.c: Remove all references to 
595         offscreen flag which was no longer used.
596
597         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
598
599         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
600         for non-null label_widget->parent.
601
602         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
603         which no longer was used.
604
605         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
606
607         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
608         for null arguments.
609
610         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
611         check for destroyed windows.
612
613 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
614
615         * gtk/gtkimmulticontext.c: Add a finalize method and unref
616         the slave context there.
617
618         * gtk/gtkinvisible.[ch]: Make reference counting behavior
619         identical to GtkWindow.
620
621 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
622
623         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
624         pangox to here, so we can write them independent of rendering
625         system, using GDK primitives.
626
627         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
628         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
629         since we have a rendering-system independent implementation in
630         terms of draw_glyphs().
631         
632         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
633         function to render a single line.
634
635         * gdk/x11/gdkpango.c: Move the guts of this file mostly
636         into ../gdkpango.c, which simplifies things, since we
637         don't have to deal with raw X gc's.
638
639 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
640
641         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
642         get the logical attributes for a given GtkTextLine.
643
644 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
645
646         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
647         g_locale_get_codeset() to g_get_codeset() change.
648
649 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
650
651         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
652         descriptions.
653
654         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
655         the entry.
656
657         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
658         redoing (vastly simplifying) for Pango. Still needs quite
659         a bit of work. (Size selection is currently poor. List of 
660         predefined sizes is not a good idea, since all of these
661         sizes won't necessarily be distinct.)
662
663 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
664
665         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
666         CODESET results for LANG=C.
667
668 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
669
670         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
671         which takes a stringized pango font description;
672         ignore the older 'font' and 'fontset' declarations.
673
674         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
675         field with a GdkFont derived via gdk_font_from_description(),
676         for compatibility. (Should we just remove it entirely?
677         Probably too much compatibility breakage, but people
678         should be migrating to the new Pango stuff as quickly
679         as possible.)
680
681 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
682
683         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
684
685 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
686
687         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
688         redoing; there are some bugs in size allocation right
689         now, the semi-existant distinction between header / day
690         fonts was removed, but, with Pango, could actually
691         be made functional in a nice way.
692         
693         * gtk/testcalender: Move calender from examples into this
694         directory as a test program. (We really need to restrcture
695         testgtk into a whole directory full of tests for every
696         widget or functionality group, separated into multiple .c
697         files.)
698
699 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
700
701         * gtk/testgtk.c (file_exists): Fix stupid typo that
702         was keeping RC file from being loaded.
703
704         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
705         RC file font code.
706
707 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
708
709         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
710         Add function to load a GdkFont from a PangoFontDescription.
711
712 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
713
714         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
715         to have any widget for the label, use a GtkLabel widget
716         to display the text. (Based partially on a patch from
717         Anders Carlson.)
718
719         (Quite a bit of code reorganization - strip 90% of the
720         guts out of gtkaspectframe and add a single virtual
721         func to GtkFrameClass - compute_child_allocation.)
722
723 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
724
725         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
726         (Removed clist->row_center_offset field because caching
727         it wasn't saving time or code, added private function
728         _gtk_clist_create_cell_layout()).
729
730 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
731
732         * gtk/gtkaccellabel.c: Pangoized.
733
734         * gtk/[hv]ruler.c: Pangoized
735
736 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
737
738         * gtk/gtkfilesel.c (gtk_file_selection_init):
739         Use gtk_clist_set_column_auto_resize() to remove need
740         need for manual column width computations.
741
742 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
743
744         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
745         ensuring Pango correctness, and considerably simplifying the
746         code.
747         
748         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
749
750         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
751         getting of numbers of lines.
752
753         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
754         to the actual requested width of the lable, not to the wrap
755         width we set.
756
757         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
758
759         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
760           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
761
762         * gtk/gtktextview.c: Fix structure inheritance.
763
764         * gtk/gtkprogressbar.c: Pangoize.
765
766 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
767
768         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
769         in a function.
770
771         * gtk/gtktextlayout.c (find_display_line_above): Fixed
772         bug with computing line tops.
773
774         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
775
776 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
777
778         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
779         and y_offset coordinates to do what we need now. (The offset between
780         buffer and layout coordinates has been reintroduced, but is a 
781         bit different than before.)
782
783         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
784         handle the adjustments ourselves, and scroll as necessary using
785         the new gdk_window_scroll().
786         
787         The advantage of this is that when we are incrementally revalidating,
788         we are essentially rearranging things around the visible portion
789         of the screen. With the old setup, the visible portion of the
790         screen was moved around in the layout, so scrolling and redrawing
791         to track that caused jumping of the display. Since we now
792         control the scrolling ourselves, we can suppress this and
793         only redraw when things actually change.
794
795 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
796
797         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
798         the region not just redisplay it after-all, since we store the
799         cursors in the LineDisplay. (Ugly interactions here between
800         GtkLayout and GtkTextBTree here.)
801         
802         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
803
804 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
805
806         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
807         Added function to scroll contents of a window while keeping the
808         window constant. Works by XCopyArea or guffaw-scrolling depending
809         on the details of how the window is set up. (guffaw-scrolling
810         still needs to be filled in.)
811
812 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
813
814         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
815         move the debugging that was tied to a global variable
816         to that.
817
818         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
819
820         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
821         validated flag, in line data instead of setting height/width to
822         -1. This allows us to perform operations with partially invalid
823         buffer (using the old size for invalid lines) and thus to do
824         incremental vaidation. Keep height/width aggregates up to date
825         when deleting text and rebalancing the tree.
826
827         * gtk/gtktextbtree.[ch]: Add functions validate a line
828         (gtk_text_btree_validate_line), and to validate up
829         to a number of pixels (gtk_text_btree_validate).
830
831         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
832         that indicates that something is changed and a revalidation
833         pass is needed. Change ::need_repaint to ::changed, and
834         make it take old and new yranges instead of a rectangle.
835
836         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
837         the line_data_destroy() function from 
838         gtk_text_btree_add_view() to a virtual function in 
839         GtkTextLayout
840
841         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
842         since we are handling partial repaints in a different fashion
843         now.
844
845         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
846         of the selection instead of queueing a repaint on the
847         entire widget.
848
849         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
850         get_selection_bounds() down to btree, make the function
851         in buffer a wrapper around the btree function.
852
853         * gtk/gtktextlayout.[ch]: Add functions to check if the
854         layout is valid and to recompute either a range of pixels
855         aroudn a line or a certain total number of pixels.
856
857         * gtk/gtktextlayout.[ch]: Cache a single line display;
858         now that we only redraw the needed portions, the hit rate
859         for this cache is quite high.
860         
861         * gtk/gtktextview.[ch]: Keep track of the first paragraph
862         on the screen so that when re-laying-out the buffer, we can
863         keep the same place. This requires connecting to ::value_changed
864         on the adjustments
865
866         * gtk/gtktextview.[ch]: Add idle functions to revalidate
867         the buffer after we receive an ::invalidated signal.
868         
869 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
870
871         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
872         to max of allocation and layout size, not just to the
873         layout size.
874
875         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
876         Invalidate window so it gets redrawn properly.
877
878         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
879         to mean the entire window.
880
881         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
882         into public header.
883
884 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
885
886         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
887         to get the name of a mark.
888
889         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
890         to find the paragraph from a y position.
891
892 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
893
894         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
895         nodes have width/height >= 0, not > 0.
896
897 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
898
899         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
900         Add a size_only flag, so when we only need the size, we don't create
901         useless appearance attributes.
902
903         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
904         duplicate setting of font description.
905
906         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
907
908 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
909
910         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
911         EXTRA_DIST. It does not work well when the file that
912         everything depends on is not in the tarball.
913
914 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
915
916         * gtk/testgtk.c: Some hacks and fixes so that it basically
917         works when not sitting in the GTK+ build tree.
918
919 2000-05-03  Havoc Pennington  <hp@redhat.com>
920
921         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
922         Properly determine the ordering of the tag root and the current
923         line within the tree. Previous algorithm only worked if the tag
924         root's immediate parent was the common root of both the current
925         line and the tag root.
926
927 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
928
929         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
930         alignment.
931
932         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
933         the widget text directional dynamically.
934
935         * gtk/gtktextview.[ch]: Added functions to get and set default
936         wrap mode.
937
938 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
939
940         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
941         in cursor location computation.
942
943 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
944
945         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
946         vadjusment values properly when layout gets smaller.
947
948         * gtk/gtktextview.c (need_repaint_handler): Areas being
949         passed in are far completely inaccurate, and sometimes
950         too small, so, for now, just queue a redraw on the
951         whole visible region.
952
953 2000-04-25  Havoc Pennington  <hp@redhat.com>
954
955         * gtk/gtktextbtree.c (summary_destroy): new function to 
956         destroy tag summary nodes
957         (gtk_text_line_next_could_contain_tag): this function was 
958         totally broken if the line passed in wasn't below the tag
959         root. Fix it.
960         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
961         "wildcard" case, we have to do a linear scan. Blah.
962         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
963         we have to do the linear scan
964         (tag_removed_cb): When a tag is removed from the tag table, 
965         remove the GtkTextTagInfo node from the btree.
966         (gtk_text_btree_spew): Implement the spew function, for 
967         our debugging pleasure.
968
969 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
970
971         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
972         a problem with referring to the wrong buffer.
973
974         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
975
976         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
977         font description to gtk_style_new() - otherwise things
978         don't work without a .gtkrc file.
979
980         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
981         tags table if we create it ourself, too.
982
983         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
984         it was conflicting with XKB modifiers.
985
986         * gtk/gtktextview.[ch]: Add simple support for 
987         GtkIMContext.
988
989 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
990
991         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
992         with deletion from last commit.
993
994 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
995
996         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
997         in the context from the current locale.
998         
999         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
1000         context, not hardcoded value.
1001
1002         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
1003         not logical.
1004
1005 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
1006
1007         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
1008         attributes - that doesn't handle partial-glyph selection
1009         properly. Instead use new pango_layout_line_get_x_ranges()
1010         functionality to draw the selection.
1011
1012         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
1013         now properly handles out-of-range coordinates.
1014
1015         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
1016
1017         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
1018         public.
1019
1020         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
1021         for paragraphs opposite to the base direction of the widget.
1022
1023         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
1024
1025         * gtk/gtktextlayout.c: Don't split segments on marks, since that
1026         causes Arabic words to reshape as you cursor through.
1027
1028         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
1029         cursor position when moving vertically with the arrow keys and
1030         scrolling with page-up/page-down. (Arrow keys save only the X,
1031         scrolling saves both X and Y.)
1032
1033         This means you can line-up / line-down or page-up / page-down
1034         without losing your place, and also that moving vertically
1035         with the cursor keys keeps the same X position, not the same
1036         character count:
1037
1038         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
1039         arrow keys move by display lines, not paragraphs.
1040
1041 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
1042
1043         * gtk/gtklayout.c: Make sure that the bin window is at least
1044         as big as the allocation. (Should we also make sure that the
1045         bin window is big enough to completely cover widget->window?)
1046
1047         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
1048         function to get the onscreen rectangle.
1049
1050         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
1051         for offsets in window coordinates.
1052
1053 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
1054
1055         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
1056         confusion.
1057
1058         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
1059         from the widget direction.
1060
1061         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
1062         Add a "direction" attribute.
1063
1064         * gtk/gtktextview.c: global s/tkxt/text_view/.
1065
1066         * gtk/testtext.c: Added long block of text in Arabic, to test out
1067         the direction attributes. (Some problems with the shaping system
1068         for arabic become obvious - like the fact the cursor splits words
1069         into unjoined pieces.)
1070
1071 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
1072
1073         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
1074
1075         * gtk/gtktextlayout.c: Fix up alignment.
1076
1077         * gtk/testtext.c: Add some tests for centering, wrapping.
1078
1079 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
1080
1081         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
1082         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
1083         If we wrote GTK+-specific layout-render function this could just replace
1084         the draw_layout() operation in the vtable.
1085
1086         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
1087         pango_layout_get_cursor_pos() and use that function.
1088
1089         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
1090         is a non-static symbol.
1091
1092         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
1093         with gtk_text_btree_find_line_by_y()
1094
1095         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
1096         renderer that handles GtkTextAppearance attributes.
1097
1098         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
1099
1100           - Move the values in the style that don't affect geometry into a
1101             GtkTextAppearance structure.
1102           - Change underline to take a PangoUnderline and "font" a string
1103             representation of a font description
1104           - Add a "font_desc" attribute which takes a FontDescription structure.
1105
1106         * gtk/gtktextlayout.[ch]:
1107
1108           - Get rid of the display-line list per each line. Instead, we
1109             generate, on demand, a GtkTextLineDisplay structure which]
1110             contains a PangoLayout * and other necesary information
1111             (offsets, cursor locations) for displaying a paragraph.
1112           - Get rid of the code to wrap lines, create display chunks,
1113             etc. Instead, we just go through a paragraph and convert
1114             it into the necessary inputs to a PangoLayout.
1115           - Implement a new attribute type, GtkTextAttrAppearance. This
1116             holds a GtkTextAppearance, and is used to pass colors, 
1117             stipple, etc, through from the layout to the display without
1118             having to use lots and lots of individual attributes.
1119           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
1120             in terms of PangoLayout functions.
1121         
1122         * gtk/gtktextview.c: 
1123          
1124           - Handle passing the necessary PangoContext to the layout
1125           - Some fixups in painting to deal with the automatic backing store
1126             and offsetting of GTK+-1.4
1127           - Add a style_set handler so that the default style reacts
1128             properly to theme changes.
1129         
1130         * gtk/gtktext?*.[ch]: Random code-style fixes.
1131
1132         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
1133
1134 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
1135
1136         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
1137         in original form preparatory to Pango-ization and gdkimcontext-ization.
1138
1139 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
1140
1141         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
1142         so that we can derive from gtkimcontext in language bindings properly.
1143
1144 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
1145
1146         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
1147         Add a compose table including (almost) all the compose combinations
1148         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
1149         data in the XIM implementation.
1150
1151         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
1152         Moved functions to convert keyvalues from and to unicode here from
1153         the win32 port and made them public.
1154
1155 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
1156
1157         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
1158
1159 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
1160
1161         * gtk/gtkimcontext.[ch]: Base class for new input context system
1162
1163         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
1164         the real input context implementation to be loaded from modules
1165         and switched on the fly.
1166
1167         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
1168         context that just does direct keysymbol => unicode translation.
1169
1170         * gtk/gtkentry.[ch]: Start switching editing over to using
1171         GtkInputContext. (No handling of preedit yet.)
1172
1173 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
1174
1175         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
1176         many substitutions. (klass should not be subsituted.)
1177
1178 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
1179
1180         * configure.in: Add checks for Pango
1181
1182         * configure.in docs/Makefile.am: Add test for sgml2html
1183         and allow 'make dist' without building html, but print out
1184         warnings in that case. (For making snapshots)
1185
1186         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
1187         Add Pango libraries and C flags
1188
1189         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
1190         Add function (gdk_draw_layout) to draw a pango layout.
1191
1192         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
1193         for getting Pango contexts for GDK.
1194
1195         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
1196
1197         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
1198         editing.
1199
1200         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
1201         keysym => unicode translations. More languages can be added
1202         here, but real input-method support is needed.
1203
1204         * docs/Changes-1.4.txt: Added note about entry behavior.
1205         
1206         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
1207         to set the reading direction for a widget and the global direction.
1208         Add test which allows toggling the global direction. Two private
1209         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
1210
1211         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
1212           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
1213
1214         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
1215
1216         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
1217         underlining now handled by Pango.
1218
1219         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
1220         to RCStyle and Style. (Having both this and the old font name and GdkFont 
1221         is temporary.)
1222
1223         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
1224         convenience functions for creating contexts and layouts for widgets.
1225
1226         * gtk/testgtk.c: Enhance label tests with multilingual labels.
1227
1228 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
1229
1230         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
1231         titles to be active, even if they aren't visible.
1232         (gtk_clist_column_titles_passive):  Ditto.
1233
1234 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
1235
1236         * gtkmenu.c:
1237         * gtkmenu.h:
1238         * gtktypeutils.h: Spelling/grammar fixes in comments.
1239
1240 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
1241
1242         * gdk/nanox/*.h: add missing header files.
1243
1244 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
1245
1246         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
1247         send_event to TRUE.
1248         (gtk_drawing_area_size): queue a resize.
1249
1250 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
1251
1252         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
1253         the handlers, also invalidate them. bug nailed down by Karl Nelson
1254         <kenelson@ece.ucdavis.edu>.
1255
1256 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
1257
1258         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
1259         "(nil)" foundries, patch from Grigorios Magklis.
1260
1261         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
1262         on non-available fonts, based on a patch by Grigorios Magklis
1263         <maglis@cs.rochester.edu>.
1264
1265 2000-05-18  Elliot Lee  <sopwith@redhat.com>
1266
1267         * gdk/x11/gdkregion-generic.c: If a region does not have any
1268         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
1269         instead of GDK_OVERLAP_RECTANGLE_IN.
1270
1271 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
1272
1273         * gtk/gtklayout.c (gtk_layout_map): Remove references to
1274         OFFSCREEN, as it is no longer necessary.
1275
1276 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
1277
1278         * gtk/gtkcolorsel.c: Patch from David Santiago
1279         <mrcooger@cyberverse.com> to change things so that the 
1280         indicator of the active palette entry is done independently,
1281         not via the focus, since it should always be visible.
1282
1283 2000-05-17  Tor Lillqvist  <tml@iki.fi>
1284
1285         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
1286         refcount leaks as in the X11 backend.
1287
1288         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
1289         cosmetics.
1290
1291         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
1292         backend. Add _gdk_windowing_window_destroy().
1293
1294         * gtk/gtkcolorsel.c: Include correct backend-specific header.
1295         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
1296         either, but these probably do exist on nanox?)
1297         
1298         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
1299         which isn't necessarily defined by <math.h>.
1300
1301         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
1302         ancestry past GtkObject.
1303
1304         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
1305         from DLL on Win32.
1306
1307         * gtk/gtk.def: Update corresponding to recent changes.
1308
1309         * gtk/makefile.{cygwin,msc}: Updates.
1310
1311 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
1312
1313         * docs/Changes-1.4.txt: A bit of editing.
1314
1315         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
1316         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
1317         to clear the update area for the window, and clear it
1318         when hiding a window.
1319
1320         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
1321         if window destroyed.
1322
1323         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
1324
1325         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
1326         gdk_window_destroy() to the generic code, since there was a lot of 
1327         window-system-independent logic it in. Add a function:
1328         
1329          _gdk_window_destroy() 
1330
1331         to the internal API to destroy a window without unreferencing it.
1332         Add a function:
1333
1334          _gdk_windowing_window_destroy()
1335
1336         That does the windowing-system-dependent part of destroying 
1337         the window.
1338
1339 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
1340
1341         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
1342
1343 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
1344
1345         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
1346         Make gtk_widget_shape_combine_mask() keep a reference count on
1347         the pixmap since it keeps it around.
1348
1349 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
1350
1351         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
1352         leak.
1353
1354         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
1355         leak with event filters.
1356
1357 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
1358
1359         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
1360         signal handlers with the right data arguments. (Fixes
1361         some warnings when a widget was repeatedly set as a drag
1362         destination.)
1363
1364         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
1365         window so we can avoid avoid setting the DND properties on the
1366         toplevel window repeatedly.
1367
1368 2000-05-13  Tor Lillqvist  <tml@iki.fi>
1369
1370         * gdk/win32/gdkwin32.h: Define more message types missing from
1371         mingw headers.
1372
1373         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
1374         call gdk_window_destroy_notify(). It was never called. This
1375         probably meant that the GdkWindow was never freed. Thanks Owen for
1376         noticing (!).
1377
1378         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
1379         window as destroyed before calling DestroyWindow(). DestroyWindow()
1380         causes a call to the window procedure (gdk_WindowProc), which
1381         calls gdk_event_translate(), which calls
1382         gdk_window_destroy_notify(), which gets confused unless the window
1383         is set as destroyed.
1384
1385         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
1386         this function to indicate it's win32 only. Put inside #ifdef
1387         G_ENABLE_DEBUG.
1388
1389         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
1390         debugging function. (gdk_event_translate:) Add a default branch
1391         that uses the above function to print debug messages with all
1392         Windows messages symbolically.
1393
1394         * gdk/win32/gdkprivate-win32.h: Declare it, and
1395         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
1396
1397 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
1398
1399         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
1400         public header file.
1401
1402 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
1403
1404         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
1405
1406         * gtk/gtktext.c: made the adjustments no-construct args, simply
1407         provide default adjustments.
1408         (gtk_text_destroy): release adjustments.
1409
1410         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
1411         adjustment argument non-construct.
1412
1413         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
1414         instead of in finalize.
1415         (gtk_progress_get_text_from_value): 
1416         (gtk_progress_get_current_text): 
1417         (gtk_progress_set_value): 
1418         (gtk_progress_get_percentage_from_value): 
1419         (gtk_progress_get_current_percentage): 
1420         (gtk_progress_set_percentage): 
1421         (gtk_progress_configure): ensure an adjustment is present.
1422
1423 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
1424
1425         * gtk/gtkcolorsel.[hc]:
1426         * gtk/gtkcolorseldialog.[hc]:
1427         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
1428         their parent implementation, use bit fields for boolean values, don't
1429         create unused widgets, usage of glib types, braces go on their own
1430         lines, function argument alignment, #include directives etc. etc. etc..
1431
1432         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
1433
1434 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
1435
1436         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
1437
1438         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
1439         of NULL.
1440
1441         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
1442         to freed data.
1443         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
1444
1445         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
1446         to NULL when the toplevel is getting destroyed.
1447         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
1448         (gtk_menu_destroy): 
1449         (gtk_menu_init): store the information of whether we have to
1450         readd the initial child ref_count during destruction in a new
1451         GtkMenu field needs_destruction_ref_count.
1452
1453         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
1454         here, those reading: learn from my mistake! ;)
1455         in order for set_?adjustment to support a default adjustemnt if
1456         invoked with an adjustment pointer of NULL, the code read (pseudo):
1457         if (v->adjustment) unref (v->adjustment);
1458         if (!adjustment) adjustment = adjustment_new ();
1459         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
1460         now imagine the first unref to actually free the old adjustment and
1461         adjustment_new() creating a new adjustment from the very same memory
1462         portion. here, the latter comparision will unintendedly fail, and
1463         all hell breaks loose.
1464         (gtk_viewport_set_hadjustment):
1465         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
1466         after unreferencing it.
1467
1468         * gtk/gtkcontainer.[hc]: removed toplevel registration
1469         functions: gtk_container_register_toplevel(),
1470         gtk_container_unregister_toplevel() and
1471         gtk_container_get_toplevels() which had wrong semantics
1472         anyways: it didn't reference and copy the list.
1473
1474         * gtk/gtkwindow.c: we take over the container toplevel registration
1475         bussiness now. windows are registered across multiple destructions,
1476         untill they are finalized. the initial implicit reference count
1477         users are holding on windows is removed with the first destruction
1478         though.
1479         (gtk_window_init): ref & sink and set has_user_ref_count, got
1480         rid of gtk_container_register_toplevel() call. add window to
1481         toplevel_list.
1482         (gtk_window_destroy): unref the window if has_user_ref_count
1483         is still set, got rid of call to
1484         gtk_container_unregister_toplevel().
1485         (gtk_window_finalize): remove window from toplevel list.
1486         (gtk_window_list_toplevels): new function to return a newly
1487         created list with referenced toplevels.
1488         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
1489
1490         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
1491         adjustment a non-construct arg.
1492         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
1493         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
1494         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
1495
1496         * gtk/gtkrange.c: added some realized checks.
1497         (gtk_range_destroy): get rid of the h/v adjustments in the
1498         destroy handler instead of finalize. remove timer.
1499         (gtk_range_get_adjustment): demand create adjustment.
1500
1501         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
1502         we simply create them on demand now and get rid of them in
1503         the destroy handler.
1504         (gtk_viewport_destroy): get rid of the h/v adjustments in the
1505         destroy handler instead of finalize.
1506         (gtk_viewport_get_hadjustment): 
1507         (gtk_viewport_get_vadjustment): 
1508         (gtk_viewport_size_allocate): demand create h/v adjustment
1509         if required.
1510
1511         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
1512         gtk_widget_real_destroy () functionality.
1513         (gtk_widget_real_destroy): reinitialize with a new style, instead
1514         of setting widget->style to NULL.
1515
1516 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
1517
1518         * gtk/gtkcalendar.c:
1519         * gtk/gtkbutton.c: ported _get_type() implementation over to
1520         GType, either to preserve memchunks allocation facilities,
1521         or because Gtk+ 1.0 GtkTypeInfo was still being used.
1522
1523         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
1524         over. prepare for ::destroy to be emitted multiple times.
1525         removed reference tracer magic. chain into GObjectClass.shutdown()
1526         to emit ::destroy signal.
1527
1528         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
1529         fundamental.
1530
1531         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
1532         cludge.
1533
1534         * gtk/gtksocket.c:
1535         * gtk/gtkplug.c:
1536         * gtk/gtklayout.c:
1537         * gtk/gtklabel.c:
1538         * gtk/gtkargcollector.c:
1539         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
1540         not being a fundamental anymore, and to work with the new
1541         type system (nuked fundamental type varargs clutter).
1542
1543         * gtk/*.c: install finalize handlers in the GObjectClass
1544         part of the class structure.
1545         changed direct GTK_OBJECT()->klass accesses to
1546         GTK_*_GET_CLASS().
1547         changed direct object_class->type accesses to GTK_CLASS_TYPE().
1548
1549         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
1550         GType. made most of the GTK_*() type macros and Gtk* typedefs
1551         simple wrappers around macros and types provided by GType.
1552         most notably, a significant portion of the old API vanished:
1553         GTK_TYPE_MAKE(),
1554         GTK_TYPE_SEQNO(),
1555         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
1556         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
1557         GTK_TYPE_ARGS,
1558         GTK_TYPE_CALLBACK,
1559         GTK_TYPE_C_CALLBACK,
1560         GTK_TYPE_FOREIGN,
1561         GtkTypeQuery,
1562         gtk_type_query(),
1563         gtk_type_set_varargs_type(),
1564         gtk_type_get_varargs_type(),
1565         gtk_type_check_object_cast(),
1566         gtk_type_check_class_cast(),
1567         gtk_type_describe_tree(),
1568         gtk_type_describe_heritage(),
1569         gtk_type_free(),
1570         gtk_type_children_types(),
1571         gtk_type_set_chunk_alloc(),
1572         gtk_type_register_enum(),
1573         gtk_type_register_flags(),
1574         gtk_type_parent_class().
1575         replacements, where available are described in ../docs/Changes-1.4.txt.
1576         implemented compatibility functions for the remaining API.
1577
1578         * configure.in: depend on glib 1.3.1, use gobject module.
1579
1580 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
1581
1582         * TODO.xml: Various updates to current status.
1583
1584 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
1585
1586         * gtk.m4: Print out version when test succeeds.
1587
1588 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
1589
1590         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
1591         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
1592         
1593         (Original triangle color selector from Simon Budig
1594         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
1595         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
1596         Santiago <mrcooger@cyberverse.com>)
1597
1598         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
1599         out into a separate widget.
1600
1601         * gtk/testgtk.c: Add some checkbuttons for toggling palette
1602         and opacity controls.
1603
1604 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
1605
1606         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
1607         snuck in prematurely.
1608
1609 2000-05-07  Tor Lillqvist  <tml@iki.fi>
1610
1611         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
1612         had deleted a ! operator by mistake, which caused
1613         GDK_SELECTION_CLEAR events never to be generated, which caused
1614         only the first copy to the clipboard from an gtkeditable to
1615         actually cause a copy to the Windows clipboard.
1616
1617 2000-05-06  Tor Lillqvist  <tml@iki.fi>
1618
1619         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
1620         compilation, too. Current mingw gcc distributions include the
1621         necessary headers. Also the necessary IIDs are now in mingw
1622         headers/libraries, and own definitions unnecessary.
1623
1624         More hacking on OLE2 DND, still doesn't work though, and thus
1625         ifdeffed out.
1626
1627         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
1628         here, too.
1629
1630 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
1631
1632         * gdk/nanox/*: nano-X port work in progress.
1633         * gdk/simple.c: simple test for Gdk.
1634         * README.nanox: notes about the port: read this first!
1635         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
1636         with nano-X.
1637
1638 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
1639
1640         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
1641         gdk_window_clear() into common code, implement in terms of
1642         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
1643         not redirected to the backing rectangle.
1644
1645 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
1646
1647         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
1648         EXTRA_DIST. It does not work well when the file that
1649         everything depends on is not in the tarball.
1650
1651 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
1652
1653         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
1654         with recursion where process_updates() is called from
1655         an expose handler. (GtkTextView is highly broken in
1656         doing this, but it should work, so it is a nice test
1657         case.)
1658
1659 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
1660
1661         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
1662         handle the case where updates are queued during processing of
1663         updates.
1664
1665 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
1666
1667         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
1668         window is on gdk_display - use that instead of segfaulting.
1669
1670 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
1671
1672         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
1673         broken and require an empty arg, give it to them.
1674
1675 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
1676
1677         * gtk/gtklabel.h: indentation fixes.
1678
1679 2000-05-02  Tor Lillqvist  <tml@iki.fi>
1680
1681         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
1682         draw too narrow or too low arcs, they seem to fail, at least with
1683         some display drivers.
1684
1685         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
1686
1687         Large changes to the Win32 backend, partially made necessary by
1688         the changes to the backend-independent internal
1689         structures. Attempts to implement similar backing store stuff as
1690         on X11. The current (CVS) version of the Win32 backend is *not* as
1691         stable as it was before the no-flicker branch was merged. A
1692         zipfile with that version is available from
1693         http://www.gimp.org/win32/. That should be use by "production"
1694         code until this CVS version is usable. (But note, the Win32
1695         backend has never been claimed to be "production quality".)
1696
1697         * README.win32: Add the above comment about versions.
1698
1699         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
1700
1701         * gdk/gdk.def: Update.
1702
1703         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
1704         presumably be replaced by some more better mechanism as 1.4 gets
1705         closer to release shape.
1706
1707         * gdk/makefile.{cygwin,msc}: Update.
1708
1709         * gdk/win32/*.c: Correct inclusions of the backend-specific and
1710         internal headers. Change code according to changes in these. Use
1711         gdk_drawable_*, not gdk_window_* where necessary.
1712
1713         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
1714         our old DND.
1715
1716         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
1717         to interpret single characters as UTF-8. Thanks to Hans Breuer.
1718         Use correct function name in warning messages.
1719
1720         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
1721         GSourceFuncs gdk_event_prepare and gdk_event_check.
1722         (gdk_event_get_graphics_expose): Do implement, use
1723         PeekMessage. Thanks to Hans Breuer.
1724         (event_mask_string): Debugging function to print an GdkEventMask.
1725         (gdk_pointer_grab): Use it.
1726
1727         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
1728         (old) book I used claimed was Hangul actually is CJK Unified
1729         Ideographs Extension A. Also, Hangul Syllables were missing.
1730         Improve logging.
1731
1732         * gdk/win32/gdkgc-win32.c: Largish changes.
1733
1734         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
1735         g_win32_getlocale() from GLib, and not setlocale() to get current
1736         locale name.
1737
1738         * gdk/win32/gdkprivate-win32.h
1739         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
1740         gdkwin32.h, similarily as in the X11 backend.
1741
1742         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
1743         assignment was used instead of equals in if test. Thanks to Hans
1744         Breuer.
1745
1746         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
1747         the X11 version.
1748
1749         * gdk/win32/makefile.{cygwin,msc}
1750         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
1751         path to the Win32 headers that works also with the mingw compiler.
1752
1753         * gtk/gtkstyle.c: Include <string.h>.
1754
1755 2000-04-26  Havoc Pennington  <hp@redhat.com>
1756
1757         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
1758         replacing the broken gtk_label_get ()
1759
1760 2000-04-15  Havoc Pennington  <hp@pobox.com>
1761
1762         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
1763         this keeps scanner scripts from getting confused.
1764
1765         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
1766         data, rather than void
1767
1768 2000-04-15  Tor Lillqvist  <tml@iki.fi>
1769
1770         * gtk/gtkclist.c (gtk_clist_motion)
1771         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
1772         with is_hint FALSE, get x and y from the event. They used to be
1773         used uninitialised. The Win32 backend never sends motion events
1774         marked as hints. This for instance fixes the annoying file and
1775         font selector behaviour in the Win32 version.
1776
1777 2000-04-14  Tor Lillqvist  <tml@iki.fi>
1778
1779         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
1780         gtk_private_n_signals variables, they are used by some software,
1781         sigh.
1782
1783         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
1784         installation directory from the Registry, where the installer
1785         should have put it.
1786
1787 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
1788
1789         * gdk/x11/Makefile.am: Fix problem with installation directory for
1790         gdkx.h
1791
1792         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
1793         <mrcooger@cyberverse.com> so that when selecting menus with the
1794         mouse, the first item will not be selected, but when selecting
1795         with an accelerator, or navigating left-right on a menubar with
1796         the menus popped up, the first item will be selected.
1797
1798 2000-04-05  Dan Damian  <dand@dnttm.ro>
1799
1800         * configure.in: Added "ro" to ALL_LINGUAS.
1801
1802 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
1803
1804         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
1805         indentation.
1806
1807         * Makefile.am (EXTRA_DIST): Fix typo.
1808
1809         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
1810         to catch gdkconfig.h
1811
1812         * gtk/gtkitemfactory.c: Added FIXME.
1813
1814 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
1815
1816         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
1817         s/return_if_fail/return_val_if_fail/g and add a return value.
1818
1819 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
1820
1821         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
1822         merge slipup.
1823
1824         * gdk/gdkinput.h: Fix missing line from merge.
1825
1826 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
1827
1828         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
1829         instead of gdkprivate.h.
1830
1831 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
1832
1833         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
1834         parent class to correctly be GtkDialogClass.
1835
1836 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
1837
1838         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
1839         toplevel windows and their immediate children by their parents,
1840         since the size of toplevel windows is out of our immediate
1841         control and we don't get any real benefit from trying to track
1842         this size for clipping.
1843
1844         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
1845         for input_only windows.
1846
1847         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
1848         to fix some hacks and make sure that we don't try to set the
1849         background of input only windows.
1850
1851 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
1852
1853         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
1854         the _really_ internal stuff, and leave gdkprivate.h for the fake private
1855         stuff that we've traditionally exposed.
1856
1857         * gdk/**.c: Use gdkinternals.h where appropriate.
1858
1859         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
1860         not include gdkprivate-x11.h, move all stuff of conceivable public
1861         interest into gdkx.h; keep all really private stuff in
1862         uninstalled header gdkprivate-x11.h.
1863
1864         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
1865         image->image_put on windows through a new function _gdk_window_draw_image()
1866         to allow us to do backing store for images. (Sort of ugly)
1867
1868         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
1869         contexts locally so that we can offset them properly when drawing 
1870         onto backing pixmaps.
1871
1872         * gdk/gdkinput.h: Reindented
1873
1874         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
1875         pixmap or color for the window, so we can properly initialize
1876         our double-buffer pixmaps, and also so that we temporarily set
1877         a background of None while scrolling.
1878
1879         * gdk/gdkregion.h: Revise region boolean operators to have an
1880         interface that is actually convenient - switch from creating new
1881         regions on every op, to "methods" that modify existing regions
1882         (A = A OP B). 3 argument forms which allow dest == src, would also
1883         be possible, but the current interfaces seem to map nicely
1884         onto what needs to be done. (There is quite a lot of region
1885         code in GDK now.)
1886
1887         * gdk/gdkregion.h: Add constructor from rectangle and a copy
1888         operator.
1889
1890         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
1891         gdkpoly-generic.h: Copy region code from Xlib, switch it over
1892         to 32 bit coordinates, modify it to be mostly GTK+ style
1893         and to have interfaces that match gdkregion.h.
1894
1895         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
1896         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
1897         create a backing pixmap and redirect all drawing to
1898         that backing pixmap until a matching gdk_window_end_paint().
1899
1900         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
1901         Create a special drawable class for GtkWindow's that 
1902         redirects the drawing to the backing pixmap as necessary
1903         and then calls the real operations in _gdk_windowing_window_class.
1904
1905         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
1906         Store invalid region for each window. Generate expose events for invalid
1907         region in an idle. This replaces both the expose compression
1908         and the redrawing queuing in GTK+. It is both more efficient and
1909         simpler than either one individually and far more so then the
1910         combination.
1911
1912         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
1913         Emulate 32 bit coordinates for windows with 16 bit coordinates
1914         by offsetting drawing, guffaw scrolling techniques and
1915         mapping/unmapping child windows as necessary.
1916
1917         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
1918         where, when invalid regions are processed, the region is stored,
1919         and if expose events come in that are detectably duplicate
1920         the processed exposes (by comparison of event serial numbers),
1921         the stored region is subtracted out of those exposes.
1922
1923         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
1924         regions newly exposed when scrolling or resizing windows.
1925         This, combined with forcing processesing of queued invalidated
1926         regions, gives nice flicker-free scrolling.
1927
1928         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
1929         invalidated regions after every scroll.
1930
1931         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
1932         emulation in GDK. Its, for all practical purposes just a
1933         GtkViewport/GtkFixed hybrid now.
1934
1935         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
1936         (16-bit) structures as necessary instead of just casting.
1937
1938         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
1939         in terms of the structures from gdkregion-generic.c, using appropriate
1940         offsets from GDK to X11 coordinates. Cache clip mask and
1941         origin and ts origin locally and only flush to the server
1942         when drawing, to avoid constantly setting and resetting these
1943         values when offsetting GC's for scrolling and backing pixmaps.
1944
1945         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
1946
1947         * gtk/gtkcontainer.c: Call process_all_updates at end
1948         of resizing to reduce flicker. (Avoids having redraw
1949         lag arbitrarily behind resize under some circumstances)
1950
1951         * gtk/gtkentry.c: Remove old backing store code, and simply take
1952         advantage of the new backing store capabilities of GDK.
1953
1954         * gtk/gtkmain.c: Simple implementation of widget backing
1955         store - simply push a paint while handling each expose.
1956         (Should really be configurable widget for widget.)
1957         
1958         * gtk/gtkwidget.c: Remove all the old complicated redraw
1959         code, and simply invalidate the GDK windows from
1960         gdk_window_queue_clear(), etc. (Sigh, so much carefully
1961         debugged complexity ... gone to the winds.)
1962
1963         Remove all the code for suppressing expose events while
1964         resizes are pending; this isn't needed since the invalid
1965         areas won't be processed until after the resizes are
1966         processed, since they are in a lower priority idle.
1967
1968 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
1969
1970         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
1971         and height of dest rectangle for non-intersecting rectangles.
1972
1973 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
1974
1975         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
1976         for GdkRectangle.
1977
1978 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
1979
1980         * gdk/gdk{events,image,private,types,window}.h
1981          gdk/x11/gdkinputprivate.h: Change all coordinates
1982          from int16 to int. Also, Change width and height from
1983          unsigned to signed to avoid all the stupid C 
1984          signedness bugs.
1985
1986 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
1987
1988         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
1989         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
1990         Add some more detailed checking.
1991
1992         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
1993         New function to retrieve the depth of a drawable.
1994
1995         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
1996         field, reorder fields to save memory. 
1997
1998 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
1999
2000         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
2001         of the background image instead of scaling the background down to
2002         a line.
2003
2004         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
2005         which temporarily set slider to wrong size.
2006
2007         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
2008         queue_clear().
2009
2010 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
2011
2012 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
2013
2014         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
2015
2016 2000-03-17  Tor Lillqvist  <tml@iki.fi>
2017
2018         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
2019         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
2020
2021         * gdk/win32/gdkfont-win32.c
2022         * gdk/win32/gdkproperty-win32.c
2023         * gdk/win32/gdkselection-win32.c
2024         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
2025         now declared such.
2026
2027 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
2028
2029         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
2030
2031 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
2032
2033         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
2034         is called without trapping X errors.
2035
2036 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
2037
2038         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
2039         way into the fontset lists.
2040
2041 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
2042
2043         * gtk/gtkthemes.h: add extern "C" scope.
2044
2045 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
2046
2047         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
2048         to make appends to the list constant. (gtk-guy-990901-0.patch)
2049
2050 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
2051
2052         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
2053         for the typename hash table.
2054
2055 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
2056
2057         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
2058         to make sure we never divide by zero. 
2059         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
2060
2061 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
2062
2063         * gtk/gtkfontsel.c: Apply patch from
2064         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
2065         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
2066
2067         Also, some cleanups in atom handling.
2068
2069 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
2070
2071         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
2072         not GtkWidget.
2073
2074 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
2075
2076         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
2077         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
2078         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
2079         more guint wrap-around bugs before going to bed.
2080
2081 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
2082
2083         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
2084         guint wrap arounds in allocation.width.
2085
2086         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
2087         process untill we fit the allocation given.
2088
2089 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
2090
2091         * gtk/gtkwidget.c:
2092         (gtk_widget_unrealize): guard widget access with ref/unref
2093         around signal emission.
2094         (gtk_widget_hide): same here, but also check its destroyed
2095         state before queueing a resize.
2096
2097 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
2098
2099         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
2100         of gtk_default_insensitive_bg as insensitive base color.
2101
2102         * gtk/gtktext.c (gtk_text_style_set): set the background color according
2103         to the widget's state.
2104         (gtk_text_realize): same here.
2105         (gtk_text_state_changed): same here.
2106         (draw_bg_rect): compare background color against base[] from
2107         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
2108
2109 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
2110
2111         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
2112         grabs are active, unless a delete event is send to the toplevel
2113         of the currently grab holding widget.
2114
2115 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
2116
2117         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
2118         debugging g_print's.
2119
2120 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
2121
2122         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
2123         ever make the scrolled-window requisition ever depend on the 
2124         visibility state of the scrollbars for the AUTOMATIC policy. 
2125         This breaks the GTK+ requisition model, and causes loops.
2126
2127 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
2128
2129         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
2130         the default font to avoid problems with XFree86-4.0 where the
2131         default charset is iso10646-1, not iso8859-1.
2132
2133 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
2134
2135         * acinclude.m4
2136         * config.guess
2137         * config.sub
2138         * ltconfig
2139         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
2140
2141         * gtk/Makefile.am: minor cosmetic consistency tweak
2142
2143 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
2144
2145         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
2146         the activate_time to 0, so that we handle a quick
2147         press/release press/release properly and don't suppress
2148         the second release. (Red Hat bug #7545)
2149
2150 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
2151
2152         * gtk/gtkctree.c (row_delete):
2153         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
2154         bugs with destruction notifier, *always* update internal
2155         structures *before* calling user code.
2156
2157 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
2158
2159         A few more fixes for bug #5487, #2051, #2677.
2160         * gtk/gtkclist.c : 
2161         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
2162         not GDK_BUTTON_PRESS.
2163         (resync_selection): resync only if selection_mode is
2164         GTK_SELECTION_EXTENDED
2165         * gtk/gtkctree.c (resync_selection): same here
2166
2167 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
2168
2169         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
2170         gdk_drag_get_selection() and gtk_menu_detach().
2171
2172         [ From Jeroen Ruigrok/Asmodai ]
2173
2174 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
2175
2176         * gtk/gtknotebook.c (gtk_notebook_size_request): 
2177         page->tab_label can be NULL.
2178
2179 2000-01-25  Havoc Pennington  <hp@pobox.com>
2180         
2181         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
2182         arg is boolean
2183
2184         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
2185
2186         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
2187
2188         * gdk/gdkproperty.c (gdk_property_get): return boolean
2189
2190         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
2191
2192         * gdk/gdkim.c (gdk_im_ready): return boolean
2193
2194         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
2195
2196         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
2197         glib clash, should fix glib)
2198
2199         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
2200         (gdk_get_show_events): return gboolean, and canonicalize 
2201         to TRUE/FALSE
2202
2203         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
2204         colormap is private
2205         (gdk_colors_alloc): gboolean whether to be contiguous
2206         (gdk_color_equal): return gboolean since we are a predicate
2207         and not a qsort() (this looks semi-wrong due to glib breakage,
2208         IMO glib should be fixed)
2209         
2210         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
2211         (gdk_get_use_xshm): return gboolean
2212         (gdk_pointer_is_grabbed): return gboolean
2213
2214         * gdk/gdk.h: Change prototypes to match all the above changes,
2215         and re-run egtk-format-protos as required.
2216
2217 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
2218
2219         * gtk/gtkctree.c (resync_selection): 
2220         * gtk/gtkclist.c (resync_selection):
2221
2222         Return immediately if clist->drag_pos < 0. This is a workaround
2223         for the corrupt state that the clist gets into when a
2224         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
2225
2226         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
2227         
2228         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
2229         variable from recent commit.
2230
2231 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
2232
2233         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
2234
2235 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
2236
2237         * gtk/Makefile.am: prefix all autogenerated source that get build in
2238         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
2239         in builddir. since we subsequently cd into srcdir for autogeneration,
2240         the paths have to be stripped from the target file names, thusly we
2241         use $(@F) as target names now.
2242         put a comment about configure.in's --disable-rebuilds option,
2243         which can be used for non-writable source directories, for development
2244         setups though, srcdir has to be *writable*.
2245
2246 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
2247
2248         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
2249           Finish the job of allowing event to be NULL.
2250           (Fixes bug #4283, reported by Chris Blizzard)
2251
2252         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
2253           things so that the cursor appears on screen, properly
2254           take into account INNER_BORDER.
2255           (Fixes bug #4754, reported by Antonio Campos)
2256
2257 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
2258
2259         * gtk/gtknotebook.c (gtk_notebook_map): Don't
2260           show the tab_label unless it itself is visible.
2261
2262           gtk/gtknotebook.c (gtk_notebook_size_request):
2263           Do a better job of making sure that the visibility
2264           of the tab label corresponds to whether it should
2265           be mapped or not.
2266
2267 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
2268
2269         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
2270           Use the requisition, not the allocation, since the
2271           allocation has not necessarily been computed yet.
2272           (Pointed out by Eugene Osintsev)
2273
2274 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
2275
2276         * gtk/gtkstyle.c (gtk_style_new): Dont' set
2277           style/base[GTK_STATE_INSENSITIVE] both to
2278           gtk_default_insensitive_bg!
2279           (Bug #2187, reported by Jonathan Blandford)
2280
2281         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
2282           Add Alt_L, Alt_R to list of invalid accelerators.
2283           (Bug #3736, reported by Vlad Harchev)
2284
2285 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
2286
2287         * gtk/gtkfilesel.c (open_ref_dir): Fix several
2288         bugs which occured after an attempt to open 
2289         invalid home directory left cmpl_state->reference_dir == NULL.
2290
2291          - completion on files in home directory didn't work
2292          - completion on an empty string caused  segfault
2293
2294          (Bug #3768, reported by Steve Ratcliffe)
2295
2296         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
2297         cut and paste error that was causing scales to
2298         be incorrectly positioned.
2299         (Bug #2956,
2300          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
2301
2302 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
2303
2304         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
2305         when checking for dcgettext, if we've found we needed
2306         it for dgettext.
2307 +
2308 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
2309
2310         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
2311         queue_clear on NO_WINDOW widgets during a reparent,
2312         since at that point the window and widget heirarchies
2313         are out of sync. This stops crashing in some cases
2314         (the scrolled window reparent test, for instance), and
2315         _probably_ won't cause drawing errors.
2316
2317         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
2318         test do what it was supposed to do and be robust against
2319         window closings, etc. (Bug #2443)
2320
2321 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
2322
2323         * gtk/gtkentry.c: Fix return values on mouse events.
2324         (Bug #2686, Sky <seb_sky@yahoo.com>)
2325
2326         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
2327         (pointed out by George Lebl)
2328
2329         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
2330         (From Ettore Perazzoli  <ettore@helixcode.com>)
2331  
2332 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
2333
2334         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
2335         clicks between rows or outside calender area correctly.
2336         (Patch from Damon Chaplin)
2337
2338         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
2339         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
2340           Call destroy function when overwriting existing data. 
2341           (Pointed out by Damon Chaplin)
2342
2343 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
2344
2345         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
2346           which was causing problems on various systems with Xmu.
2347           This hasn't been needed for a very long time.
2348           (Fixes #1185 3167)
2349
2350 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
2351
2352         * gdk/gdki18n.h: Include <ctype.h> when defining
2353           gdk_isw* in terms of is* as a fallback.
2354           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
2355
2356 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
2357
2358         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
2359           realize the widget when it is size allocated!
2360           (old, old bug)
2361
2362         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
2363           Removed unused call to gdk_window_get_size() that
2364           showed up when the above was fixed.
2365
2366 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
2367
2368         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
2369           fix up widget->window when the widget is a
2370           NO_WINDOW container widget.
2371
2372 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
2373
2374         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
2375           to account for the fact that feof() does _not_ 
2376           return TRUE on errors, and thus avoid infinite loops
2377           when trying to use gdk_pixmap_create_from_xpm()
2378           on unreadable values.
2379
2380 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
2381
2382         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
2383
2384 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
2385
2386         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
2387           gdk_gc_set_dashes to take gint8 instead of gchar to
2388           make it clearer that it is _not_ a NULL terminated string.
2389
2390         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
2391           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
2392           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
2393           arguments.
2394
2395 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
2396
2397         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
2398         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
2399         background size relative to our allocation, guard against small
2400         allocations, we may have not yet been size allocated.
2401
2402 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
2403
2404         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
2405         not just version == 3. We implement all 3 + most of 4 - 
2406         (we don't support matching text/plain;charset=iso-8859-1
2407         to a dest that expects text/plain). We'll still advertise
2408         3 to be safe, but any client implementing version >= 3
2409         must interoperate with 3.
2410         
2411 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
2412
2413         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
2414         background and gc members, add a warning in gtk_tooltips_set_color()
2415         indicating that this function is deprecated.
2416
2417 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
2418
2419         * docs/gtkfaq.sgml: FAQ Update:
2420           - Minor cleanups (Emmanuel, me)
2421           - New questions:
2422                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
2423                 How can I retrieve the text from a GtkMenuItem? (timj)
2424                 How do I validate/limit/filter the input to a GtkEntry? (me)
2425                 Memory does not seem to be released when I free the list
2426                         nodes I've allocated (timj)
2427
2428 2000-03-07  Tor Lillqvist  <tml@iki.fi>
2429
2430         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
2431         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
2432         for which it is no use to call GetLastError onWin9x.
2433         (gdk_other_api_failed) New function, for general error
2434         reporting without calling GetLastError.
2435         (gdk_win32_api_failed) OTOH, this function always calls
2436         GetLastError. (gdk_win32_last_error_string) Remove this function,
2437         GLib has the equivalent now.
2438
2439         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
2440         call them with function name, file name and line number in the
2441         arguments.
2442
2443         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
2444         functions.
2445         
2446         * gtk/gtk.def: Add some missing entry points.
2447
2448         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
2449         gtk_paned_set_gutter_size, which don't exist any longer, as void.
2450         
2451         Fixes by Hans Breuer:
2452
2453         * gdk/makefile.msc: Update for debugging.
2454
2455         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
2456         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
2457         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
2458         in the dash_list.
2459
2460         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
2461         the x11 backend.
2462
2463         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
2464
2465         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
2466
2467 2000-03-04  Tor Lillqvist  <tml@iki.fi>
2468
2469         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
2470         just pixel value of background colour.
2471
2472         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
2473         containing code snippet previously duplicated in a couple of
2474         places.
2475         
2476         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
2477         gdk_colormap_color.
2478
2479         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
2480         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
2481         events for autorepeated Shift, Control and Alt keys. Use
2482         gdk_colormap_color.
2483
2484         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
2485         pointer is inside the window the cursor of which we are setting,
2486         call SetCursor immediately.
2487
2488         * gdk/win32/makefile.cygwin
2489         * gtk/makefile.cygwin: If we don't have the build number stamp
2490         file, use zero.
2491
2492         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
2493         gtk_paned_set_gutter_size as empty.
2494
2495         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
2496         
2497 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
2498
2499         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
2500           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
2501           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
2502           docs/gtk_tut.sgml docs/gtk.texi TODO:
2503
2504           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
2505
2506 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
2507
2508         * gtk/gtkcalendar.c: Implement num_marked_dates,
2509           and don't emit mutiple day_selected signals on
2510           month_prev.
2511
2512 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
2513
2514         * docs/make-todo (lineno): let title and logo be configurable so
2515         that GNOME can use this script too.
2516
2517         * TODO.xml: added logourl and a title
2518
2519 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
2520
2521         * TODO.xml: Added some UI items, and an explanatory
2522         comment at the top of the file.
2523
2524 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
2525
2526         * TODO.xml: some updates, added abunch of new entries.
2527         a note for those fiddeling with this file, when done
2528         with it, invoke:
2529         $ ./docs/make-todo TODO.xml >/dev/null
2530         and correct output errors before comitting changes.
2531
2532 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
2533
2534         * TODO.xml: Added XML-structured TODO file.
2535         * docs/make-todo: python script to turn TODO.xml into
2536           pretty XML output. 
2537
2538 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
2539
2540         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
2541         the function to let it draw the seven dots, instead of the old,
2542         much maligned, method.
2543         (draw_dot): New function to draw a dot.
2544
2545         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
2546         to draw the handle inside the border width as opposed to outside.
2547         Use paint function instead of gdk_draw_point.
2548
2549         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
2550         to draw the handle inside the border width as opposed to outside.
2551         Use paint function instead of gdk_draw_point.
2552
2553         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
2554         Change indenting to be more GTK like.
2555
2556 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
2557
2558         * docs/gtk_tut.sgml: New section on GtkCalendar
2559         * examples/calendar: Update example code
2560
2561 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
2562
2563         * docs/gtkfaq.sgml: FAQ Update
2564
2565 2000-02-19  Anders Carlsson  <andersca@gnu.org>
2566
2567         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
2568         to prevent the scroll event to be propagated upwards.
2569
2570 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
2571
2572         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
2573         OwnerGrabButtonMask from button entries for
2574         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
2575
2576         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
2577         to the event mask (which will result in button/press release
2578         being added to the event mask on Unix) so scrolling works
2579         for layouts in scroll windows.
2580
2581         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
2582
2583         Patch from Anders Carlsson  <andersca@gnu.org> to add
2584         a scroll event.
2585
2586         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
2587         scrolling to the "Test Scrolling" part of testgtk.
2588  
2589         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
2590  
2591         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
2592         it against GDK_SCROLL.
2593  
2594         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
2595         way of mouse wheel scrolling.
2596  
2597         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
2598  
2599         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
2600  
2601         * gtk/gtkmain.c: Removed previous mouse wheel hack.
2602  
2603         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
2604         gdk_event_mask_table.
2605  
2606         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
2607         GdkEventScroll handler.
2608  
2609         * gdk/gdkevents.h: Added GdkEventScroll structure.
2610  
2611 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
2612
2613         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
2614         and Anders Carlsson to change the Paned widgets so that they
2615         can be dragged from anywhere along the length. Also change
2616         the way that this is drawn to make this apparent.
2617
2618         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
2619         from George Lebl to check that option_menu->menu is present
2620         before getting history.
2621
2622 2000-02-14  Tor Lillqvist  <tml@iki.fi>
2623
2624         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
2625         before the assertion for non-NULL segment list.
2626
2627         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
2628         Seems that pattern brushes *must* be 8x8 pixels! At least on my
2629         machine, but it might be display driver dependent. Sigh, so make
2630         sure the stipple is that size. Does Windows suck or what?
2631
2632         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
2633         places.
2634
2635 2000-02-13  Havoc Pennington  <hp@pobox.com>
2636
2637         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
2638         refcount to 1
2639         (gdk_cursor_new): init refcount to 1
2640
2641         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
2642
2643 2000-02-13  Tor Lillqvist  <tml@iki.fi>
2644
2645         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
2646         so that we don't have to do unnecessary settings to the HDC.
2647
2648         * gdk/win32/gdkdrawable-win32.c
2649         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
2650         gdk_gc_predraw.
2651
2652         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
2653         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
2654         GDI paths, call WidenPath to get the outline of the stroken path,
2655         and then fill the outline (with the brush that was built from the
2656         stipple).
2657
2658         * gdk/win32/gdkgc-win32.c: Factor out common code from
2659         _gdk_win32_gc_new and gdk_win32_gc_set_values into
2660         gdk_win32_gc_values_to_win32values. Use correct colour for
2661         SetBkColor() (Until now the code actually used a random colour in
2662         the call to SetBkColor()... but that didn't show up as not many
2663         GDI APIs use the background colour. Pattern (opaque stippled)
2664         brushes do.)
2665
2666         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
2667         gdk_win32_api_failed): New functions for error logging.
2668
2669         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
2670         WIN32_API_FAILED to call them, passing function or file name and
2671         line number.
2672
2673         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
2674
2675         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
2676         GdkColor for foreground and background in GdkGCWin32Data.
2677
2678         * gdk/makefile.cygwin: Link in the resource object separately.
2679
2680         * gdk/win32/rc/gdk.rc
2681         * gtk/gtk.rc (New file)
2682         * gdk/win32/makefile.cygwin
2683         * gtk/makefile.cygwin: Update build number in DLLs automatically,
2684         as in GLib.
2685
2686 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
2687
2688         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
2689         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
2690         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
2691         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
2692         parameters given and cursor->ref_count. coding style fixups.
2693
2694         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
2695         not GtkWidget.
2696         
2697         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
2698         fix up widget macros and add _GET_CLASS() variant.
2699         
2700         * gtk/*.c: some GtkType fixups.
2701
2702 2000-02-09  Tor Lillqvist  <tml@iki.fi>
2703
2704         * gdk/win32/gdkproperty-win32.c
2705         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
2706         were reversed.
2707
2708 2000-02-04  Tor Lillqvist  <tml@iki.fi>
2709
2710         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
2711         g_filename_to_utf8 to convert the font names Windows gives us from
2712         whatever is the default codepage to UTF-8.
2713         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
2714         in the other direction.
2715
2716         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
2717         error in debugging output.
2718
2719 2000-02-02  Tor Lillqvist  <tml@iki.fi>
2720
2721         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
2722         and height parameters to gdk_window_clear_area(). Not minus one.
2723
2724 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
2725
2726         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
2727         checks if the widget passed to gtk_drag_get_data() was not the
2728         dest widget.
2729
2730 2000-02-01  Tor Lillqvist  <tml@iki.fi>
2731
2732         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
2733         g_filename_from_utf8 functions (which were added a moment ago to
2734         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
2735         size buffers.
2736
2737         gtk_file_selection_get_filename returns the filename in the C
2738         runtime encoding. It calls g_filename_from_utf8, but copies the
2739         returned string to a static buffer, which is returned. I think
2740         this is better than returning the result from g_filename_from_utf8
2741         directly, which would mean all apps that use it would have to free
2742         the return value. Or should this function care about this issue at
2743         all? Maybe a new function with clearly defined semantics.
2744
2745         * gtk/gtkfilesel.h: Add comment about
2746         gtk_file_selection_get_filename returning the filename in the C
2747         runtime's encoding.
2748
2749         * README.win32
2750         * gdk/gdk.def
2751         * gdk/makefile.{cygwin,msc}
2752         * gtk/gtk.def: Updates.
2753
2754         * gdk/gdkcursor-win32.c: Initialise refcount.
2755
2756 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
2757
2758         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
2759
2760 2000-01-30  Havoc Pennington  <hp@pobox.com>
2761
2762         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
2763         destroy
2764
2765         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
2766
2767         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
2768         implemented in platform-specific code
2769
2770         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
2771
2772         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
2773         underscore in front
2774
2775         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
2776         put an underscore in front
2777
2778         * gdk/gdkcursor.c: new file, implements
2779         gdk_cursor_ref/gdk_cursor_unref
2780
2781         * gdk/gdkcursor.h: Refcount GdkCursor
2782
2783         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
2784
2785 2000-01-29  Tor Lillqvist  <tml@iki.fi>
2786
2787         * gdk/gdkwindow.h
2788         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
2789
2790 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
2791
2792         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
2793         structures to properly inherit from GtkWidget not GtkBin.
2794
2795 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
2796
2797         * gtk+.spec.in: Added lib/gtk+/include/* to %files
2798         (bug #5178 - Peter Wainright)
2799         
2800         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
2801         so that it will be installed.
2802         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
2803
2804 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
2805
2806         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
2807         for the GtkStyleClass vtable const.
2808
2809         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
2810         take a const string argument like GtkTranslateFunc. This will
2811         require changes in use code.
2812
2813 2000-01-19  Tor Lillqvist  <tml@iki.fi>
2814
2815         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
2816         semantics (to mimic the X11 backend, which just calls XClearArea)
2817         is to check for zero width (and height), and in that case use the
2818         window's width minus x (height minus y). This fixes for instance
2819         some redraw problems with gtkclist, which were easily noticeable
2820         in the gtk file selection widget.
2821
2822         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
2823         windows.
2824
2825 2000-01-13  Tor Lillqvist  <tml@iki.fi>
2826
2827         * configure.in
2828         * gdk/Makefile.am
2829         * gdk/x11/Makefile.am
2830         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
2831         (bug #5177).
2832         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
2833         out later.
2834
2835 2000-01-09  Tor Lillqvist  <tml@iki.fi>
2836
2837         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
2838         WM_MOVE for iconified or invisible windows. This fixes various
2839         problems when minimising windows. Thanks to Bernd Herd.
2840
2841 2000-01-05  Tor Lillqvist  <tml@iki.fi>
2842
2843         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
2844         backend's draw_lines method, not draw_points.
2845
2846 2000-01-02  Tor Lillqvist  <tml@iki.fi>
2847
2848         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
2849         before Owen's reorganisation: Don't have queued_events and
2850         queued_tail statics in this file, but use gdk_queued_events and
2851         gdk_queued_tail. This makes exposure event compression work again.
2852
2853         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
2854         seem to be needed?
2855
2856 1999-12-30  Tor Lillqvist  <tml@iki.fi>
2857
2858         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
2859         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
2860         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
2861         doesn't do anything.
2862
2863         * gdk/gdk.def: Add gdk_xid_table_insert.
2864
2865         * gdk/win32/gdkprivate-win32.h
2866         * gdk/win32/gdkevents-win32.c
2867         * gdk/win32/gdkinput-win32.c
2868         
2869         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
2870         extension_events field in the GdkWindowWin32Data struct. Use only
2871         the extension_events field in GdkWindowPrivate. Previously one was
2872         set, and the other one tested, which broke tablet
2873         functionality. Thanks to Keishi Suenaga for pointing this out.
2874
2875 1999-12-18  Tor Lillqvist  <tml@iki.fi>
2876
2877         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
2878         When handling a single character (text length == 1), don't handle
2879         it as if it was UTF-8.
2880
2881 1999-12-11  Tor Lillqvist  <tml@iki.fi>
2882
2883         * Makefile.am: Distribute README.win32.
2884         
2885         * gdk/Makefile.am
2886         * gdk/win32/Makefile.am: Distribute Win32 files.
2887
2888         * gdk/makefile.msc: New file.
2889
2890         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
2891         after label).
2892
2893         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
2894         gdk_error_code as GDKVAR, as they are referred outside GDK.
2895
2896         * gdk/win32/makefile.msc: Update.
2897
2898         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
2899         tweaks. Check only if at least one of those Unicode subrange bits
2900         we care for is set. If no code page bits are set, guess (wildly)
2901         based on the charset.
2902
2903         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
2904
2905         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
2906         non-NULL.
2907
2908         * gtk/gtkdnd.c
2909         * gtk/gtklayout.c
2910         * gtk/gtkplug.c
2911         * gtk/gtkselection.c
2912         * gtk/gtksocket.c
2913         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
2914         appropriate. There must be a cleaner way to handle this?
2915
2916         * gtk/gtkrc.c: Must include windows.h on Win32.
2917
2918         * gtk/testgtk.c: No need to include gdkx.h.
2919
2920         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
2921
2922 1999-12-07  Tor Lillqvist  <tml@iki.fi>
2923
2924         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
2925         the rbearing is set to the same as the width, but this should be
2926         fixed.
2927
2928 1999-12-06  Tor Lillqvist  <tml@iki.fi>
2929
2930         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
2931         function. If Windows doesn't tell us what Unicode subranges a font
2932         covers, guesstimate based on the codepages it covers. This will
2933         hopefully help those Windows versions or fonts that don't give us
2934         any useful Unicode subrange information with GetTextCharsetInfo.
2935         Call this function in gdk_font_load_internal.
2936
2937         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
2938         minor changes.
2939
2940 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
2941
2942         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
2943         New function, long needed.
2944
2945 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
2946
2947         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
2948         only_if_exists argument of gdk_atom_intern to
2949         bool.
2950
2951 1999-11-25  Tor Lillqvist  <tml@iki.fi>
2952
2953         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
2954         Fix two copy&paste errors.
2955
2956         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
2957         win32 has changed.
2958
2959         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
2960         GdkWin32SingleFont struct.
2961
2962         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
2963         subranges of loaded fonts. Clear font signature first, in case
2964         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
2965         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
2966
2967         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
2968         Unoffset clip region.
2969
2970 1999-11-23  Tor Lillqvist  <tml@iki.fi>
2971
2972         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
2973         event->any.window before calling filter functions.
2974
2975 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
2976
2977         * gtk/gtkgamma.h: Adapt cast macros to standard.
2978
2979 [ Merges from 1.2 ]
2980
2981 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
2982
2983         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
2984         If translation does not include a '/', use entire
2985         translation instead of crashing.
2986
2987 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
2988
2989         * docs/gtk_tut.sgml:
2990         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
2991
2992 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
2993
2994         * gtk/gtkselection.c (gtk_target_list_remove): Use
2995         g_list_remove_link, not g_list_remove.
2996
2997         [ From Geert Bevin <gbevin@thunderstorms.org> ]
2998         
2999 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
3000
3001         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
3002         statement upon unselection (how the heck did that slip in?).
3003
3004 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
3005
3006         * gtk/gtktext.c (gtk_text_freeze): 
3007         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
3008         in frozen state (and aparently crashes). patch provided by Anders
3009         Melchiorsen <and@kampsax.dtu.dk>.
3010
3011 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
3012
3013         * fix insensitive default/focus widget activation,
3014         reported by Matt Goodall <mgg@isotek.co.uk>.
3015
3016         * gtk/gtkwindow.c (gtk_window_key_press_event): 
3017         (gtk_window_activate_default):
3018         (gtk_window_activate_focus):
3019         return handled=FALSE for actiavtion of insensitive default
3020         widgets. return handled=TRUE for activation of insensitive
3021         focus widgets. don't activate in either case.
3022
3023 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
3024
3025         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
3026         and $glib_cflags to match library order and in the
3027         theory that an old version of GLib is more likely to
3028         be in the include directory for X then vice-versa.
3029         (Bug #2776)
3030
3031 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
3032
3033         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
3034         to determine the locale for fontsets, not LC_MESSAGES;
3035         the user may want English messages with a handling
3036         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
3037         will still be broken) (Bug #2891)
3038
3039 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
3040
3041         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
3042
3043 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
3044
3045         * gtk/gtkrc.ko: Changed the Korean default fontset.
3046
3047 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
3048
3049         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
3050         where when scrolling to the left or top double exposes
3051         were done, causing major slowdowns.
3052
3053 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
3054
3055         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
3056         names to lowercase and alphanumeric, before looking
3057         them up.
3058
3059         * gtk/Makefile.am: Install codeset variant gtkrc files
3060         with normalized names.
3061
3062 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
3063
3064         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
3065         popup menus when the menu is already visible, but its parent
3066         is still hidden, (happens after tornoff window got hidden).
3067
3068 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
3069
3070         * gtk/Makefile.am (install-data-local): Fix
3071         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
3072         deleted, causing error messages on install.
3073
3074 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
3075
3076         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
3077         the handle as well, since we now sometimes ignore
3078         exposes on the handle while resizing.
3079
3080 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
3081
3082         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
3083         extra g_free introduced in one of the last one or two 
3084         commits.
3085
3086 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
3087
3088         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
3089         consistent, put each style that a gtkrc.* file creates
3090         in a unique namespace, remove old files before installing.
3091
3092 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
3093
3094         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
3095         gtk_rc_init is called multiple times. (Yes, people who
3096         do that have bugs in their code.)
3097
3098 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
3099
3100         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
3101         Remove it since it's generated by the Makefile anyway
3102
3103 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
3104
3105         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
3106         device->info.axes for core pointer.
3107
3108 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
3109
3110         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
3111         idle_id, to deal with obsolete, broken C libraries.
3112
3113 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
3114
3115         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
3116         allocation->x/y twice!
3117
3118         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
3119         consistent with gtk_vscale_pos_trough().
3120
3121 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
3122
3123         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
3124         be queueing a resize on a toplevel container between
3125         the time we show it and when we map it. So, we need
3126         to test GTK_WIDGET_VISIBLE() for toplevels, and only
3127         use GTK_WIDGET_DRAWABLE() for child windows.
3128
3129 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
3130
3131         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
3132         (fixes bug #2144)
3133
3134 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
3135
3136         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
3137         container DRAWABLE (instead of VISIBLE), so we don't queue
3138         resizes on non-toplevel containers.
3139
3140 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
3141
3142         * gtk/gtkselection.[ch]: Make the data argument
3143         const guchar *.
3144
3145 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
3146
3147         * gtk/gtkwindow.c: Try to behave sensibly if 
3148         the focus widget is the window itself. (Should
3149         we allow this at all?)
3150
3151 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
3152
3153         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
3154         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
3155         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
3156         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
3157         in prototypes and implementations consistent (Tomas Ogren).
3158
3159         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
3160         before the widget is unparented (reported by damon).
3161
3162         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
3163         since we provide unsigned data anyways.
3164
3165 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
3166
3167         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
3168         the call to gtk_tooltips_layout_text() until later.
3169
3170         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
3171         Call gtk_widget_ensure_style() before using the style.
3172
3173 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
3174
3175         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
3176         for old widgets that don't propagate draws to all
3177         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
3178
3179 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
3180
3181         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
3182         for a redraw but just the widget that requested the resize.
3183
3184 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
3185
3186         * gtk/gtkcontainer.c: added new widget level method
3187         gtk_container_set_reallocate_redraws() and a GtkContainer flag
3188         reallocate_redraws : 1 to reflect the setting, exported this through
3189         the argument system as a boolean ::reallocate_redraws.
3190
3191         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
3192         on the widget because the allocation changes, do so as well for
3193         widget->parent if the parent has reallocate_redraws set to TRUE.
3194         with that containers requesting reallocation redraws get automatically
3195         redrawn if their children changed allocation (this unfortunately
3196         affects also other children that didn't change allocation, but we
3197         cannot work around that before 1.3).
3198
3199 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
3200
3201         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
3202         _and_ height are >0 (not _or_).
3203
3204         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
3205         instead of gtk_container_queue_resize(), which is a core gtk internal
3206         function (must have been on crack when i queued that).
3207
3208         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
3209         we can check more reliably if we want to discard expose events.
3210         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
3211         flag.
3212         
3213         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
3214         we simply trust these events. for deciding whether to discard exposes,
3215         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
3216         
3217 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
3218
3219         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
3220         queues of areas that are completely off screen.
3221
3222         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
3223         logic for handleboxes.
3224
3225         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
3226         check on width/height.
3227
3228 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
3229
3230         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
3231         we are fine with using $@ the way we do (if we actually encounter
3232         brokeness with $@ in VPATH builds because of additional path prefixes,
3233         we need to use $(@F) actually).
3234
3235 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
3236
3237         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
3238         short lived bugs, that would allow language bindings to do surgeries
3239         to our guts.
3240
3241 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
3242
3243         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
3244         where comparison was being done against an uninitialized
3245         value causing intermittant results depending on
3246         compiler flags. Also make it clearer that we aren't
3247         ever initializing the child as 0x0 (though this will
3248         be caught in gtk_widget_size_allocate())
3249
3250 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
3251
3252         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
3253         gtk_window_unset_transient_for() call after we do checks
3254         involving the old transient parent.
3255         [ From Lance Capser <lmc@cyberhighway.net> ]
3256
3257 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
3258
3259         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
3260         an empty file.
3261
3262 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
3263
3264         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
3265         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
3266
3267 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
3268
3269         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
3270         `$@' is valid only in the build dir, not after we've done 
3271         `cd $srcdir'.  Also use `test -f' instead of less portable
3272         `test -e'.
3273
3274 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
3275
3276         * gtk/gtktext.c (correct_cache_insert): Rewrite
3277          for simplicity, and hopefully correctness.
3278          (Fixes bug #1322, which was a segfault when
3279           on some insertions with the properties around
3280           the insertion set up just wrong.)
3281
3282         * gtk/gtktext.c (gtk_text_adjustment): When we receive
3283          a "changed" signal, clamp the new value to the adjustment
3284          bounds to avoid segfaulting if someone tries to change
3285          the adjustment to a bogus value. (Bug #1795)
3286
3287 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
3288
3289         * gtk/gtkmain.c: Ignore unexpected destroy notifies
3290         for children, for toplevel windows handle them
3291         like delete_event.
3292
3293         * gtk/gtkplug.c: Add an unrealize handler so that
3294         we unref plug->socket_window when we are done
3295         with it.
3296
3297 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
3298
3299         * gtk/gtktext.c (clear_area): Fix stupid signedness
3300          problem that was causing background to sometimes
3301          be misaligned.
3302
3303 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
3304
3305         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
3306         
3307         * gtk/gtkmenu.c (gtk_menu_position): Make
3308          sure we never position menus with negative x, y,
3309          since gtk_widget_set_uposition() can't handle that.
3310
3311         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
3312          Modify the positioning code a bit so that we always
3313          put the top-left corner onscreen. (This is for
3314          UI reasons, gtk_menu_position() now takes care of
3315          gtk_widet_set_uposition() brokeness.)
3316
3317 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
3318
3319         * gtk/Makefile.am: fixed up things for -jx, x > 1.
3320
3321 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
3322
3323         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
3324           RC style that is passed in. The lack of the ref
3325           before was a bug. If people worked around this
3326           bug, this will introduce a slight memory leak
3327           in their code. The code should typically look like:
3328
3329             rc_style = gtk_rc_style_new ();
3330             [...]
3331             gtk_widget_modify_style (widget, rc_style);
3332             gtk_rc_style_unref (rc_style);
3333
3334         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
3335           the style if it was already set.
3336
3337         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
3338           style if it was set before.
3339
3340 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
3341
3342         * gtk/testgtk.c (main): Add a check to see if we
3343           are being run from the correct directory and
3344           to quit nicely if we are not.
3345
3346         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
3347           static.
3348
3349 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
3350
3351         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
3352
3353         * gtk/gtkwindow.c:
3354         queue resizes unconditionally (gtk_widget_queue_resize will figure
3355         what to do if the window is not realized).
3356         (gtk_window_move_resize): only recenter the window
3357         for GTK_WIN_POS_CENTER_ALWAYS.
3358         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
3359         the same way as GTK_WIN_POS_CENTER.
3360
3361 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
3362
3363         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
3364         with (!(info->last_flags & GDK_HINT_POS)) instead of
3365         (!info->last_flags & GDK_HINT_POS).
3366
3367         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
3368         new_height unconditionally, because we use these values even if
3369         !default_size_changed && !hints_changed.
3370         comented the (default_size_changed || hints_changed) case with
3371         respect to resize rejects from the window manager.
3372
3373         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
3374         in the zvt condition hack, since this includes the window hints, set
3375         the hints after the handling_resize case.
3376
3377         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
3378         window is initially shown with to the geometry.
3379
3380 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
3381
3382         * gtk/gtkwindow.c (gtk_window_move_resize):
3383         s/size_changed/default_size_changed/g so i know what's
3384         really going on (frying brain on smaller flame now).
3385
3386 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
3387
3388         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
3389         we have size_changed upon handling_resize. this is a gross
3390         workaround for the broken zvt widget and should be removed in
3391         1.3 again (search for FIXME).
3392         Owen provided an accurate comment for this:
3393
3394         /* We could be here for two reasons
3395          *  1) We coincidentally got a resize while handling
3396          *     another resize.
3397          *  2) Our computation of size_changed was completely
3398          *     screwed up, probably because one of our children
3399          *     is broken. It's probably a zvt widget.
3400          *
3401          * For 1), we could just go ahead and ask for the
3402          * new size right now, but doing that for 2)
3403          * might well be fighting the user (and can even
3404          * trigger a loop). Since we really don't want to
3405          * do that, we requeue a resize in hopes that
3406          * by the time it gets handled, the child has seen
3407          * the light and is willing to go along with the
3408          * new size. (this happens for the zvt widget, since
3409          * the size_allocate() above will have stored the
3410          * requisition corresponding to the new size in the
3411          * zvt widget)
3412          *
3413          * This doesn't buy us anything for 1), but it shouldn't
3414          * hurt us too badly, since it is what would have
3415          * happened if we had gotten the configure event before
3416          * the new size had been set.
3417          */
3418
3419 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
3420
3421         * gtk/gtkrc.c: deal properly with the fact that RC
3422           style lists may include rc styles more than once.
3423
3424         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
3425           unused static function.
3426
3427         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
3428           stack of directories of RC files currently being
3429           parsed and implicitely add them to pixmap path.
3430           
3431           This fixes a bug where the directory would get
3432           appended then overwritten by pixmap_path declarations.
3433
3434           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
3435
3436         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
3437           theme's exit function. (Patch from Peter Wainwright,
3438           bug #1454)
3439
3440         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
3441           Add a destroy() handler to take care of removing
3442           group for menu item. (Fixes bug #1197)
3443
3444         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
3445           in warning message.
3446
3447 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
3448
3449         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
3450         roundtrip to figure window's width and height, since we know that
3451         anyways from widget->allocation.
3452
3453 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
3454
3455         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
3456           the hints after we request the new size.
3457
3458 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
3459
3460         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
3461           GTK_WIDGET_REALIZED() assertion - we can compute the
3462           hints before we are realized.
3463
3464         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
3465           hint changing so that we have a value of hints_changed
3466           when we decide whether to constrain the window size.
3467
3468         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
3469
3470         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
3471         change back to G_MAXINT.
3472
3473 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
3474
3475         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
3476         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
3477         contain uncluttered values.
3478         (gtk_window_compute_hints): simply assert that window is realized
3479         and that geometry_info is valid, since we rely on this anyways.
3480         (gtk_window_constrain_size): major cleanups to the code.
3481         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
3482         for the base size, instead of the minimums. use 32767 as max width
3483         and height (like in gtkwindow.c) instead of G_MAXINT.
3484
3485 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
3486
3487         * cleaned up the GtkContainer.need_resize flag handling mess, we
3488         only need to force resize requests when we were prematurely
3489         realized, or our widget tree was modified when we were temporarily
3490         hidden. handling these cases directly upon showing the window (i.e.
3491         while the GdkWindow is still unmapped) avoids the need to wait for
3492         a configure event response and therefore makes the GUI more snappier
3493         and avoids blank windows during the roundtrip.
3494
3495         * gtk/gtkwidget.c:
3496         (gtk_widget_hide): 
3497         (gtk_widget_show): don't queue resizes on toplevels, they know how
3498         to deal with matters.
3499
3500         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
3501         flag directly for not visible resize containers and spare us unecessary
3502         signal emissions.
3503
3504         * gtk/gtkwindow.c:
3505         (gtk_window_realize): if we need to enforce premature size allocation,
3506         queue a container resize so we are correctly resized later on.
3507         (gtk_window_init):
3508         (gtk_window_size_request):
3509         don't freak around with the ->need_resize flag,
3510         gtk_container_queue_resize() will care about that.
3511         (gtk_window_show):
3512         handle initial resizing issues here, we can handle matters better in
3513         this place, especially since we know that our GdkWindow is still
3514         unmapped.
3515         (gtk_window_move_resize):
3516         don't care about ->need_resize at all.
3517         handle size changes properly that occoured while we waited for a
3518         configure event.
3519
3520 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
3521
3522         * gtk/gtkwidget.c (gtk_widget_set_uposition):
3523         * gtk/gtkwindow.[hc] (gtk_window_reposition):
3524         Move the hint setting code from gtk_widget_set_uposition
3525         to here; set the hints so that we respect any previously
3526         set geometry hints.
3527
3528         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
3529         change the window hints here or move the window here,
3530         let that happen in gtk_window_move_resize().
3531
3532 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
3533
3534         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
3535         to already queued resizes (and therefore redraws) on a widget, check
3536         its anchestry as well.
3537
3538         * gtk/gtkcontainer.c:
3539         (gtk_container_queue_resize): clear resize widgets for resize
3540         containers before aborting prematurely. this is especially important
3541         for toplevels which may need imemdiate processing or their resize
3542         handler to be queued.
3543         (gtk_container_dequeue_resize_handler): added new internal function for
3544         gtkwindow.c.
3545
3546         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
3547         configure event, take possible changes in window position into account
3548         as well.
3549         if we request a new window size, queue up a resize handler that will
3550         last until the configure event response arrives.
3551         combined the ->need_resize case (initial show) with the general size
3552         (hints) changed case and added even more comments.
3553         if !auto_shrink, only revert to the old allocation if the new size
3554         is smaller than the current allocation.
3555
3556 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
3557
3558         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
3559                            gtk_window_set_geometry_hints
3560                            gtk_window_set_default_size):
3561         When hints are set, queue a resize so that the hints will
3562         be eventually reset on the toplevel.
3563
3564         * gtk/gtkwindow.c (gtk_window_show): Use
3565         gtk_window_compute_default_size(). Clear the need_resize flag
3566         on the initail map so that we don't unnecessarily trigger the
3567         resize code.
3568
3569         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
3570         into separate functions. Compare the hints we are setting
3571         with what we set last time so that we can accurately
3572         tell when we need to reset the hints.
3573
3574         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
3575         function to figure out the size from requisition
3576         and default_size.
3577
3578         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
3579         from fvwm to constrain a size to the geometry hints.
3580
3581         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
3582         to compare two sets of geometry hints.
3583
3584         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
3585         from gtk_window_set_hints(), just compute the hints,
3586         don't set them.
3587
3588         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
3589         code from gtk_window_move_resize() to separate function,
3590         rationalize a bit.
3591
3592 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
3593
3594         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
3595         structure into a new private structure.
3596
3597         * gtkrc.c: Split GtkRcStyle into public/private.
3598         In the private part, add a list of pointers to the
3599         RcStyle lists this RcStyle participates in.
3600
3601         * gtkrc.c: When a RcStyle is free, remove all
3602         lists referencing it from the 
3603         realized_style_ht hash, and free those lists.
3604         
3605         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
3606         gtk_rc_init(), since that adds the default styles
3607         to the list of parsed RC files again.
3608
3609         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
3610         
3611 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
3612
3613         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
3614         checks that ensure that a widget's allocation is at least 1 in width
3615         and height. (GNOME note: this doesn't affect old panel code anymore,
3616         because GtkSocket will request width and height of at least 1 since
3617         Fri Jul 23).
3618
3619         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
3620         allocated yet (happens if the user realizes the window prematurely),
3621         size request and allocate it.
3622         (gtk_window_size_allocate): guard against guint underflows.
3623
3624 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
3625
3626         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
3627         in gtk_built_sources, so gtk.defs gets built prior to all other
3628         sources.
3629
3630 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
3631
3632         * gtk/Makefile.am:
3633         invoke indent on gtkmarshal.*. 
3634         rewrote source generation rules, use COPYING as oldest source tag for
3635         a piggyback rule to generate all sources from (don't touch it ;).
3636         major cleanups, strip spaces on build rules for GNU Make.
3637
3638         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
3639         source and target files from commandline arguments. don't invoke indent.
3640
3641 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
3642
3643         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
3644         notebook after switch to avoid drawing problems.
3645         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
3646         
3647         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
3648         show them instead. 
3649         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
3650
3651 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
3652
3653         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
3654         notebook after switch to avoid drawing problems.
3655         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
3656         
3657         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
3658         show them instead. 
3659         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
3660
3661 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
3662
3663         * gtk/gtkwindow.c:
3664         we use window->need_resize from configure_event now, to indicate that
3665         the gtkwindow should keep its allocation (e.g. because the user resized
3666         the window through window manager handles). resize_count is now reliably
3667         used to figure whether we got the allocation we requested from the
3668         window manager.
3669         configure events get queued as resizes now, the real stuff (size
3670         computation and allocation) now only goes on in gtk_window_move_resize().
3671         GtkWindow's requisition now contains its *real* requisition (like all
3672         other widgets), *not* taking usize into account.
3673         geometry_info->last_{width|height} is now updated from set_hints() only
3674         so it always contains the last hints we set for the window manager.
3675         made some event handlers return TRUE instead of FALSE.
3676         the overall code should be much more straight forward now, and the
3677         significant code portions are accompanied by comments now.
3678         (gtk_window_set_hints):
3679         removed requisition argument and made it
3680         fetch the requisition through gtk_widget_get_child_requisition.
3681         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
3682         does that now.
3683         (gtk_window_show):
3684         ensure that the widget is realized before calling 
3685         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
3686         ensure that we got properly size requested and allocated before
3687         realization.
3688         (gtk_window_configure_event):
3689         ignore plain window moves, or reallocate the widget tree through the
3690         resize queue otherwise.
3691         (gtk_window_move_resize):
3692         mostly rewrote this function to figure window manager hints more
3693         reliably, coalesce window moves and resizes to reduce configure events
3694         and do actuall size allocations.
3695
3696 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
3697
3698         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
3699         that have a resize pending, because a redraw is already queued for them.
3700
3701         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
3702         hack to clear resize_widgets.
3703
3704         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
3705         for resize containers prior to size allocation. (this is also a bit
3706         ugly, but avoids side effects for stopped emissions and is thus more
3707         reliable).
3708         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
3709
3710         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
3711         function from gtk_tooltips_expose, as we connect to ::expose_event
3712         *and* ::draw now.
3713
3714 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
3715
3716         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
3717         checks.
3718         (gtk_target_list_unref): Likewise.
3719
3720         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
3721
3722 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
3723
3724         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
3725         guard against division by zero. (Fixes bug #1339)
3726
3727 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
3728
3729         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
3730         Prevent the trivial leak of information of allowing
3731         word motion when the entry is not visible.
3732
3733 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
3734
3735         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
3736         modality to error dialog as well as confirmation dialogs.
3737         (Bug #1803, reported by Rosanna Wing Sze Yuen)
3738
3739 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
3740
3741         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
3742         tree->view_lines.
3743         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
3744
3745         * gtk/Makefile.am (install-data-local): Solaris apparently
3746         has various troubles with ln -f; use rm first instead.
3747         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
3748
3749 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
3750
3751         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
3752         use `cp' followed by `rm' (the `rm' was already there).
3753
3754 July 30, 1999 Elliot Lee <sopwith@redhat.com>
3755         
3756         * configure.in: Fix autoconf warnings about cross compilation by
3757         trying to provide sane defaults for AC_TRY_RUN.
3758         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
3759         put them into $(srcdir) when generated. Also add a dependency of
3760         gtksignal.h on gtkmarshal.h for -j builds. 
3761         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
3762
3763 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
3764
3765         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
3766         GDK_THREADS_{LEAVE,ENTER} pair.
3767         (From Paul Fisher <pnfisher@redhat.com>)
3768
3769 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
3770
3771         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
3772         width and height are always >0 (owen).
3773
3774 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
3775
3776         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
3777         change that assured that a widget's allocated with and height are
3778         always >1, since this breaks *buggy* panel code. unfortunately this
3779         back-breaks the gimp's color selector.
3780
3781         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
3782         allocation is always >0 in width and height, before sending the
3783         configure event; this is a *gross* hack to get the gimp back to work.
3784         
3785         * marked both cases with TODO-1.3
3786
3787 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
3788
3789         * gtk/gtktext.c: Don't display wrap indicators when
3790         text is not editable and word wrap is on.
3791
3792 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
3793
3794         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
3795         option menus here as they are not derived from menu shell, assure that
3796         the option menu has a menu we can add items to.
3797
3798 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
3799
3800         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
3801         width/height to (gint) before calculations and check against < 0 to
3802         avoid guint wraparounds.
3803
3804 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
3805
3806         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
3807         width and height is never zero. sanity check both dimensions against
3808         32767 and issue a warning if the allocation is greater than that.
3809
3810 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
3811
3812         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
3813         to g_main_pending() as well.
3814
3815 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
3816
3817         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
3818         call to g_main_iteration() - since that will regrab
3819         GTK+ lock to process events.
3820
3821 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
3822
3823         * gtk/gtkwindow.c
3824         - Regularize with the rest of GTK+ by making widget->requisition
3825           not reflect the set_usize()
3826         - Always recompute geometry hints, then check if they
3827           changed before sending them to the X server. The
3828           previous checks for changes would fail in a number
3829           of circumstances. 
3830
3831 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
3832
3833         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
3834
3835 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
3836
3837         * gtk/gtkdnd.c:
3838         - Code cleanups
3839         - Instantaneously update on modifier key presses
3840         - Allow cancellation of the drag with Escape.
3841
3842 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
3843
3844         * gtk/testgtk.c (create_handle_box): Set the policy
3845         to auto_shrink - otherwise the appearance is rather
3846         strange when flipping between horizontal and vertical.
3847
3848 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
3849
3850         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
3851         (gtk_window_set_default_size): don't change a value if it's < 0.
3852         queue a resize.
3853
3854 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
3855
3856         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
3857
3858 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
3859
3860         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
3861         add an extra "/" when concating "/" + filename.
3862         (From Matt Grossman <mattg@oz.net>)
3863
3864 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
3865
3866         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
3867         for fg_gc if we set it for drawing pixmap.
3868
3869 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
3870
3871         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
3872         
3873         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
3874         already set, call old engine's destroy function and
3875         unref the old engine.
3876
3877 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
3878
3879         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
3880
3881 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
3882
3883         * gtk/gtkaccelgroup.h: mark certain functions as internal.
3884
3885 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
3886
3887         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
3888         expand behaviour changed.
3889
3890         * gtk/gtklabel.c (gtk_label_set_pattern):
3891         (gtk_label_set_justify):
3892         (gtk_label_set_line_wrap):
3893         don't bother invoking queue_clear, the reallocation does
3894         that for us, always free_words so the upcoming resize will
3895         relayout the label's contents.
3896
3897 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
3898
3899         * applied argument implementation patches from Elena Devdariani
3900         <elena@cogent.ca>.
3901
3902         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
3903         ::space_style, ::relief
3904         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
3905         * gtk/gtkpreview.c: ::expand
3906         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
3907         * gtk/gtknotebook.c: ::homogeneous
3908         * gtk/gtklabel.c: ::wrap
3909         * gtk/gtklist.c: ::selection_mode
3910         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
3911         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
3912         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
3913         * gtk/gtkclist.c: ::sort_type
3914         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
3915         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
3916
3917 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
3918
3919         * gtk/gtkstyle.c: Removed ill-thought-out part of last
3920         comment.
3921
3922 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
3923
3924         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
3925         counting right when we have to attach a new style
3926         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
3927
3928         * gtk/gtkstyle.c: Documented the refcounting
3929         peculularities of gtk_style_attach.
3930
3931 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
3932
3933         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
3934         window types.
3935
3936         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
3937         of GTK_TOPLEVEL for creating the window.
3938
3939 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
3940
3941         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
3942         the last argument (reported by Per Winkvist).
3943         
3944 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
3945
3946         Fixes for invisible XOR lines (Frank Loemker
3947         <floemker@TechFak.Uni-Bielefeld.DE>)
3948         
3949         * gtk/gtkclist.c (gtk_clist_realize): Always use
3950         a non-zero pixel for GDK_XOR.
3951
3952         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
3953         Use GDK_INVERT instead of GDK_XOR.
3954
3955 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
3956
3957         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
3958         signals if h/voffsets differ from adjustment values.
3959         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
3960
3961 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
3962
3963         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
3964         ::selection-done emissions up to the topmost menu shell.
3965
3966 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
3967
3968         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
3969         the user data on the window before destroying it.
3970
3971         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
3972         unrealize handler to take care of destroying 
3973         notebook->panel properly. 
3974         (Bug #1198 - Morten Welinder <terra@diku.dk>)
3975
3976         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
3977         of g_new and g_realloc to stop memory leak. (Actually,
3978         we could just use g_realloc(), but I'm not 100% sure
3979         that is portable).
3980         (Bug #1196 - Morten Welinder <terra@diku.dk>)
3981
3982 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
3983
3984         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
3985
3986         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
3987         for fontsets.
3988
3989         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
3990         with bin/button confusion.
3991
3992 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
3993
3994         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
3995         and show how preselection of radio items is done.
3996
3997 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
3998
3999         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
4000         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
4001         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
4002         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
4003         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
4004         * gtk/gtktable.c (gtk_table_attach): 
4005         * gtk/gtklist.c (gtk_list_insert_items): 
4006         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
4007         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
4008         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
4009         * gtk/gtkbin.c (gtk_bin_add): 
4010         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
4011         * gtk/gtkfixed.c (gtk_fixed_put): 
4012         * gtk/gtklayout.c (gtk_layout_put):
4013         general fixups to container_add logic. always realize child if
4014         child->parent is realized, only map the child and queue a resize
4015         if child and child->parent are both visible.
4016
4017 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
4018
4019         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
4020         instead of gtk_container_foreach to walk and unrealize children, so
4021         composite children get also unrealized.
4022         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
4023         (gtk_widget_map): assert that the widget is visible (basic constrain).
4024         (gtk_widget_real_map): assert that the widget is realized (basic
4025         constrain).
4026
4027 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
4028
4029         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
4030
4031 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
4032
4033         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
4034         file for iso-8859-2 locales.
4035
4036         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
4037
4038 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
4039
4040         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
4041          (Pointed out by andy@rz.uni-karlsruhe.de and others).
4042          Remove some suspicious and useless lines. 
4043
4044 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
4045
4046         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
4047         width,height = 0, 0 to mean - here to edge of window,
4048         instead of -1, -1, since the former is all we support.
4049
4050 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
4051
4052         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
4053         when removing from quit_functions list.
4054
4055 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
4056
4057         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
4058
4059 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
4060
4061         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
4062          When redrawing characters on non-visible entry, use appropriate
4063          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
4064
4065 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
4066
4067         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
4068         from drag coordinates.
4069         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
4070         use drag_dest_cell.
4071
4072         * gtk/gtktree (drag_dest_cell)
4073         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
4074         (Bug #1129)
4075
4076 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
4077
4078         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
4079         translate_* fields.
4080         (gtk_item_factory_finalize): invoke translate_notify independant from
4081         translate_data.
4082         (gtk_item_factory_set_translate_func): likewise.
4083         (gtk_item_factory_destroy): only remove ifactory pointer from those
4084         widgets that belong to us (stupid me).
4085
4086 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
4087
4088         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
4089         rc_style list when lookup succeeeds.
4090
4091 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
4092
4093         * gtk/gtkctree.c (resync_selection): 
4094         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
4095         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
4096         bug.
4097
4098 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
4099
4100         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
4101         Add some missing GDK_THREADS_ENTER()/LEAVE around
4102         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
4103
4104 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
4105
4106         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
4107         rather than emit_by_name.
4108
4109         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
4110         on the widget across multiple signal emissions.
4111         (gtk_editable_delete_text): same here.
4112         (gtk_editable_class_init): set widget_class->activate_signal after
4113         editable_signals[ACTIVATE] has been created.
4114
4115 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
4116
4117         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
4118         position here prematurely -- we might not have the
4119         right ->min_position and ->max_position yet.
4120
4121 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
4122
4123         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
4124         Add error traps so if the other end of the connection
4125         dies, we survive.
4126
4127         * gtk/gtkselection.c (gtk_selection_notify): Clean
4128         up properly when selection property retrieval fails.
4129         
4130         * gtk/gtkselection.c (gtk_selection_request): Correctly
4131         reject SelectionRequest notifies where the handler
4132         returns no data.
4133
4134 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
4135
4136         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
4137         when we've previously highlighted.
4138
4139         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
4140         emit two "drag_leave" signals for Motif drops.
4141
4142         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
4143         back the correct status messages when dropping from
4144         Motif onto a proxy window that is rejecting the
4145         drop.
4146
4147 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
4148
4149         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
4150         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
4151         to compare two argument values. added gtk_arg_to_valueloc() to set a
4152         variable from an arg through its location (pointer).
4153
4154         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
4155         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
4156         as gfloat*, uchars are collected as guchar*, ints are collected as
4157         gint*, etc...
4158
4159 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
4160
4161         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
4162         Include <string.h> instead of <strings.h>.
4163
4164         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
4165         (actually, a lot more duplicate includes occur if
4166          you trace through the sequence of #include's)
4167         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
4168         
4169 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
4170
4171         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
4172         gtk-a-higuti-990322-[0-3]
4173
4174         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
4175         that was causing -DX_LOCALE not to work.
4176
4177         * gtk/gtkrc.c (gtk_rc_init):
4178         X_LOCALE will never have LC_MESSAGES defined
4179
4180 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
4181
4182         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
4183         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
4184
4185         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
4186         left/right as well (gtk-michael-980726-0.patch.gz).
4187
4188         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
4189         for pointer values, use gchar instead of char. fixed uline allocation
4190         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
4191         chunks instead of G_ALLOC_ONLY.
4192         (gtk_label_size_request): always alter requisition as passed and leave
4193         widget->requisition alone.
4194         (gtk_label_set_text): allow NULL strings.
4195         (gtk_label_new): likewise.
4196
4197 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
4198
4199         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
4200
4201 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
4202
4203         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
4204         *and* mapped (i.e. drawable).
4205         (gtk_bin_expose): only send exposes to drawable children.
4206
4207         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
4208         (gtk_box_expose): only send exposes to drawable children.
4209
4210         * gtk/gtkhscale.c (gtk_hscale_draw): 
4211         * gtk/gtkvscale.c (gtk_vscale_draw):
4212         hm, this is an ugly one. we first compute the size of our trough area
4213         here (window relative) and then check intersection with the draw_area
4214         which is parent relative because we're a NO_WINDOW widget, so we need
4215         to offset the trough area by allocation.x and allocation.y before the
4216         check. (this must not be done for the background area though, since
4217         that's already computed parent relative).
4218
4219 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
4220
4221         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
4222         unrealize title buttons.
4223
4224 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
4225
4226         * gtk/gtkclist.c (gtk_clist_column_title_passive)
4227         (gtk_clist_column_title_active): 
4228         only connect/disconnect to GtkWidgetClass::event to block mouse events.
4229
4230         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
4231         zero initialize event, removed superfluous gdk_window_get_pointer call
4232
4233         * gtk/gtklist.c (gtk_list_vertical_timeout)
4234         (gtk_list_horizontal_timeout): removed superfluous
4235         gdk_window_get_pointer call
4236
4237 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
4238
4239         * plugging problems reported by "Bruce Mitchener, Jr."
4240         <bruce@puremagic.com> due to a purify session.
4241
4242         * gtk/gtkstyle.c:
4243         (gtk_style_ref): 
4244         (gtk_style_unref): assert ref_count to be > 0.
4245
4246         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
4247         the requisition.
4248         (gtk_clist_set_shift): likewise.
4249
4250         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
4251         adjustments.
4252
4253         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
4254         event before sending it and set send_event to TRUE (which needs to
4255         be done for *all* synthesized events).
4256         (gtk_list_vertical_timeout): likewise.
4257
4258         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
4259         leaks.
4260
4261         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
4262         to TRUE when synthesizing events.
4263
4264 [ *** end of merges from 1.2 *** ]      
4265         
4266 1999-11-21  Tor Lillqvist  <tml@iki.fi>
4267
4268         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
4269         (or copied from gdkconfig.h.win32 on Win32, sigh).
4270
4271         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
4272
4273         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
4274
4275         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
4276
4277         * gdk/gdkconfig.h.win32: New file.
4278
4279         * gdk/win32/makefile.cygwin: Build just a static archive here.
4280
4281         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
4282         for the DLL from the static archive built above.
4283
4284         * gdk/gdk.def: Moved here from the win32 subdirectory.
4285
4286         * gdk/win32/*: Adapt for the changed private struct organisation.
4287
4288         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
4289
4290 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
4291
4292         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
4293         for wheel mice (buttons 4 and 5).
4294
4295 1999-11-18  Tor Lillqvist  <tml@iki.fi>
4296
4297         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
4298         drawables use just the pixel field in the foreground and
4299         background GdkColor of the GdkGC.
4300
4301         gdk_gc_set_{fore,back}ground() are called in the GIMP with
4302         GdkColors containing uninitialized (red,green,blue) fields, and
4303         just the pixel field filled in, and furthermore in the
4304         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
4305         It thus turns out that we really don't need to have the full
4306         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
4307         it later to have just the pixel values.
4308
4309 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
4310
4311         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
4312
4313 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
4314
4315         * docs/gtkfaq.sgml: threads example from Erik Mouw.
4316         New question on GtkLabel background colors.
4317
4318         * docs/gtk_tut.sgml:
4319           - Correct the example code callback
4320             function definitions.
4321           - Update the gtkdial example code, from Frans van Schaik.
4322           - Update setselection.c to current API.
4323
4324         * examples/Makefile examples/*/*.c: Update to code
4325         listed in tutorial.
4326
4327 1999-11-10  Tor Lillqvist  <tml@iki.fi>
4328
4329         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
4330         subrange table (from the "Developing International Software for
4331         WIndows 95 and Windows NT" book) was missing the Hangul syllable
4332         block... Get the loaded font's charset correctly.
4333
4334         (Note that this, and the other *-win32.c files, still really are
4335         the old ones, the win32 subdirectory is not ready for compilation
4336         yet after the reorg.)
4337
4338 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
4339
4340         * gtk/gtkclist.c: Fix off-by-one bug in parameter
4341         check.
4342
4343 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
4344
4345         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
4346         on results of XQueryDeviceState().
4347
4348 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
4349
4350         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
4351         we need to accesss only ->children. We need an accessor
4352         for the children.
4353
4354         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
4355         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
4356         to get rid of gdkx.h include.
4357         
4358         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
4359         and random references to 'None'.
4360
4361         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
4362         Get rid of unused #include <gdk/gdkx.h>
4363
4364         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
4365         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
4366         gdkconfig.h.
4367
4368 1999-11-08  Tor Lillqvist  <tml@iki.fi>
4369
4370         * gdk/win32/gdkdraw.c
4371         * gdk/win32/gdkfont.c
4372         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
4373         following yesterday's changes. (Unrelated to Owen's reorg.)
4374
4375 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
4376
4377         * gdk/x11/gdkinput-gxi.c: Add missing include,
4378           fix GdkWindowPrivate => GdkDrawablePrivate.
4379
4380         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
4381
4382         * gdk/x11/Makefile.am (xinput_sources): Add missing
4383         backslash to fix building with --with-xinput=none
4384
4385 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
4386
4387         Move all X specific code into the x11/ directory.
4388         Aside from shuffling things around, did the following:
4389
4390        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
4391          gdk_arg_context_* - a simple argument parsing system
4392          in the style of popt.
4393
4394        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
4395          gdk/x11/gdkprivate-x11.h:
4396          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
4397          add ->klass and ->klass_data fields. The klass_data
4398          field points to an auxilliary structure that is
4399          windowing system dependent.
4400
4401        * gdk/gdkfont.c: Make most of the measurement functions
4402          simply wrappers around gdk_text_extents().
4403
4404        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
4405          _gdk_font_strlen() function that hides the weird
4406          behavior in gtk+-1.[02] where a string is interpreted
4407          differently for 8-bit and 16-bit fonts.
4408
4409        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
4410          to store common code for synthesizing double/triple
4411          press events.
4412         
4413        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
4414          Make all the function that modify an existing GC
4415          simply wrappers around gdk_gc_set_values().
4416          
4417        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
4418          for throwing out later.
4419
4420        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
4421          GdkImagePrivate and GdkColormapPrivate to have a
4422          windowing system dependent part (GdkFontPrivateX etc.)
4423          that "derives" from the system-independent part.
4424
4425        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
4426          Got rid of the included-source-files for XInput in
4427          favor of automake conditionals. (Which didn't exist
4428          when XInput support was originally added.)
4429
4430        * gdk/gdkrgb.c: Remove the visual id from the debugging
4431          statements since that is X11 specific; print out
4432          type/depth info instead.
4433          
4434
4435 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
4436
4437         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
4438         loading duplicates of hashed fonts.
4439
4440         * gdk/gdk.c (gdk_keysym_convert_case): rename
4441         gdk_XConvertCase to gdk_keysym_convert_case, allow
4442         results to be NULL in the GTK+ style.
4443
4444         * gdk/gdkcompat.h: Started compatibility header
4445         for renames.
4446
4447 1999-11-07  Tor Lillqvist  <tml@iki.fi>
4448
4449         * gdk/win32/gdkprivate.h: New font private structures, related to
4450         fontsets.
4451
4452         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
4453         gdk_font_list_free(). On X11, will just be wrappers to
4454         XListFonts() and XFreeFontNames(). On Win32, the code previously
4455         in gtkfontsel.c is now here.
4456
4457         New function gdk_font_xlfd_create(). On X11 will get the FONT
4458         property of the font (for GDK_FONT_FONTs), or call
4459         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
4460         builds a XLFD style name from the font information in the LOGFONT
4461         struct(s).
4462
4463         New function gdk_font_xlfd_free(), which correspondingly frees the
4464         string returned by gdk_font_xlfd_create().
4465
4466         Implement fontsets on Win32. Add a function that iterates over a
4467         wide char string and calls a callback function for each substring
4468         of wide chars from the same Unicode subrange (and thus probably
4469         available in the same real font).
4470
4471         Improve the XLFD emulation a bit.
4472
4473         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
4474
4475         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
4476         Beta3, WM_IME_CHAR messages don't seem to contain the composed
4477         multi-byte char as with the Active IMM on Win9x. Oh well, handle
4478         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
4479         ImmGetCompositionStringW() to get the composed Unicode chars.
4480
4481         * gdk/win32/gdkgc.c
4482         * gdk/win32/gdkdraw.c: Changes needed because of the font private
4483         struct changes.
4484
4485         * gdk/win32/gdk.def: Add the new functions.
4486
4487 1999-11-04  Tor Lillqvist  <tml@iki.fi>
4488
4489         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
4490         get the Platform SDK to get <dimm.h>.
4491
4492         * gdk/win32/gdkevents.c: More event handling fixes and
4493         simplification. Never generate motion events with is_hint true. We
4494         used to do that on bogus grounds earlier. Windows sends
4495         WM_MOUSEMOVE messages on button events even if the mouse hasn't
4496         moved, ignore these.
4497
4498         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
4499
4500         * gdk/win32/gdkglobals.c
4501         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
4502         the TrackMouseEvent function, and use it.
4503
4504         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
4505         char before calling WideCharToMultiByte in order to get a string
4506         for the window title.
4507
4508         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
4509
4510         * gdk/win32/gdk.def: Remove obsolete functions.
4511
4512         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
4513         /nodefaultlib and /defaultlib switches.
4514
4515         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
4516
4517 1999-10-31  Tor Lillqvist  <tml@iki.fi>
4518
4519         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
4520         EuroSign).
4521
4522         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
4523         same type as GdkWChar, especially on Win32.
4524
4525         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
4526
4527         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
4528         before passing to Windows GDI for drawing etc. Convert to the
4529         system default codepage before passing to Windows as window
4530         titles.
4531
4532         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
4533         support changing input locale on the fly.
4534
4535         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
4536         on-the-fly changes. Convert incoming characters from the current
4537         codepage to Unicode (and then to a UTF-8 multi-byte string) based
4538         on the current input language. Use keysym<->Unicode mapping tables
4539         and functions borrowed from xterm sources.
4540
4541         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
4542         editions of Win9x, use the ActiveX-based Active IMM (Input Method
4543         Manager) if available. IMEs and the Active IMM are available under
4544         the disguise of Chinese, Korean and Japanese support for IE and
4545         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
4546         support is present in all editions (as long as you install it).
4547
4548         Call DispatchMessage from gdk_events_queue() (and thus
4549         gdk_WindowProc()), instead of duplicating the code in
4550         gdk_WindowProc().
4551
4552         Reworked the grab handling and propagation code, factored out
4553         duplicated code snippets into separate functions. Other cleanups,
4554         too.
4555
4556         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
4557         the <dimm.h> header describing the Active IMM.
4558
4559         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
4560         just do the same as for "single" fonts.
4561
4562         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
4563         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
4564         the new keysyms from gdkkeysyms.h.
4565
4566         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
4567         fontset, so that gtkentry uses wide characters.
4568
4569         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
4570         GTk+'s system directory "gtk+", not "gtk".
4571
4572 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
4573
4574         * docs/gtkfaq.sgml: FAQ update
4575
4576 1999-10-21  Tor Lillqvist  <tml@iki.fi>
4577
4578         * gdk/win32/gdkprivate.h: Add more font private data.
4579
4580         * gdk/win32/gdkfont.c
4581         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
4582         fonts and strings. Now works much better. You still have to
4583         have a correct font selected, though. No fontset emulation yet.
4584
4585 1999-10-19  Tor Lillqvist  <tml@iki.fi>
4586
4587         * gtk/maketypes.awk: Use G_OS_WIN32.
4588
4589         * gtk/gtk.def: Add some missing entry points. Also some non-public
4590         ones, but PyGTK porter claims to need them.
4591
4592         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
4593         built-in type generation.
4594
4595 1999-10-14  Tor Lillqvist  <tml@iki.fi>
4596
4597         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
4598         GDK_FONT_FONT fonts (which is all we have for now, we don't
4599         emulate fontsets). The X11 version uses plain XDrawString in that
4600         case, too. The string passed to gdk_draw_text_wc seems to be in
4601         fact (at least, when used by gtkentry and gtktext) either in a
4602         single-byte charset, or a DBCS. Not Unicode.
4603
4604         This fixes the problem in gtkfontsel, where even if you had
4605         selected a font with a non-Latin1 charset (windows-greek, for
4606         instance), the preview still used Latin-1 glyphs.
4607
4608         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
4609         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
4610         (gdk_font_load): Recognize the demibold etc weights, even if we
4611         don't have the corresponding constants in the headers.
4612         (gdk_font_hash_insert): Use same hash mechanism as in the X11
4613         version. Should save font resources a bit, when we don't have
4614         multiple HFONTs for the same font.
4615
4616         * gdk/win32/gdkprivate.h: Add the names field as in the X11
4617         version.
4618
4619 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
4620
4621         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
4622         X values
4623
4624 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
4625
4626         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
4627         layout support (as mentioned on
4628         http://www.jcinteractive.com/gnome-ui/software/widgets/)
4629
4630 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
4631
4632         * gtk/fnmatch.c
4633         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
4634
4635 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
4636
4637         * configure.in (ALL_LINGUAS): Added Galician (gl)
4638
4639 1999-10-05  Tor Lillqvist  <tml@iki.fi>
4640
4641         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
4642
4643         * gdk/win32/gdkcompat.c: New file, actually provide an
4644         implementation for the deprecated functions. (Just temporarily.)
4645
4646         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
4647
4648         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
4649
4650         * gdk/win32/gdk.def gtk/gtk.def: Updates.
4651
4652 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
4653
4654         * configure.in: Added "uk" to ALL_LINGUAS.
4655         
4656 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
4657
4658         * configure.in: correct checking for BeOS check
4659
4660         * gdk/gdktypes.h
4661         * gtk/fnmatch.c
4662         * gtk/gtkfilesel.c
4663         * gtk/gtkitemfactory.c
4664         * gtk/gtkmain.[ch]
4665         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
4666
4667 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
4668
4669         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
4670         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
4671         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
4672         by Bulgarian). 
4673
4674 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
4675
4676         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
4677         Fix a reference to window_private->destroyed.   
4678
4679         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
4680         (ugly) setting of an internal GdkWindow member to use
4681         a _slightly_ cleaner macro.
4682
4683         * gdk/gdkprivate.h: Split GdkWindowPrivate into
4684         GdkDrawablePrivate and GdkWindowPrivate.
4685         Add extra macros for accessing GDK_DRAWABLE_ components.
4686
4687         * *.[ch]: Massive adjustments for the above, use the
4688         new macros in a lot of places.
4689
4690 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
4691
4692         * gdk/gdktypes.h: Make GdkDrawable the base type,
4693         not GdkWindow.
4694
4695 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
4696
4697         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
4698
4699 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
4700
4701         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
4702
4703 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
4704
4705         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
4706         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
4707
4708         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
4709
4710         * docs/gtk-config.1: Now autogenerated.
4711         * docs/Changes-1.4.txt: started
4712         
4713 1999-10-03  Tor Lillqvist  <tml@iki.fi>
4714
4715         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
4716         to #ifdef also here.
4717
4718         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
4719         Owen did to the X11 backend.
4720
4721         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
4722         ScrollWindowEx when blitting inside a window, it can't be correct
4723         in the general case.
4724
4725         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
4726         WM_GETMINMAXINFO is easier.
4727
4728         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
4729         depth equal to the bitspixel value, not the visual's depth.
4730
4731         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
4732         to 24 even if the bitspixel value is 32.
4733
4734         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
4735         need to check for depth==32 when bpp==32, depth will always be 24.
4736
4737 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
4738
4739         * docs/Changes-1.4.txt: Started
4740         
4741         * gtk/Makefile.am (gdk_headers): Include all the new headers.
4742
4743         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
4744         
4745         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
4746         into C file.
4747         
4748         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
4749         header to gdkinputprivate.h.
4750
4751         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
4752         unused since before 1.2.
4753
4754 1999-09-30  Tor Lillqvist  <tml@iki.fi>
4755
4756         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
4757         expand possible hex escapes in the font family (put there by
4758         logfont_to_xlfd if the font name isn't a legal XLFD font family,
4759         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
4760         On Win32, add hex escapes here, too.
4761
4762 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
4763
4764         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
4765         to #ifdef GDK_WINDOWING_X11.
4766
4767 [ Merges from gtk-1-2 ]
4768
4769 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
4770
4771         * configure.in: fixed "GNU Make" check to pass with new make version
4772         3.77.95.
4773
4774 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
4775
4776         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
4777         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
4778         AM_PATH_GTK() macros don't get confused by the -pre1.
4779
4780 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
4781
4782         * configure.in (REBUILD): Change check for perl5
4783           to check explicitely for v >= 5.002. (5.001
4784           does not work with our scripts.)
4785
4786 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
4787
4788         * configure.in: evaluate $PERL for the perl version check. added
4789         --disable-rebuilds to give the user an option to completely disable
4790         any source autogeneration rules.
4791
4792 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
4793
4794         * configure.in: evaluate $ac_make when checking for GNU Make.
4795
4796 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
4797
4798         * docs/Makefile.am: added generation.txt.
4799
4800         * Makefile.am: require automake 1.4, build README from README.in and
4801         INSTALL from INSTALL.in in dist-hook.
4802         
4803         * README.in:
4804         * INSTALL.in: new files to autogenerate README and INSTALL from.
4805
4806         * configure.in: figure whether we have GNU Make
4807
4808         * docs/generation.txt: minor additions/corrections.
4809
4810 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
4811
4812         * docs/gtkfaq.sgml: FAQ Update
4813
4814 July 30, 1999 Elliot Lee <sopwith@redhat.com>
4815         
4816         * configure.in: Fix autoconf warnings about cross compilation by
4817         trying to provide sane defaults for AC_TRY_RUN.
4818
4819 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
4820
4821         * ltconfig
4822         * ltmain.sh: upgrade to libtool 1.3.3
4823
4824 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
4825
4826         * INSTALL: Indicate that the --with-glib= configure
4827         time flag is unsupported.
4828
4829 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
4830
4831         * docs/generation.txt: Added a file that gives
4832         documenation about the autogeneration process for
4833         various autogenerated files.
4834         
4835 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
4836
4837         * configure.in (LIBS): Look for libgmodule in the
4838         right location.
4839
4840 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
4841
4842         * docs/gtk_tut.sgml: Removed references to
4843         code examples in my directory on gtk.org as
4844         they should all be in the tutorial now.
4845
4846         * docs/gtk_tut.sgml: Added sources for dial-test
4847         and scribble-xinput programs that were previously
4848         missing.
4849
4850 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
4851
4852         * TODO: Added entry about menu keyboard navigation, removed
4853         some finished items.
4854
4855 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
4856
4857         * acinclude.m4: Standardize on func_dgettext
4858         not func_gettext, so that the checks for dgettext
4859         actually are paid attention to.
4860
4861 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
4862
4863         * configure.in (LIBS): Add $INTLLIBS into $LIBS
4864         directly, rather than repeating the checks for
4865         gettext.
4866
4867         * INSTALL: Added information about gettext and
4868         NLS support.
4869
4870         * acinclude.m4 (LIBM): Check for dgettext, not
4871         just gettext. This should hopefully fix things wrt
4872         systems with old versions of GNU gettext installed.
4873
4874 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
4875
4876         * configure.in (LIBS): Look for libgmodule in the
4877         right location.
4878
4879 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
4880
4881         * autogen.sh: add --enable-maintainer-mode
4882
4883         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
4884
4885 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
4886
4887         * docs/gtk-config.1.in:
4888           docs/Makefile.am:
4889           configure.in: gtk-config is now generated.
4890
4891         * docs/gtk-config.1: Removed, now generated.
4892
4893 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
4894
4895         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
4896         handle CreateNotify itself, still put out a debuging message for
4897         --gdk-debug=events. made the ReparentNotify debugging message more
4898         verbose.
4899         wrap xcoords translation for ConfigureEvents into an error trap,
4900         a destroy event may already be pending, and in that case, the
4901         actuall coordinate values are not at all critical.
4902
4903 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
4904
4905         * gdk/gdkcc.c: Stop leaking the color_hash all over
4906         the place. Simplify and improve the logic.
4907
4908 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
4909
4910         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
4911         for prototypes and function implementations consistent (reported
4912         by Tomas Ogren).
4913
4914 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
4915
4916         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
4917         send_event set in debugging output.
4918         (gdk_compress_exposures): default initialize the event so we don't
4919         operate on bogus values (namely send_event).
4920
4921 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
4922
4923         * gdk/gdkwindow.c: When we receive an unexpected
4924         destroy notify on one of our windows, don't just
4925         warn about it, also mark our windows as destroyed.
4926
4927 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
4928
4929         * gdk/gdkfont.c (gdk_font_hash_insert): Add
4930           name => font and name => fontset hashes. The 
4931           name => fontset hash is a _big_ win since we
4932           weren't previously caching fontsets at all and loading
4933           fontsets is expensive. The name => font hash
4934           is less of a win, but it does save us from doing
4935           repeated XQueryFont calls on the same font.
4936
4937         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
4938           list so we can remove font/fontset from hash.
4939
4940 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
4941
4942         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
4943           and slightly confusing test. [ XInternAtom (,,TRUE)
4944           will never return None ].
4945
4946 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
4947
4948         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
4949           gdk/gdkwindow.c (gdk_window_set_hints):
4950
4951         Don't omit setting the properties if flags == 0 -
4952         there may be an existing set of properties there
4953         already. (Very old bug. Would it be better to
4954         delete the property instead?)
4955
4956         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
4957           spelling error in comment.
4958
4959 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
4960
4961         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
4962           to avoid stomping over gdk_error_warnings.
4963
4964         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
4965           as (bits_per_pixel + 7) / 8. This gives the same
4966           result as before for multiples of 8, but actually
4967           a "reasonable" value for 1bit or 4bit displays.
4968
4969 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
4970
4971         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
4972         GNU Make.
4973
4974 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
4975
4976         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
4977         discarding configure events.
4978
4979 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
4980
4981         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
4982         refcount is greater than zero.
4983
4984         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
4985
4986         * gdk/gdkfont.c (gdk_font_unref): Likewise.
4987
4988         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
4989
4990         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
4991
4992 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
4993
4994         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
4995         that format 32 => sizeof(item) == 4. It really is
4996         sizeof(long).
4997
4998 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
4999
5000         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
5001         core dump at all on X IO errors, only core dump
5002         if --enable-debug for X errors.
5003
5004 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
5005
5006         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
5007         unknown window:" message. disabled ConfigureNotify discarding code,
5008         because it led to events being processed out of order.
5009
5010 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
5011
5012         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
5013
5014         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
5015         we export this function, supress error warnings and don't reset the
5016         error code in the first half of this function.
5017
5018         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
5019         code (instead of just -1) so gdk_error_trap_pop() reveals something
5020         actually informative about the error that happened.
5021
5022         * gdk/*.c:
5023         don't rely on gdk_error_code being -1 if an error occoured, but just
5024         gdk_error_code != 0.
5025
5026 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
5027
5028         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
5029         pointer *before* invoking the filter function, so we at least don't
5030         crash if a filter is removed that is currently executed. window filters
5031         *really* need to be made truely reentrant at some point.
5032
5033 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
5034
5035         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
5036         PropertyNotify debug messages.
5037
5038 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
5039         
5040         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
5041         
5042         * gdk/gdkim.c: Fix cut-and-paste errors for 
5043         x/y and PreeditAttributes/StatusAttributes.
5044
5045 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
5046
5047         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
5048         G_MAXINT to 2^16 to alleviate overflow problems in
5049         various window managers.
5050
5051 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
5052
5053         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
5054         for fontsets.
5055
5056 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
5057
5058         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
5059         Initialize size_hints.x and size_hints.y because kwm
5060         brokenly pays attention to them.
5061         (Bug #1181 -  Lars Heete <hel@admin.de>)
5062
5063 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
5064
5065         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
5066         return value of gdk_list_visuals(). 
5067         (Bug #1193 - Morten Welinder <terra@diku.dk>)
5068
5069 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
5070
5071         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
5072         XSetIMValues to (void *) when comparing to NULL, to workaround
5073         the problem of some compilers barfing since older X headers don't
5074         have the prototype for it.
5075
5076 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
5077
5078         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
5079         for pseudocolor where colormap->colors was double
5080         allocated.
5081
5082         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
5083         color value in the hash table with the pixel filled
5084         in so when we do later hash table lookups, the color
5085         value is correct.
5086         
5087 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
5088
5089         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
5090         making the call
5091
5092 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
5093
5094         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
5095         pointed out by Morten Welinder <terra@diku.dk>.
5096
5097 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
5098
5099         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
5100           default filter from the list
5101
5102 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
5103
5104         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
5105           default filter from the list
5106
5107 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
5108
5109         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
5110
5111         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
5112         g_strdup_printf instead of calcing the length separately
5113
5114 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
5115
5116         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
5117         that we don't do in many other places. (Fixing duplicate 
5118         #include of config.h)
5119
5120         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
5121         Otherwise, #ifndef XINPUT_NONE check in the latter
5122         doesn't work. (Bug #546)
5123
5124 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
5125
5126         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
5127         "None" case insensitive.
5128
5129 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
5130
5131         * gdk/gdkselection.c: 
5132         Add error traps so if the other end of the connection
5133         dies, we survive.
5134
5135 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
5136
5137         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
5138         dest_xid field into two fields - one for the window
5139         to send in messages, one to indicate the last looked
5140         up window for caching purposes. This is needed, so
5141         that Leave messages get the correct window.
5142
5143 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
5144
5145         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
5146         Fix warning created by people mucking around
5147         with the gsource API.
5148
5149         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
5150         Change mapping between GIOCondition and GdkInputCondition
5151         to match the way the Linux kernel does it. This should
5152         fix problems where closed pipes were no longer signalling
5153         GDK_INPUT_READ on systems with a native poll().
5154
5155 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
5156
5157         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
5158         explicitly for the string "None" - it is in the XPM
5159         spec and some servers treat unknown colors in odd ways
5160         (like asking the user!)
5161
5162 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
5163
5164         * gdk/gdkevents.c: made "->" into a "." of previous change so
5165         it compiles
5166
5167 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
5168
5169         * gdk/gdkevents.c (gdk_compress_exposures): Set the
5170         window field of the event structure before calling
5171         user filters.
5172
5173 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5174
5175         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
5176         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
5177
5178 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
5179
5180         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
5181         intermediate text property - prevents major memory
5182         leak when gdk_use_mb.
5183         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
5184
5185 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
5186
5187         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
5188         gtk-a-higuti-990322-[0-3]
5189
5190         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
5191         sizeof(wchar_t) != sizeof (GdkWChar)
5192
5193         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
5194         that was causing -DX_LOCALE not to work.
5195
5196         * gtk/gtkrc.c (gtk_rc_init):
5197         X_LOCALE will never have LC_MESSAGES defined
5198
5199         * gdk/gdk.c (gdk_init_check):
5200         Remove --xim-preedit and --xim-status from argv properly.
5201
5202         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
5203         that the client window is present on the X server
5204         before we pass it to the input method.
5205
5206 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
5207
5208         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
5209         if --display is specified on the command line, than
5210         the drag window will not be created on that display.
5211         
5212 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
5213
5214         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
5215         lookups with only_if_exists == TRUE were inserting
5216         bogus values into the atom cache.
5217
5218 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
5219
5220         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
5221         then reset it to NULL.
5222
5223         * gdk/gdkcolor.c:
5224         (gdk_colors_free): 
5225         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
5226         key for g_hash_table_remove() in both functions, this prevents us
5227         from accessing possibly uninitialized portions of a GdkColor structure
5228         where we are only interested in its pixel value.
5229
5230 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
5231
5232         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
5233         font hash table, if we have a GdkFontPrivate entry for this font
5234         already, simply increment its reference count, provided by Olaf Dietsche
5235         <olaf.dietsche+list.gtk@netcologne.de>.
5236
5237 1999-09-21  Tor Lillqvist  <tml@iki.fi>
5238
5239         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
5240         just to be sure.
5241
5242         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
5243         unused variables, leftovers from the X11 version.
5244
5245         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
5246
5247         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
5248         downcase fields on X11.
5249
5250 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
5251         
5252         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
5253         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
5254
5255 1999-09-17  Tor Lillqvist  <tml@iki.fi>
5256
5257         * gdk/win32/gdk.def: Add gdk_threads_mutex.
5258
5259         * gtk/makefile.msc: Correct path to libintl.
5260
5261         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
5262         use of gint vs. int, and gint vs. gboolean in headers and
5263         definitions. Use GtkType for the *_get_type functions. Note that
5264         these changes preserve binary compatibility.
5265
5266         * gdk/gdk.c
5267         * gdk/win32/gdk.c
5268         * gdk/gdk.h: Fix inconsistencies: gint vs int.
5269
5270         * gtk/gtkmain.c
5271         * gtk/gtkclist.c
5272         * gtk/gtkmenufactory.c
5273         * gtk/gtknotebook.c
5274         * gtk/gtkwidget.c: Fix inconsistencies, also gint
5275         vs. gboolean.
5276
5277         * gtk/gtkcolorsel.[ch]
5278         * gtk/gtkcombo.[ch]
5279         * gtk/gtkdrawingarea.[ch]
5280         * gtk/gtkgamma.[ch]
5281         * gtk/gtkhandlebox.[ch]
5282         * gtk/gtkhpaned.[ch]
5283         * gtk/gtkhruler.[ch]
5284         * gtk/gtkplug.[ch]
5285         * gtk/gtkpreview.[ch]
5286         * gtk/gtkruler.[ch]
5287         * gtk/gtksocket.[ch]
5288         * gtk/gtkstatusbar.[ch]
5289         * gtk/gtktoolbar.[ch]
5290         * gtk/gtkvbbox.[ch]
5291         * gtk/gtkvpaned.[ch]
5292         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
5293         functions.
5294
5295         * gtk/gtkgamma.h: Fix bug, missing () in call of
5296         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
5297
5298 1999-09-14  Tor Lillqvist  <tml@iki.fi>
5299
5300         * gdk/gdkcolor.c (gdk_colormap_new)
5301         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
5302         colormap->colors was allocated twice.
5303
5304         * gdk/win32/gdk.c: Remove some unused stuff.
5305
5306         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
5307         colormap.
5308
5309         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
5310         * gtk/gtklabel.h (gtk_label_get_type)
5311         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
5312         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
5313         in a couple of places, not guint.
5314
5315 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
5316
5317         * configure.in,po/et.po: added Estonian language file
5318
5319 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
5320
5321         * configure.in,po/da.po: added Danish file
5322
5323 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
5324
5325         * docs/gtkfaq.sgml: Minor FAQ Update
5326
5327 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
5328
5329         * docs/gtkfaq.sgml: FAQ update
5330
5331 1999-08-27  Tor Lillqvist  <tml@iki.fi>
5332
5333         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
5334         way to get window contents continually refreshed while resizing. I
5335         didn't like the effects myself, so it's not on by default.
5336
5337         * gdk/win32/gdkprivate.h: New flag variable
5338         gdk_event_func_from_window_proc, FALSE by default.
5339
5340         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
5341         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
5342         are passed --gdk-event-func-from-window-proc.
5343
5344         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
5345         and we have am event_func, call it instead of enqueing the event.
5346
5347 1999-08-23  Tor Lillqvist  <tml@iki.fi>
5348
5349         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
5350         Kelley: Set expose_count in GdkEventExposes correctly.
5351
5352         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
5353         MULTIPLE_WINDOW_CLASSES).
5354
5355         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
5356         for bug in NT, apparently NT *does* draw the end pixel, too, in
5357         LineTo with a one-pixel pen, so we don't have to do it ourselves.
5358
5359 1999-08-21  Tor Lillqvist  <tml@iki.fi>
5360
5361         Improvements by Hans Breuer: 
5362
5363         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
5364
5365         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
5366         CS_?REDRAW flags as they cause lots of (late) redraws when "show
5367         window contents while dragging" is turned on. Allocate at least
5368         one unique class for every GdkWindowType. If support for single
5369         window-specific icons is ever needed (eg. Dialog specific), every
5370         such window should get its own class.
5371
5372 1999-08-19  Tor Lillqvist  <tml@iki.fi>
5373
5374         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
5375         error that caused crashes.
5376
5377 1999-08-17  Tor Lillqvist  <tml@iki.fi>
5378
5379         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
5380         window, use ScrollWindowEx, and call UpdateWindow. This prevents
5381         bugs when for instance part of the window was outside the
5382         display. Thanks to Philippe Colantoni for finding and fixing this.
5383
5384 1999-08-16  Tor Lillqvist  <tml@iki.fi>
5385
5386         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
5387         endpoint calculations which were totally wrong. (A little RTFMing
5388         helps a lot ;-)
5389
5390         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
5391         from a separate directory, not from gettext, because of licensing
5392         issues (we want to use the LGPL version).
5393
5394         * README.win32: Mention the intl from glibc vs from gettext issue.
5395
5396 1999-08-13  Tor Lillqvist  <tml@iki.fi>
5397
5398         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
5399         in the key event handling: Now AltGr chars work again. Also,
5400         now Alt-digits are passed up as well as Control-digits.
5401         Pass keypad plus and minus as normal plus and minus.
5402
5403 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
5404
5405         * docs/gtkfaq.sgml: FAQ Update
5406
5407 1999-07-25  Tor Lillqvist  <tml@iki.fi>
5408
5409         * README.win32
5410         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
5411         the Wintab SDK.
5412
5413         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
5414         OK, but getting closer. Guard against bogus tilt data from Wacom
5415         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
5416         enable easier building without Wintab.
5417
5418         * gdk/win32/gdkinput.h
5419         * gdk/win32/gdkevents.c 
5420         * gdk/win32/gdkwindow.c: Minor changes related related to above.
5421         
5422         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
5423         code. As we have just one visual on Win32, no sense to have it in a
5424         table, and no need for the hash table.
5425
5426         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
5427         better on white background.
5428
5429 1999-07-21  Tor Lillqvist  <tml@iki.fi>
5430
5431         * README.win32: Update gcc build instructions. Mention gettext is
5432         GPL.
5433
5434         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
5435         supported cursor size with GetSystemMetrics.
5436
5437         * gdk/win32/gdkfont.c
5438         * gtk/gtkfontsel.c: Guard against some font weight and charset
5439         symbols being undefined (in mingw32 headers).
5440
5441         * gdk/win32/makefile.cygwin
5442         * gtk/makefile.cygwin
5443         * gtk/gtkthemes.c: No longer need to have differently named
5444         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
5445
5446 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
5447
5448         * docs/gtkfaq.sgml: Long awaited FAQ update.
5449
5450 1999-07-15  Tor Lillqvist  <tml@iki.fi>
5451
5452         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
5453         it. Obscure bit manipulation needed.
5454
5455         * gdk/win32/gdkevents.c: Logging.
5456         
5457         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
5458         style (file name include compiler name) for theme engines.
5459
5460 1999-07-13  Tor Lillqvist  <tml@iki.fi>
5461
5462         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
5463
5464         * gdk/win32/gdkevents.c: Fix long-standing bug in key
5465         events. The key.string wasn't zero-terminated, still we strdup'ed
5466         it in gdk_event_copy(). Synthesize crossing events for button
5467         events before possible propagation.
5468
5469         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
5470
5471         * gdk/win32/makefile.cygwin
5472         * gtk/makefile.cygwin: Use new DLL naming style for the
5473         GCC-compiled ones.
5474
5475         * gdk/win32/makefile.msc
5476         * gtk/makefile.msc: Cosmetics mostly.
5477
5478         * gtk/gtk.def: Add missing entry points.
5479
5480         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
5481
5482 1999-07-09  Tor Lillqvist  <tml@iki.fi>
5483
5484         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
5485         or height is zero. Don't print a warning if Pie or Arc fails, they
5486         always fail (?) for very narrow ellipses.
5487
5488         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
5489         the part or the destination window corresponding to source area
5490         outside of the source drawable's boundary.
5491
5492         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
5493         anything if less than two points.
5494
5495         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
5496         return NULL. Gtk cut-and-paste inside a single program works
5497         better this way. (It always gets the clipboard contents from
5498         Windows, not from its own copy, which is cleared anyway. I can't
5499         say I fully understand what happens... Emulating the X selection
5500         and property stuff is a bit of a mess.)
5501
5502         * gdk/win32/gdkevents.c
5503         * gdk/win32/gdkproperty.c: A bit more verbose logging.
5504
5505         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
5506         that never got deleted). Revamp gdk_region_shrink.
5507
5508         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
5509         after use.
5510
5511         * gtk/gtk.def: Add some missing entry points.
5512
5513         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
5514         component.
5515
5516 1999-07-04  Tor Lillqvist  <tml@iki.fi>
5517
5518         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
5519         Control-digits specially.
5520
5521 1999-07-03  Tor Lillqvist  <tml@iki.fi>
5522
5523         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
5524
5525 1999-06-28  Tor Lillqvist  <tml@iki.fi>
5526
5527         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
5528         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
5529         finding this.)
5530
5531 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
5532
5533         * gtk+.spec.in: Corrected some typos in files section.
5534         
5535 1999-06-15  Tor Lillqvist  <tml@iki.fi>
5536
5537         * README.win32: Mention using GNU gettext.
5538         * config.h.win32: Enable NLS stuff.
5539         * gtk/makefile.msc: Use GNU gettext.
5540         * gdk/win32/gdkdnd.c: Minor header reorg.
5541         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
5542         cosmetics.
5543         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
5544         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
5545
5546 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
5547
5548         * acinclude.m4
5549         * config.guess
5550         * config.status
5551         * ltconfig
5552         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
5553
5554 1999-05-30  Tor Lillqvist  <tml@iki.fi>
5555
5556         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
5557         SafeAdjustWindowRectEx. Don't override all calls to
5558         AdjustWindowRectEx by it, but use it only in two places: When
5559         creating a new top-level window and when moving a top-level
5560         window.
5561
5562         Use screen coordinate rectangle, not client rectangle, in
5563         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
5564         when we try to place a window so that the decoration (mainly,
5565         title bar) isn't visible.
5566
5567         These changes fix the bug that showed up for instance as the
5568         GIMP's saved top-level windows moving right and down (by an amount
5569         equal to the window decoration) for each session. This bug showed
5570         up also in testgtk's "Saved Position".
5571
5572         gdk_window_resize also redone a bit.
5573
5574 1999-05-25  Tor Lillqvist  <tml@iki.fi>
5575
5576         * gtk/testgtkrc: Add (commented out) Windows-style theme
5577         include line.
5578
5579         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
5580
5581 1999-05-18  Tor Lillqvist  <tml@iki.fi>
5582
5583         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
5584         gdkx.h to a gdk subdirectory, so that applications can include
5585         these with <gdk/*.h> without trouble.
5586
5587         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
5588         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
5589         have their bitmap destroyed.
5590
5591         * gdk/win32/gdk.def: Add gdk_root_parent.
5592
5593 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
5594
5595         * configure.in
5596           gtk-config.in
5597           ltconfig
5598           ltmain.sh     
5599           gtk/Makefile.am: changes to compile nicely (with xlib) 
5600           on BeOS
5601
5602 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
5603
5604         * acinclude.m4
5605         * config.guess
5606         * config.sub
5607         * ltconfig
5608         * ltmain.sh: upgrade to libtool 1.3
5609
5610 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
5611
5612         * gtk/gtkclist.c:
5613         * gtk/gtkctree.c: merges from gtk-1-2
5614
5615 1999-04-25  Tor Lillqvist  <tml@iki.fi>
5616
5617         Support added for building using a GNU toolchain on Win32,
5618         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
5619
5620         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
5621         * config.h.win32: Changes for gcc.
5622         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
5623         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
5624         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
5625         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
5626         Protect shl stuff unavaiilable with mingw32 headers.
5627         * gdk/win32/gdkevents.c: Fix typo.
5628         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
5629         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
5630         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
5631         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
5632         the mingw32 headers.
5633         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
5634         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
5635         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
5636         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
5637         Test for NATIVE_WIN32, not _MSC_VER.
5638         * gtk/gtkmain.c: No use warning about developer version on Win32,
5639         there aren't any non-developer versions anyhow.
5640         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
5641         * gtk/makefile.msc: Use pthread from another directory. Minor other
5642         changes. 
5643
5644 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
5645
5646         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
5647           default filter from the list
5648
5649 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
5650
5651         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
5652          when gtk_widget_grab_default() is called for a widget that
5653          is not within a GtkWindow.
5654
5655 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
5656
5657         * docs/gtk_tut.sgml, examples/clist.c: use a
5658           scrolled window in the clist example. Minor
5659           tutorial fixes.
5660
5661 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
5662
5663         * docs/gtk_tut.sgml: Style check from David King
5664           <dking@youvegotmail.net>
5665
5666 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
5667
5668         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
5669         compile with unknown value of GDK_WINDOWING
5670
5671 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
5672
5673         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
5674         after the rule is fired.
5675         (install-exec-local): Install gdkconfig.h only if the contents are
5676         different from the currently installed gdkconfig.h.
5677
5678 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
5679
5680         * gdk/Makefile.am (configexecincludedir): Rename from 
5681         configincludedir so that gdkconfig.h will be installed 
5682         as part of `make install-exec'. 
5683
5684 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
5685
5686         * acinclude.m4
5687         * config.guess
5688         * config.sub
5689         * ltconfig
5690         * ltmain.sh: upgrade to libtool 1.2f
5691
5692         * autogen.sh: libtool is not required to autogen gtk+
5693
5694         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
5695         needed)
5696
5697 1999-03-18  Tor Lillqvist  <tml@iki.fi>
5698
5699         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
5700         declaring gdk variables exported/imported from the DLL. New image
5701         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
5702         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
5703         GDK_DRAG_PROTO_OLE2.
5704
5705         * gdk/gdk.h: Merge in Win32 version: Two new functions,
5706         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
5707         declared only for the Win32 version, but could be in the X11
5708         version as well. (Needed for a Xlib-less gdk_imlib.)
5709         gdk_color_hash should have only one parameter. Declare
5710         gdk_threads_mutex with GDKVAR.
5711         
5712         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
5713         just one parameter.
5714
5715         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
5716         per pixel, not bits.
5717
5718         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
5719         Fetch bpp (which means bits-per-pixel here) from another place on
5720         Win32. Accept also depth==32 (which we might get on Win32) with
5721         bpp==32.
5722
5723         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
5724         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
5725         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
5726         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
5727         in the backend-dependent directory, not in the common gdk
5728         directory.
5729
5730         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
5731         headers.
5732
5733 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
5734
5735         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
5736         want to use the Gtk+ devel version (which is true, and yes - even i am
5737         currently working with the 1.2.x branch). so everyone reading this, you
5738         probably want to issue
5739         cvs checkout -r glib-1-2 glib
5740         and
5741         cvs checkout -r gtk-1-2 gtk+
5742         as your next two comands.
5743
5744 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
5745
5746         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
5747         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
5748
5749         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
5750         file. strongly deprecated the GTK_HAVE_* macros, we provide
5751         GTK_CHECK_VERSION() for people that need to check for certain
5752         Gtk+ versions.
5753
5754         * gtk/gtkcompat.h: removed this from CVS.
5755         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
5756         idea right from the start, it just didn't seem like that back then.
5757
5758 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
5759
5760         * merges from gtk-1-2:
5761
5762 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
5763
5764         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
5765         item factory class has been created.
5766         (gtk_item_factory_parse_rc): likewise.
5767
5768         * gtk/gtkmenu.c:
5769         keep proper references for old_active_menu_item.
5770         (gtk_menu_reparent): unset the usize of the new parent,
5771         so the menu can sanely be size requested and we don't get nasty screen
5772         artefacts upon next reparentation.
5773         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
5774         enter notify. only synthesize enter notifies if the pointer really is
5775         inside the event window.
5776         (gtk_menu_popdown): use gtk_menu_shell_deselect().
5777         (gtk_menu_popup): move the background setting stuff into
5778         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
5779
5780         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
5781         gtk_menu_shell_select_item() to select the new item.
5782         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
5783         do the right thing for deselection as well.
5784
5785 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
5786
5787         * gtk/gtkwidget.[hc]:
5788         (gtk_widget_accelerators_locked): return whether a widget's accelerators
5789         are locked.
5790
5791         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
5792         existing accelerators if the widget's accelerators are locked.
5793
5794 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
5795
5796         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
5797
5798         * gtk/gtkmenu.c: truely forward key press and key release events to
5799         the menu widget from the toplevel or tearoff window. we can't simply
5800         connect to that, we need to stop further processing of the events as
5801         well.
5802
5803 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
5804
5805         * gtk/gtkmenu.c:
5806         (gtk_menu_key_press): pass event->keyval, event->state to
5807         gtk_accelerator_valid, instead of event->keyval twice.
5808         refuse to install single letter accelerators for menus that use
5809         single letter shortcuts.
5810
5811         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
5812         gtk_menu_ensure_uline_accel_group().
5813
5814         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
5815         which will always return an uline accel group, made
5816         gtk_menu_get_uline_accel_group() return NULL if the group isn't
5817         yet created.
5818
5819 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
5820
5821         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
5822
5823         * gtk/gtkclist.c (gtk_clist_column_title_passive):
5824         Leave button sensitive, trap  button_press, button_release,
5825         motion_notify, enter_notify and leave_notify events instead.
5826         (gtk_clist_column_title_active): disconnect event handler.
5827         (gtk_clist_drag_data_get): fixed memory leak. Reported by
5828         Guillaume Laurent <glaurent@worldnet.fr>
5829
5830 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
5831
5832         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
5833         width/height mixups.
5834
5835         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
5836         if needed.
5837
5838 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
5839
5840         * gtk/testgtk.c (create_item_factory): unref the item factory after
5841         window's destruction.
5842
5843         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
5844         count on the menu shell around the menu item's activation, since the
5845         signal emission may cause menu shell destruction.
5846
5847         * gtk/gtkitemfactory.c:
5848         the previous code leaked one accel group per menu. we use
5849         gtk_menu_get_uline_accel_group() now to fix that, and with that
5850         also create the underline accelerator group of the menus only if
5851         required (i.e. an underline accelerator has been specified).
5852         (gtk_item_factory_construct):
5853         (gtk_item_factory_create_item): removed code that would create an
5854         extra accel group for the menu (and leak references).
5855         (gtk_item_factory_create_item): adapted the underline accelerator
5856         installation code to properly feature gtk_menu_get_uline_accel_group().
5857
5858         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
5859         menu->accel_group, this may return NULL if the accelerator group
5860         hasn't been set yet.
5861         added gtk_menu_get_uline_accel_group() to retrive the underline
5862         accelerator group of the menu, this will be created on demand
5863         and proper care is taken about its reference count.
5864
5865         * gtk/gtkitemfactory.h:
5866         * gtk/gtkitemfactory.c:
5867         dumped the approach of keeping a widgets by action list on the
5868         factory since the factory<->widget destroy negotiation didn't work
5869         and would be hard to get going at all. instead we keep a list of
5870         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
5871         persistant throughout a program's life time).
5872         also, i removed the static const gchar *key_* variables, and made
5873         them inline strings (they weren't actually used anyways).
5874         (gtk_item_factory_add_item): update ifactory->items.
5875         (gtk_item_factory_destroy): destroy ifactory->items (and remove
5876         the item factory pointer from the remaining ifactory widgets).
5877         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
5878         list to find the widget.
5879         (gtk_item_factory_get_item): new function that works around
5880         gtk_item_factory_get_widget() limitations, this function will only
5881         return menu items, even for <Branch> entries.
5882
5883 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
5884
5885         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
5886         font hash table, if we have a GdkFontPrivate entry for this font
5887         already, simply increment its reference count, provided by Olaf Dietsche
5888         <olaf.dietsche+list.gtk@netcologne.de>.
5889
5890         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
5891         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
5892
5893 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
5894
5895         * gtk/gtkcontainer.c:
5896         (gtk_container_add_with_args):
5897         (gtk_container_addv):
5898         (gtk_container_add): before adding a child to a conatiner, make sure
5899         it is (default) constructed, this is neccessary because under certain
5900         circumstances the child will get relized and mapped immediatedly, in
5901         which case it has to be constructed already.
5902
5903 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
5904
5905         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
5906         values > 1 as TRUE also.
5907
5908 1999-03-16  Tor Lillqvist  <tml@iki.fi>
5909
5910         * README.win32: New file.
5911                 
5912         * configure.in: Check for lstat.
5913
5914         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
5915         completeness.
5916
5917         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
5918
5919         * gtk/gtk.def: Removed CRs.
5920
5921         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
5922         ..\gdk\win32).
5923
5924         * gdk/win32/makefile.msc: Correct upwards relative paths.
5925         
5926 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
5927
5928         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
5929           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
5930           it was connecting a void function to expose_event and the int
5931           returning function to the draw signal
5932
5933 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
5934
5935         * configure.in:
5936         Use correct path to libgmodule.la when ref'ing uninstalled copy
5937         of glib.  (Already in stable branch, Bug #417)
5938
5939 1999-03-15  Tor Lillqvist  <tml@iki.fi>
5940
5941         Win32 merge and general portability stuff:
5942                 
5943         * acconfig.h,configure.in: Check for <sys/time.h>.
5944
5945         * gdk/win32: New directory (actually, been there for a while).
5946         
5947         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
5948         NATIVE_WIN32, and use these. Always case fold on Win32. No
5949         backslashed escapes on native Win32.
5950
5951         * gtk/{gtk.def,makefile.msc}: New files.
5952
5953         * gtk/Makefile.am: Add above new files.
5954         
5955         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
5956         instead of <strings.h>.
5957
5958         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
5959         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
5960         <unistd.h> appropriately.
5961
5962         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
5963         Use ABS() (from <glib.h>) instead of abs().
5964         
5965         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
5966         of gtk (and thus glib) headers, so that WIN32 will be
5967         defined. With MS C, include <direct.h> for mkdir prototype.
5968
5969         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
5970         some casts, needed by MS C.
5971
5972         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
5973         implemented).
5974
5975         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
5976         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
5977         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
5978
5979         * gtk/gtkmain.h: Mark variables for export/import on Win32.
5980                 
5981         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
5982         the event is not a hint, or its window is not the slider. Needed
5983         on Win32, at least.
5984
5985         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
5986         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
5987         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
5988         a subdirectory of the Windows directory as gtk system
5989         configuration directory.
5990
5991         * gtk/gtkselection.c: No chunks on Win32.
5992
5993         * gtk/gtksocket.c: Not implemented on Win32.
5994
5995         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
5996
5997         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
5998
5999         * gtk/maketypes.awk: Declare variables with a macro that expands to
6000         necessary export/import magic in the case of Win32.
6001                 
6002         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
6003
6004 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
6005
6006         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
6007         since those were meant only for gdki18n.h.  
6008         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
6009         for widechar tests.
6010         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
6011
6012 1999-03-13  Tor Lillqvist  <tml@iki.fi>
6013
6014         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
6015         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
6016
6017         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
6018         installed) to CFLAGS.
6019
6020         * gdk/Makefile.am: Add rules for gdkconfig.h.
6021
6022         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
6023         APIs.
6024
6025         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
6026         gdkx.h anyway when compiling for X11.
6027         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
6028         general): Merge in Win32 version.
6029         
6030         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
6031         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
6032         expansion (if we don't have HAVE_PWD_H), allow for drive
6033         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
6034         included code from Craig Setera's port to Win32 (the one that uses
6035         X11, and the cygwin dll), even if it probably will be abandoned.
6036
6037         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
6038         the user entered one herself.  This way one can complete *.h and
6039         don't get matches on any .help files, for instance.
6040         
6041 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
6042
6043         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
6044         font hash table, if we have a GdkFontPrivate entry for this font
6045         already, simply increment its reference count, provided by Olaf Dietsche
6046         <olaf.dietsche+list.gtk@netcologne.de>.
6047
6048         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
6049         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
6050
6051 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6052
6053         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
6054         the number of calls to gdk_draw_point() (and thus to X) by
6055         clipping the points by hand.
6056
6057         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
6058         the clip parameter.
6059         (gtk_handle_box_paint): Only paint the handle if the expose area
6060         intersects it.
6061
6062 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
6063
6064         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
6065
6066 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
6067
6068         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
6069         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
6070
6071 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
6072
6073         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
6074          textmode (O_TEXT) for OS/2 version.
6075
6076 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
6077
6078         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
6079         GtkSpinButton, "input" and "output", to make the output more flexible.
6080         The user has to provide a mapping between adjustment->value and the
6081         output string (and vice versa, if the spin button is editable). 
6082         See testgtk for examples.
6083
6084 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
6085
6086         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
6087         new one.
6088         
6089         * configure.in: set gtk+ version to 1.3.0.