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