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