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