]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-6
a82226b070b3d3400c6f12b140a851cd055ec6e1
[~andy/gtk] / ChangeLog.pre-2-6
1 1999-11-23  Tor Lillqvist  <tml@iki.fi>
2
3         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
4         event->any.window before calling filter functions.
5
6 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
7
8         * gtk/gtkgamma.h: Adapt cast macros to standard.
9
10 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
11
12         * gdk/gdkrectangle.c (gdk_rectangle_union gdk_rectangle_intersect):
13         Fixes so that it is safe to have dest the same as
14         src1 or src2.
15
16 Wed Nov 17 15:58:44 1999  Owen Taylor  <otaylor@redhat.com>
17
18         * gdk/x11/gdkregion-x11.c (gdk_region_get_clipbox): Indentation fix.
19
20 [ Merges from 1.2 ]
21
22 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
23
24         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
25         If translation does not include a '/', use entire
26         translation instead of crashing.
27
28 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
29
30         * docs/gtk_tut.sgml:
31         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
32
33 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
34
35         * gtk/gtkselection.c (gtk_target_list_remove): Use
36         g_list_remove_link, not g_list_remove.
37
38         [ From Geert Bevin <gbevin@thunderstorms.org> ]
39         
40 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
41
42         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
43         statement upon unselection (how the heck did that slip in?).
44
45 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
46
47         * gtk/gtktext.c (gtk_text_freeze): 
48         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
49         in frozen state (and aparently crashes). patch provided by Anders
50         Melchiorsen <and@kampsax.dtu.dk>.
51
52 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
53
54         * fix insensitive default/focus widget activation,
55         reported by Matt Goodall <mgg@isotek.co.uk>.
56
57         * gtk/gtkwindow.c (gtk_window_key_press_event): 
58         (gtk_window_activate_default):
59         (gtk_window_activate_focus):
60         return handled=FALSE for actiavtion of insensitive default
61         widgets. return handled=TRUE for activation of insensitive
62         focus widgets. don't activate in either case.
63
64 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
65
66         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
67         and $glib_cflags to match library order and in the
68         theory that an old version of GLib is more likely to
69         be in the include directory for X then vice-versa.
70         (Bug #2776)
71
72 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
73
74         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
75         to determine the locale for fontsets, not LC_MESSAGES;
76         the user may want English messages with a handling
77         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
78         will still be broken) (Bug #2891)
79
80 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
81
82         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
83
84 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
85
86         * gtk/gtkrc.ko: Changed the Korean default fontset.
87
88 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
89
90         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
91         where when scrolling to the left or top double exposes
92         were done, causing major slowdowns.
93
94 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
95
96         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
97         names to lowercase and alphanumeric, before looking
98         them up.
99
100         * gtk/Makefile.am: Install codeset variant gtkrc files
101         with normalized names.
102
103 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
104
105         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
106         popup menus when the menu is already visible, but its parent
107         is still hidden, (happens after tornoff window got hidden).
108
109 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
110
111         * gtk/Makefile.am (install-data-local): Fix
112         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
113         deleted, causing error messages on install.
114
115 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
116
117         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
118         the handle as well, since we now sometimes ignore
119         exposes on the handle while resizing.
120
121 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
122
123         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
124         extra g_free introduced in one of the last one or two 
125         commits.
126
127 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
128
129         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
130         consistent, put each style that a gtkrc.* file creates
131         in a unique namespace, remove old files before installing.
132
133 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
134
135         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
136         gtk_rc_init is called multiple times. (Yes, people who
137         do that have bugs in their code.)
138
139 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
140
141         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
142         Remove it since it's generated by the Makefile anyway
143
144 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
145
146         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
147         device->info.axes for core pointer.
148
149 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
150
151         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
152         idle_id, to deal with obsolete, broken C libraries.
153
154 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
155
156         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
157         allocation->x/y twice!
158
159         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
160         consistent with gtk_vscale_pos_trough().
161
162 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
163
164         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
165         be queueing a resize on a toplevel container between
166         the time we show it and when we map it. So, we need
167         to test GTK_WIDGET_VISIBLE() for toplevels, and only
168         use GTK_WIDGET_DRAWABLE() for child windows.
169
170 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
171
172         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
173         (fixes bug #2144)
174
175 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
176
177         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
178         container DRAWABLE (instead of VISIBLE), so we don't queue
179         resizes on non-toplevel containers.
180
181 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
182
183         * gtk/gtkselection.[ch]: Make the data argument
184         const guchar *.
185
186 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
187
188         * gtk/gtkwindow.c: Try to behave sensibly if 
189         the focus widget is the window itself. (Should
190         we allow this at all?)
191
192 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
193
194         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
195         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
196         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
197         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
198         in prototypes and implementations consistent (Tomas Ogren).
199
200         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
201         before the widget is unparented (reported by damon).
202
203         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
204         since we provide unsigned data anyways.
205
206 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
207
208         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
209         the call to gtk_tooltips_layout_text() until later.
210
211         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
212         Call gtk_widget_ensure_style() before using the style.
213
214 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
215
216         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
217         for old widgets that don't propagate draws to all
218         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
219
220 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
221
222         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
223         for a redraw but just the widget that requested the resize.
224
225 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
226
227         * gtk/gtkcontainer.c: added new widget level method
228         gtk_container_set_reallocate_redraws() and a GtkContainer flag
229         reallocate_redraws : 1 to reflect the setting, exported this through
230         the argument system as a boolean ::reallocate_redraws.
231
232         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
233         on the widget because the allocation changes, do so as well for
234         widget->parent if the parent has reallocate_redraws set to TRUE.
235         with that containers requesting reallocation redraws get automatically
236         redrawn if their children changed allocation (this unfortunately
237         affects also other children that didn't change allocation, but we
238         cannot work around that before 1.3).
239
240 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
241
242         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
243         _and_ height are >0 (not _or_).
244
245         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
246         instead of gtk_container_queue_resize(), which is a core gtk internal
247         function (must have been on crack when i queued that).
248
249         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
250         we can check more reliably if we want to discard expose events.
251         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
252         flag.
253         
254         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
255         we simply trust these events. for deciding whether to discard exposes,
256         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
257         
258 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
259
260         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
261         queues of areas that are completely off screen.
262
263         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
264         logic for handleboxes.
265
266         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
267         check on width/height.
268
269 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
270
271         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
272         we are fine with using $@ the way we do (if we actually encounter
273         brokeness with $@ in VPATH builds because of additional path prefixes,
274         we need to use $(@F) actually).
275
276 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
277
278         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
279         short lived bugs, that would allow language bindings to do surgeries
280         to our guts.
281
282 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
283
284         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
285         where comparison was being done against an uninitialized
286         value causing intermittant results depending on
287         compiler flags. Also make it clearer that we aren't
288         ever initializing the child as 0x0 (though this will
289         be caught in gtk_widget_size_allocate())
290
291 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
292
293         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
294         gtk_window_unset_transient_for() call after we do checks
295         involving the old transient parent.
296         [ From Lance Capser <lmc@cyberhighway.net> ]
297
298 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
299
300         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
301         an empty file.
302
303 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
304
305         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
306         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
307
308 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
309
310         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
311         `$@' is valid only in the build dir, not after we've done 
312         `cd $srcdir'.  Also use `test -f' instead of less portable
313         `test -e'.
314
315 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
316
317         * gtk/gtktext.c (correct_cache_insert): Rewrite
318          for simplicity, and hopefully correctness.
319          (Fixes bug #1322, which was a segfault when
320           on some insertions with the properties around
321           the insertion set up just wrong.)
322
323         * gtk/gtktext.c (gtk_text_adjustment): When we receive
324          a "changed" signal, clamp the new value to the adjustment
325          bounds to avoid segfaulting if someone tries to change
326          the adjustment to a bogus value. (Bug #1795)
327
328 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
329
330         * gtk/gtkmain.c: Ignore unexpected destroy notifies
331         for children, for toplevel windows handle them
332         like delete_event.
333
334         * gtk/gtkplug.c: Add an unrealize handler so that
335         we unref plug->socket_window when we are done
336         with it.
337
338 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
339
340         * gtk/gtktext.c (clear_area): Fix stupid signedness
341          problem that was causing background to sometimes
342          be misaligned.
343
344 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
345
346         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
347         
348         * gtk/gtkmenu.c (gtk_menu_position): Make
349          sure we never position menus with negative x, y,
350          since gtk_widget_set_uposition() can't handle that.
351
352         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
353          Modify the positioning code a bit so that we always
354          put the top-left corner onscreen. (This is for
355          UI reasons, gtk_menu_position() now takes care of
356          gtk_widet_set_uposition() brokeness.)
357
358 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
359
360         * gtk/Makefile.am: fixed up things for -jx, x > 1.
361
362 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
363
364         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
365           RC style that is passed in. The lack of the ref
366           before was a bug. If people worked around this
367           bug, this will introduce a slight memory leak
368           in their code. The code should typically look like:
369
370             rc_style = gtk_rc_style_new ();
371             [...]
372             gtk_widget_modify_style (widget, rc_style);
373             gtk_rc_style_unref (rc_style);
374
375         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
376           the style if it was already set.
377
378         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
379           style if it was set before.
380
381 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
382
383         * gtk/testgtk.c (main): Add a check to see if we
384           are being run from the correct directory and
385           to quit nicely if we are not.
386
387         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
388           static.
389
390 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
391
392         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
393
394         * gtk/gtkwindow.c:
395         queue resizes unconditionally (gtk_widget_queue_resize will figure
396         what to do if the window is not realized).
397         (gtk_window_move_resize): only recenter the window
398         for GTK_WIN_POS_CENTER_ALWAYS.
399         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
400         the same way as GTK_WIN_POS_CENTER.
401
402 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
403
404         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
405         with (!(info->last_flags & GDK_HINT_POS)) instead of
406         (!info->last_flags & GDK_HINT_POS).
407
408         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
409         new_height unconditionally, because we use these values even if
410         !default_size_changed && !hints_changed.
411         comented the (default_size_changed || hints_changed) case with
412         respect to resize rejects from the window manager.
413
414         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
415         in the zvt condition hack, since this includes the window hints, set
416         the hints after the handling_resize case.
417
418         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
419         window is initially shown with to the geometry.
420
421 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
422
423         * gtk/gtkwindow.c (gtk_window_move_resize):
424         s/size_changed/default_size_changed/g so i know what's
425         really going on (frying brain on smaller flame now).
426
427 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
428
429         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
430         we have size_changed upon handling_resize. this is a gross
431         workaround for the broken zvt widget and should be removed in
432         1.3 again (search for FIXME).
433         Owen provided an accurate comment for this:
434
435         /* We could be here for two reasons
436          *  1) We coincidentally got a resize while handling
437          *     another resize.
438          *  2) Our computation of size_changed was completely
439          *     screwed up, probably because one of our children
440          *     is broken. It's probably a zvt widget.
441          *
442          * For 1), we could just go ahead and ask for the
443          * new size right now, but doing that for 2)
444          * might well be fighting the user (and can even
445          * trigger a loop). Since we really don't want to
446          * do that, we requeue a resize in hopes that
447          * by the time it gets handled, the child has seen
448          * the light and is willing to go along with the
449          * new size. (this happens for the zvt widget, since
450          * the size_allocate() above will have stored the
451          * requisition corresponding to the new size in the
452          * zvt widget)
453          *
454          * This doesn't buy us anything for 1), but it shouldn't
455          * hurt us too badly, since it is what would have
456          * happened if we had gotten the configure event before
457          * the new size had been set.
458          */
459
460 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
461
462         * gtk/gtkrc.c: deal properly with the fact that RC
463           style lists may include rc styles more than once.
464
465         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
466           unused static function.
467
468         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
469           stack of directories of RC files currently being
470           parsed and implicitely add them to pixmap path.
471           
472           This fixes a bug where the directory would get
473           appended then overwritten by pixmap_path declarations.
474
475           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
476
477         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
478           theme's exit function. (Patch from Peter Wainwright,
479           bug #1454)
480
481         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
482           Add a destroy() handler to take care of removing
483           group for menu item. (Fixes bug #1197)
484
485         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
486           in warning message.
487
488 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
489
490         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
491         roundtrip to figure window's width and height, since we know that
492         anyways from widget->allocation.
493
494 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
495
496         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
497           the hints after we request the new size.
498
499 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
500
501         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
502           GTK_WIDGET_REALIZED() assertion - we can compute the
503           hints before we are realized.
504
505         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
506           hint changing so that we have a value of hints_changed
507           when we decide whether to constrain the window size.
508
509         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
510
511         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
512         change back to G_MAXINT.
513
514 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
515
516         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
517         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
518         contain uncluttered values.
519         (gtk_window_compute_hints): simply assert that window is realized
520         and that geometry_info is valid, since we rely on this anyways.
521         (gtk_window_constrain_size): major cleanups to the code.
522         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
523         for the base size, instead of the minimums. use 32767 as max width
524         and height (like in gtkwindow.c) instead of G_MAXINT.
525
526 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
527
528         * cleaned up the GtkContainer.need_resize flag handling mess, we
529         only need to force resize requests when we were prematurely
530         realized, or our widget tree was modified when we were temporarily
531         hidden. handling these cases directly upon showing the window (i.e.
532         while the GdkWindow is still unmapped) avoids the need to wait for
533         a configure event response and therefore makes the GUI more snappier
534         and avoids blank windows during the roundtrip.
535
536         * gtk/gtkwidget.c:
537         (gtk_widget_hide): 
538         (gtk_widget_show): don't queue resizes on toplevels, they know how
539         to deal with matters.
540
541         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
542         flag directly for not visible resize containers and spare us unecessary
543         signal emissions.
544
545         * gtk/gtkwindow.c:
546         (gtk_window_realize): if we need to enforce premature size allocation,
547         queue a container resize so we are correctly resized later on.
548         (gtk_window_init):
549         (gtk_window_size_request):
550         don't freak around with the ->need_resize flag,
551         gtk_container_queue_resize() will care about that.
552         (gtk_window_show):
553         handle initial resizing issues here, we can handle matters better in
554         this place, especially since we know that our GdkWindow is still
555         unmapped.
556         (gtk_window_move_resize):
557         don't care about ->need_resize at all.
558         handle size changes properly that occoured while we waited for a
559         configure event.
560
561 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
562
563         * gtk/gtkwidget.c (gtk_widget_set_uposition):
564         * gtk/gtkwindow.[hc] (gtk_window_reposition):
565         Move the hint setting code from gtk_widget_set_uposition
566         to here; set the hints so that we respect any previously
567         set geometry hints.
568
569         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
570         change the window hints here or move the window here,
571         let that happen in gtk_window_move_resize().
572
573 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
574
575         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
576         to already queued resizes (and therefore redraws) on a widget, check
577         its anchestry as well.
578
579         * gtk/gtkcontainer.c:
580         (gtk_container_queue_resize): clear resize widgets for resize
581         containers before aborting prematurely. this is especially important
582         for toplevels which may need imemdiate processing or their resize
583         handler to be queued.
584         (gtk_container_dequeue_resize_handler): added new internal function for
585         gtkwindow.c.
586
587         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
588         configure event, take possible changes in window position into account
589         as well.
590         if we request a new window size, queue up a resize handler that will
591         last until the configure event response arrives.
592         combined the ->need_resize case (initial show) with the general size
593         (hints) changed case and added even more comments.
594         if !auto_shrink, only revert to the old allocation if the new size
595         is smaller than the current allocation.
596
597 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
598
599         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
600                            gtk_window_set_geometry_hints
601                            gtk_window_set_default_size):
602         When hints are set, queue a resize so that the hints will
603         be eventually reset on the toplevel.
604
605         * gtk/gtkwindow.c (gtk_window_show): Use
606         gtk_window_compute_default_size(). Clear the need_resize flag
607         on the initail map so that we don't unnecessarily trigger the
608         resize code.
609
610         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
611         into separate functions. Compare the hints we are setting
612         with what we set last time so that we can accurately
613         tell when we need to reset the hints.
614
615         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
616         function to figure out the size from requisition
617         and default_size.
618
619         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
620         from fvwm to constrain a size to the geometry hints.
621
622         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
623         to compare two sets of geometry hints.
624
625         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
626         from gtk_window_set_hints(), just compute the hints,
627         don't set them.
628
629         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
630         code from gtk_window_move_resize() to separate function,
631         rationalize a bit.
632
633 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
634
635         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
636         structure into a new private structure.
637
638         * gtkrc.c: Split GtkRcStyle into public/private.
639         In the private part, add a list of pointers to the
640         RcStyle lists this RcStyle participates in.
641
642         * gtkrc.c: When a RcStyle is free, remove all
643         lists referencing it from the 
644         realized_style_ht hash, and free those lists.
645         
646         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
647         gtk_rc_init(), since that adds the default styles
648         to the list of parsed RC files again.
649
650         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
651         
652 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
653
654         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
655         checks that ensure that a widget's allocation is at least 1 in width
656         and height. (GNOME note: this doesn't affect old panel code anymore,
657         because GtkSocket will request width and height of at least 1 since
658         Fri Jul 23).
659
660         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
661         allocated yet (happens if the user realizes the window prematurely),
662         size request and allocate it.
663         (gtk_window_size_allocate): guard against guint underflows.
664
665 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
666
667         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
668         in gtk_built_sources, so gtk.defs gets built prior to all other
669         sources.
670
671 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
672
673         * gtk/Makefile.am:
674         invoke indent on gtkmarshal.*. 
675         rewrote source generation rules, use COPYING as oldest source tag for
676         a piggyback rule to generate all sources from (don't touch it ;).
677         major cleanups, strip spaces on build rules for GNU Make.
678
679         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
680         source and target files from commandline arguments. don't invoke indent.
681
682 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
683
684         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
685         notebook after switch to avoid drawing problems.
686         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
687         
688         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
689         show them instead. 
690         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
691
692 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
693
694         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
695         notebook after switch to avoid drawing problems.
696         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
697         
698         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
699         show them instead. 
700         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
701
702 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
703
704         * gtk/gtkwindow.c:
705         we use window->need_resize from configure_event now, to indicate that
706         the gtkwindow should keep its allocation (e.g. because the user resized
707         the window through window manager handles). resize_count is now reliably
708         used to figure whether we got the allocation we requested from the
709         window manager.
710         configure events get queued as resizes now, the real stuff (size
711         computation and allocation) now only goes on in gtk_window_move_resize().
712         GtkWindow's requisition now contains its *real* requisition (like all
713         other widgets), *not* taking usize into account.
714         geometry_info->last_{width|height} is now updated from set_hints() only
715         so it always contains the last hints we set for the window manager.
716         made some event handlers return TRUE instead of FALSE.
717         the overall code should be much more straight forward now, and the
718         significant code portions are accompanied by comments now.
719         (gtk_window_set_hints):
720         removed requisition argument and made it
721         fetch the requisition through gtk_widget_get_child_requisition.
722         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
723         does that now.
724         (gtk_window_show):
725         ensure that the widget is realized before calling 
726         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
727         ensure that we got properly size requested and allocated before
728         realization.
729         (gtk_window_configure_event):
730         ignore plain window moves, or reallocate the widget tree through the
731         resize queue otherwise.
732         (gtk_window_move_resize):
733         mostly rewrote this function to figure window manager hints more
734         reliably, coalesce window moves and resizes to reduce configure events
735         and do actuall size allocations.
736
737 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
738
739         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
740         that have a resize pending, because a redraw is already queued for them.
741
742         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
743         hack to clear resize_widgets.
744
745         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
746         for resize containers prior to size allocation. (this is also a bit
747         ugly, but avoids side effects for stopped emissions and is thus more
748         reliable).
749         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
750
751         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
752         function from gtk_tooltips_expose, as we connect to ::expose_event
753         *and* ::draw now.
754
755 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
756
757         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
758         checks.
759         (gtk_target_list_unref): Likewise.
760
761         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
762
763 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
764
765         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
766         guard against division by zero. (Fixes bug #1339)
767
768 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
769
770         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
771         Prevent the trivial leak of information of allowing
772         word motion when the entry is not visible.
773
774 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
775
776         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
777         modality to error dialog as well as confirmation dialogs.
778         (Bug #1803, reported by Rosanna Wing Sze Yuen)
779
780 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
781
782         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
783         tree->view_lines.
784         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
785
786         * gtk/Makefile.am (install-data-local): Solaris apparently
787         has various troubles with ln -f; use rm first instead.
788         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
789
790 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
791
792         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
793         use `cp' followed by `rm' (the `rm' was already there).
794
795 July 30, 1999 Elliot Lee <sopwith@redhat.com>
796         
797         * configure.in: Fix autoconf warnings about cross compilation by
798         trying to provide sane defaults for AC_TRY_RUN.
799         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
800         put them into $(srcdir) when generated. Also add a dependency of
801         gtksignal.h on gtkmarshal.h for -j builds. 
802         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
803
804 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
805
806         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
807         GDK_THREADS_{LEAVE,ENTER} pair.
808         (From Paul Fisher <pnfisher@redhat.com>)
809
810 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
811
812         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
813         width and height are always >0 (owen).
814
815 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
816
817         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
818         change that assured that a widget's allocated with and height are
819         always >1, since this breaks *buggy* panel code. unfortunately this
820         back-breaks the gimp's color selector.
821
822         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
823         allocation is always >0 in width and height, before sending the
824         configure event; this is a *gross* hack to get the gimp back to work.
825         
826         * marked both cases with TODO-1.3
827
828 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
829
830         * gtk/gtktext.c: Don't display wrap indicators when
831         text is not editable and word wrap is on.
832
833 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
834
835         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
836         option menus here as they are not derived from menu shell, assure that
837         the option menu has a menu we can add items to.
838
839 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
840
841         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
842         width/height to (gint) before calculations and check against < 0 to
843         avoid guint wraparounds.
844
845 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
846
847         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
848         width and height is never zero. sanity check both dimensions against
849         32767 and issue a warning if the allocation is greater than that.
850
851 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
852
853         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
854         to g_main_pending() as well.
855
856 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
857
858         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
859         call to g_main_iteration() - since that will regrab
860         GTK+ lock to process events.
861
862 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
863
864         * gtk/gtkwindow.c
865         - Regularize with the rest of GTK+ by making widget->requisition
866           not reflect the set_usize()
867         - Always recompute geometry hints, then check if they
868           changed before sending them to the X server. The
869           previous checks for changes would fail in a number
870           of circumstances. 
871
872 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
873
874         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
875
876 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
877
878         * gtk/gtkdnd.c:
879         - Code cleanups
880         - Instantaneously update on modifier key presses
881         - Allow cancellation of the drag with Escape.
882
883 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
884
885         * gtk/testgtk.c (create_handle_box): Set the policy
886         to auto_shrink - otherwise the appearance is rather
887         strange when flipping between horizontal and vertical.
888
889 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
890
891         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
892         (gtk_window_set_default_size): don't change a value if it's < 0.
893         queue a resize.
894
895 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
896
897         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
898
899 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
900
901         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
902         add an extra "/" when concating "/" + filename.
903         (From Matt Grossman <mattg@oz.net>)
904
905 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
906
907         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
908         for fg_gc if we set it for drawing pixmap.
909
910 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
911
912         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
913         
914         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
915         already set, call old engine's destroy function and
916         unref the old engine.
917
918 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
919
920         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
921
922 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
923
924         * gtk/gtkaccelgroup.h: mark certain functions as internal.
925
926 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
927
928         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
929         expand behaviour changed.
930
931         * gtk/gtklabel.c (gtk_label_set_pattern):
932         (gtk_label_set_justify):
933         (gtk_label_set_line_wrap):
934         don't bother invoking queue_clear, the reallocation does
935         that for us, always free_words so the upcoming resize will
936         relayout the label's contents.
937
938 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
939
940         * applied argument implementation patches from Elena Devdariani
941         <elena@cogent.ca>.
942
943         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
944         ::space_style, ::relief
945         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
946         * gtk/gtkpreview.c: ::expand
947         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
948         * gtk/gtknotebook.c: ::homogeneous
949         * gtk/gtklabel.c: ::wrap
950         * gtk/gtklist.c: ::selection_mode
951         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
952         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
953         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
954         * gtk/gtkclist.c: ::sort_type
955         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
956         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
957
958 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
959
960         * gtk/gtkstyle.c: Removed ill-thought-out part of last
961         comment.
962
963 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
964
965         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
966         counting right when we have to attach a new style
967         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
968
969         * gtk/gtkstyle.c: Documented the refcounting
970         peculularities of gtk_style_attach.
971
972 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
973
974         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
975         window types.
976
977         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
978         of GTK_TOPLEVEL for creating the window.
979
980 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
981
982         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
983         the last argument (reported by Per Winkvist).
984         
985 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
986
987         Fixes for invisible XOR lines (Frank Loemker
988         <floemker@TechFak.Uni-Bielefeld.DE>)
989         
990         * gtk/gtkclist.c (gtk_clist_realize): Always use
991         a non-zero pixel for GDK_XOR.
992
993         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
994         Use GDK_INVERT instead of GDK_XOR.
995
996 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
997
998         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
999         signals if h/voffsets differ from adjustment values.
1000         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
1001
1002 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
1003
1004         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
1005         ::selection-done emissions up to the topmost menu shell.
1006
1007 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
1008
1009         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
1010         the user data on the window before destroying it.
1011
1012         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
1013         unrealize handler to take care of destroying 
1014         notebook->panel properly. 
1015         (Bug #1198 - Morten Welinder <terra@diku.dk>)
1016
1017         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
1018         of g_new and g_realloc to stop memory leak. (Actually,
1019         we could just use g_realloc(), but I'm not 100% sure
1020         that is portable).
1021         (Bug #1196 - Morten Welinder <terra@diku.dk>)
1022
1023 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
1024
1025         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
1026
1027         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
1028         for fontsets.
1029
1030         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
1031         with bin/button confusion.
1032
1033 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
1034
1035         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
1036         and show how preselection of radio items is done.
1037
1038 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
1039
1040         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
1041         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
1042         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
1043         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
1044         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
1045         * gtk/gtktable.c (gtk_table_attach): 
1046         * gtk/gtklist.c (gtk_list_insert_items): 
1047         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
1048         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
1049         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
1050         * gtk/gtkbin.c (gtk_bin_add): 
1051         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
1052         * gtk/gtkfixed.c (gtk_fixed_put): 
1053         * gtk/gtklayout.c (gtk_layout_put):
1054         general fixups to container_add logic. always realize child if
1055         child->parent is realized, only map the child and queue a resize
1056         if child and child->parent are both visible.
1057
1058 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
1059
1060         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
1061         instead of gtk_container_foreach to walk and unrealize children, so
1062         composite children get also unrealized.
1063         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
1064         (gtk_widget_map): assert that the widget is visible (basic constrain).
1065         (gtk_widget_real_map): assert that the widget is realized (basic
1066         constrain).
1067
1068 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
1069
1070         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
1071
1072 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
1073
1074         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
1075         file for iso-8859-2 locales.
1076
1077         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
1078
1079 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
1080
1081         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
1082          (Pointed out by andy@rz.uni-karlsruhe.de and others).
1083          Remove some suspicious and useless lines. 
1084
1085 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
1086
1087         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
1088         width,height = 0, 0 to mean - here to edge of window,
1089         instead of -1, -1, since the former is all we support.
1090
1091 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
1092
1093         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
1094         when removing from quit_functions list.
1095
1096 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
1097
1098         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
1099
1100 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
1101
1102         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
1103          When redrawing characters on non-visible entry, use appropriate
1104          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
1105
1106 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
1107
1108         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
1109         from drag coordinates.
1110         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
1111         use drag_dest_cell.
1112
1113         * gtk/gtktree (drag_dest_cell)
1114         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
1115         (Bug #1129)
1116
1117 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
1118
1119         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
1120         translate_* fields.
1121         (gtk_item_factory_finalize): invoke translate_notify independant from
1122         translate_data.
1123         (gtk_item_factory_set_translate_func): likewise.
1124         (gtk_item_factory_destroy): only remove ifactory pointer from those
1125         widgets that belong to us (stupid me).
1126
1127 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
1128
1129         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
1130         rc_style list when lookup succeeeds.
1131
1132 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
1133
1134         * gtk/gtkctree.c (resync_selection): 
1135         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
1136         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
1137         bug.
1138
1139 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
1140
1141         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
1142         Add some missing GDK_THREADS_ENTER()/LEAVE around
1143         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
1144
1145 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
1146
1147         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
1148         rather than emit_by_name.
1149
1150         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
1151         on the widget across multiple signal emissions.
1152         (gtk_editable_delete_text): same here.
1153         (gtk_editable_class_init): set widget_class->activate_signal after
1154         editable_signals[ACTIVATE] has been created.
1155
1156 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
1157
1158         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
1159         position here prematurely -- we might not have the
1160         right ->min_position and ->max_position yet.
1161
1162 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
1163
1164         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
1165         Add error traps so if the other end of the connection
1166         dies, we survive.
1167
1168         * gtk/gtkselection.c (gtk_selection_notify): Clean
1169         up properly when selection property retrieval fails.
1170         
1171         * gtk/gtkselection.c (gtk_selection_request): Correctly
1172         reject SelectionRequest notifies where the handler
1173         returns no data.
1174
1175 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
1176
1177         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
1178         when we've previously highlighted.
1179
1180         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
1181         emit two "drag_leave" signals for Motif drops.
1182
1183         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
1184         back the correct status messages when dropping from
1185         Motif onto a proxy window that is rejecting the
1186         drop.
1187
1188 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
1189
1190         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
1191         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
1192         to compare two argument values. added gtk_arg_to_valueloc() to set a
1193         variable from an arg through its location (pointer).
1194
1195         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
1196         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
1197         as gfloat*, uchars are collected as guchar*, ints are collected as
1198         gint*, etc...
1199
1200 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
1201
1202         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
1203         Include <string.h> instead of <strings.h>.
1204
1205         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
1206         (actually, a lot more duplicate includes occur if
1207          you trace through the sequence of #include's)
1208         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
1209         
1210 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
1211
1212         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
1213         gtk-a-higuti-990322-[0-3]
1214
1215         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
1216         that was causing -DX_LOCALE not to work.
1217
1218         * gtk/gtkrc.c (gtk_rc_init):
1219         X_LOCALE will never have LC_MESSAGES defined
1220
1221 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
1222
1223         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
1224         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
1225
1226         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
1227         left/right as well (gtk-michael-980726-0.patch.gz).
1228
1229         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
1230         for pointer values, use gchar instead of char. fixed uline allocation
1231         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
1232         chunks instead of G_ALLOC_ONLY.
1233         (gtk_label_size_request): always alter requisition as passed and leave
1234         widget->requisition alone.
1235         (gtk_label_set_text): allow NULL strings.
1236         (gtk_label_new): likewise.
1237
1238 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
1239
1240         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
1241
1242 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
1243
1244         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
1245         *and* mapped (i.e. drawable).
1246         (gtk_bin_expose): only send exposes to drawable children.
1247
1248         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
1249         (gtk_box_expose): only send exposes to drawable children.
1250
1251         * gtk/gtkhscale.c (gtk_hscale_draw): 
1252         * gtk/gtkvscale.c (gtk_vscale_draw):
1253         hm, this is an ugly one. we first compute the size of our trough area
1254         here (window relative) and then check intersection with the draw_area
1255         which is parent relative because we're a NO_WINDOW widget, so we need
1256         to offset the trough area by allocation.x and allocation.y before the
1257         check. (this must not be done for the background area though, since
1258         that's already computed parent relative).
1259
1260 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
1261
1262         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
1263         unrealize title buttons.
1264
1265 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
1266
1267         * gtk/gtkclist.c (gtk_clist_column_title_passive)
1268         (gtk_clist_column_title_active): 
1269         only connect/disconnect to GtkWidgetClass::event to block mouse events.
1270
1271         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
1272         zero initialize event, removed superfluous gdk_window_get_pointer call
1273
1274         * gtk/gtklist.c (gtk_list_vertical_timeout)
1275         (gtk_list_horizontal_timeout): removed superfluous
1276         gdk_window_get_pointer call
1277
1278 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
1279
1280         * plugging problems reported by "Bruce Mitchener, Jr."
1281         <bruce@puremagic.com> due to a purify session.
1282
1283         * gtk/gtkstyle.c:
1284         (gtk_style_ref): 
1285         (gtk_style_unref): assert ref_count to be > 0.
1286
1287         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
1288         the requisition.
1289         (gtk_clist_set_shift): likewise.
1290
1291         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
1292         adjustments.
1293
1294         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
1295         event before sending it and set send_event to TRUE (which needs to
1296         be done for *all* synthesized events).
1297         (gtk_list_vertical_timeout): likewise.
1298
1299         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
1300         leaks.
1301
1302         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
1303         to TRUE when synthesizing events.
1304
1305 [ *** end of merges from 1.2 *** ]      
1306         
1307 1999-11-21  Tor Lillqvist  <tml@iki.fi>
1308
1309         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
1310         (or copied from gdkconfig.h.win32 on Win32, sigh).
1311
1312         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
1313
1314         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
1315
1316         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
1317
1318         * gdk/gdkconfig.h.win32: New file.
1319
1320         * gdk/win32/makefile.cygwin: Build just a static archive here.
1321
1322         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
1323         for the DLL from the static archive built above.
1324
1325         * gdk/gdk.def: Moved here from the win32 subdirectory.
1326
1327         * gdk/win32/*: Adapt for the changed private struct organisation.
1328
1329         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
1330
1331 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
1332
1333         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
1334         for wheel mice (buttons 4 and 5).
1335
1336 1999-11-18  Tor Lillqvist  <tml@iki.fi>
1337
1338         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
1339         drawables use just the pixel field in the foreground and
1340         background GdkColor of the GdkGC.
1341
1342         gdk_gc_set_{fore,back}ground() are called in the GIMP with
1343         GdkColors containing uninitialized (red,green,blue) fields, and
1344         just the pixel field filled in, and furthermore in the
1345         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
1346         It thus turns out that we really don't need to have the full
1347         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
1348         it later to have just the pixel values.
1349
1350 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
1351
1352         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
1353
1354 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
1355
1356         * docs/gtkfaq.sgml: threads example from Erik Mouw.
1357         New question on GtkLabel background colors.
1358
1359         * docs/gtk_tut.sgml:
1360           - Correct the example code callback
1361             function definitions.
1362           - Update the gtkdial example code, from Frans van Schaik.
1363           - Update setselection.c to current API.
1364
1365         * examples/Makefile examples/*/*.c: Update to code
1366         listed in tutorial.
1367
1368 1999-11-10  Tor Lillqvist  <tml@iki.fi>
1369
1370         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
1371         subrange table (from the "Developing International Software for
1372         WIndows 95 and Windows NT" book) was missing the Hangul syllable
1373         block... Get the loaded font's charset correctly.
1374
1375         (Note that this, and the other *-win32.c files, still really are
1376         the old ones, the win32 subdirectory is not ready for compilation
1377         yet after the reorg.)
1378
1379 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
1380
1381         * gtk/gtkclist.c: Fix off-by-one bug in parameter
1382         check.
1383
1384 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
1385
1386         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
1387         on results of XQueryDeviceState().
1388
1389 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
1390
1391         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
1392         we need to accesss only ->children. We need an accessor
1393         for the children.
1394
1395         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
1396         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
1397         to get rid of gdkx.h include.
1398         
1399         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
1400         and random references to 'None'.
1401
1402         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
1403         Get rid of unused #include <gdk/gdkx.h>
1404
1405         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
1406         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
1407         gdkconfig.h.
1408
1409 1999-11-08  Tor Lillqvist  <tml@iki.fi>
1410
1411         * gdk/win32/gdkdraw.c
1412         * gdk/win32/gdkfont.c
1413         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
1414         following yesterday's changes. (Unrelated to Owen's reorg.)
1415
1416 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
1417
1418         * gdk/x11/gdkinput-gxi.c: Add missing include,
1419           fix GdkWindowPrivate => GdkDrawablePrivate.
1420
1421         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
1422
1423         * gdk/x11/Makefile.am (xinput_sources): Add missing
1424         backslash to fix building with --with-xinput=none
1425
1426 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
1427
1428         Move all X specific code into the x11/ directory.
1429         Aside from shuffling things around, did the following:
1430
1431        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
1432          gdk_arg_context_* - a simple argument parsing system
1433          in the style of popt.
1434
1435        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
1436          gdk/x11/gdkprivate-x11.h:
1437          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
1438          add ->klass and ->klass_data fields. The klass_data
1439          field points to an auxilliary structure that is
1440          windowing system dependent.
1441
1442        * gdk/gdkfont.c: Make most of the measurement functions
1443          simply wrappers around gdk_text_extents().
1444
1445        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
1446          _gdk_font_strlen() function that hides the weird
1447          behavior in gtk+-1.[02] where a string is interpreted
1448          differently for 8-bit and 16-bit fonts.
1449
1450        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
1451          to store common code for synthesizing double/triple
1452          press events.
1453         
1454        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
1455          Make all the function that modify an existing GC
1456          simply wrappers around gdk_gc_set_values().
1457          
1458        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
1459          for throwing out later.
1460
1461        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
1462          GdkImagePrivate and GdkColormapPrivate to have a
1463          windowing system dependent part (GdkFontPrivateX etc.)
1464          that "derives" from the system-independent part.
1465
1466        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
1467          Got rid of the included-source-files for XInput in
1468          favor of automake conditionals. (Which didn't exist
1469          when XInput support was originally added.)
1470
1471        * gdk/gdkrgb.c: Remove the visual id from the debugging
1472          statements since that is X11 specific; print out
1473          type/depth info instead.
1474          
1475
1476 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
1477
1478         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
1479         loading duplicates of hashed fonts.
1480
1481         * gdk/gdk.c (gdk_keysym_convert_case): rename
1482         gdk_XConvertCase to gdk_keysym_convert_case, allow
1483         results to be NULL in the GTK+ style.
1484
1485         * gdk/gdkcompat.h: Started compatibility header
1486         for renames.
1487
1488 1999-11-07  Tor Lillqvist  <tml@iki.fi>
1489
1490         * gdk/win32/gdkprivate.h: New font private structures, related to
1491         fontsets.
1492
1493         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
1494         gdk_font_list_free(). On X11, will just be wrappers to
1495         XListFonts() and XFreeFontNames(). On Win32, the code previously
1496         in gtkfontsel.c is now here.
1497
1498         New function gdk_font_xlfd_create(). On X11 will get the FONT
1499         property of the font (for GDK_FONT_FONTs), or call
1500         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
1501         builds a XLFD style name from the font information in the LOGFONT
1502         struct(s).
1503
1504         New function gdk_font_xlfd_free(), which correspondingly frees the
1505         string returned by gdk_font_xlfd_create().
1506
1507         Implement fontsets on Win32. Add a function that iterates over a
1508         wide char string and calls a callback function for each substring
1509         of wide chars from the same Unicode subrange (and thus probably
1510         available in the same real font).
1511
1512         Improve the XLFD emulation a bit.
1513
1514         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
1515
1516         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
1517         Beta3, WM_IME_CHAR messages don't seem to contain the composed
1518         multi-byte char as with the Active IMM on Win9x. Oh well, handle
1519         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
1520         ImmGetCompositionStringW() to get the composed Unicode chars.
1521
1522         * gdk/win32/gdkgc.c
1523         * gdk/win32/gdkdraw.c: Changes needed because of the font private
1524         struct changes.
1525
1526         * gdk/win32/gdk.def: Add the new functions.
1527
1528 1999-11-04  Tor Lillqvist  <tml@iki.fi>
1529
1530         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
1531         get the Platform SDK to get <dimm.h>.
1532
1533         * gdk/win32/gdkevents.c: More event handling fixes and
1534         simplification. Never generate motion events with is_hint true. We
1535         used to do that on bogus grounds earlier. Windows sends
1536         WM_MOUSEMOVE messages on button events even if the mouse hasn't
1537         moved, ignore these.
1538
1539         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
1540
1541         * gdk/win32/gdkglobals.c
1542         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
1543         the TrackMouseEvent function, and use it.
1544
1545         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
1546         char before calling WideCharToMultiByte in order to get a string
1547         for the window title.
1548
1549         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
1550
1551         * gdk/win32/gdk.def: Remove obsolete functions.
1552
1553         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
1554         /nodefaultlib and /defaultlib switches.
1555
1556         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
1557
1558 1999-10-31  Tor Lillqvist  <tml@iki.fi>
1559
1560         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
1561         EuroSign).
1562
1563         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
1564         same type as GdkWChar, especially on Win32.
1565
1566         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
1567
1568         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
1569         before passing to Windows GDI for drawing etc. Convert to the
1570         system default codepage before passing to Windows as window
1571         titles.
1572
1573         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
1574         support changing input locale on the fly.
1575
1576         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
1577         on-the-fly changes. Convert incoming characters from the current
1578         codepage to Unicode (and then to a UTF-8 multi-byte string) based
1579         on the current input language. Use keysym<->Unicode mapping tables
1580         and functions borrowed from xterm sources.
1581
1582         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
1583         editions of Win9x, use the ActiveX-based Active IMM (Input Method
1584         Manager) if available. IMEs and the Active IMM are available under
1585         the disguise of Chinese, Korean and Japanese support for IE and
1586         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
1587         support is present in all editions (as long as you install it).
1588
1589         Call DispatchMessage from gdk_events_queue() (and thus
1590         gdk_WindowProc()), instead of duplicating the code in
1591         gdk_WindowProc().
1592
1593         Reworked the grab handling and propagation code, factored out
1594         duplicated code snippets into separate functions. Other cleanups,
1595         too.
1596
1597         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
1598         the <dimm.h> header describing the Active IMM.
1599
1600         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
1601         just do the same as for "single" fonts.
1602
1603         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
1604         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
1605         the new keysyms from gdkkeysyms.h.
1606
1607         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
1608         fontset, so that gtkentry uses wide characters.
1609
1610         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
1611         GTk+'s system directory "gtk+", not "gtk".
1612
1613 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
1614
1615         * docs/gtkfaq.sgml: FAQ update
1616
1617 1999-10-21  Tor Lillqvist  <tml@iki.fi>
1618
1619         * gdk/win32/gdkprivate.h: Add more font private data.
1620
1621         * gdk/win32/gdkfont.c
1622         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
1623         fonts and strings. Now works much better. You still have to
1624         have a correct font selected, though. No fontset emulation yet.
1625
1626 1999-10-19  Tor Lillqvist  <tml@iki.fi>
1627
1628         * gtk/maketypes.awk: Use G_OS_WIN32.
1629
1630         * gtk/gtk.def: Add some missing entry points. Also some non-public
1631         ones, but PyGTK porter claims to need them.
1632
1633         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
1634         built-in type generation.
1635
1636 1999-10-14  Tor Lillqvist  <tml@iki.fi>
1637
1638         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
1639         GDK_FONT_FONT fonts (which is all we have for now, we don't
1640         emulate fontsets). The X11 version uses plain XDrawString in that
1641         case, too. The string passed to gdk_draw_text_wc seems to be in
1642         fact (at least, when used by gtkentry and gtktext) either in a
1643         single-byte charset, or a DBCS. Not Unicode.
1644
1645         This fixes the problem in gtkfontsel, where even if you had
1646         selected a font with a non-Latin1 charset (windows-greek, for
1647         instance), the preview still used Latin-1 glyphs.
1648
1649         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
1650         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
1651         (gdk_font_load): Recognize the demibold etc weights, even if we
1652         don't have the corresponding constants in the headers.
1653         (gdk_font_hash_insert): Use same hash mechanism as in the X11
1654         version. Should save font resources a bit, when we don't have
1655         multiple HFONTs for the same font.
1656
1657         * gdk/win32/gdkprivate.h: Add the names field as in the X11
1658         version.
1659
1660 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
1661
1662         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
1663         X values
1664
1665 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
1666
1667         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
1668         layout support (as mentioned on
1669         http://www.jcinteractive.com/gnome-ui/software/widgets/)
1670
1671 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
1672
1673         * gtk/fnmatch.c
1674         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
1675
1676 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
1677
1678         * configure.in (ALL_LINGUAS): Added Galician (gl)
1679
1680 1999-10-05  Tor Lillqvist  <tml@iki.fi>
1681
1682         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
1683
1684         * gdk/win32/gdkcompat.c: New file, actually provide an
1685         implementation for the deprecated functions. (Just temporarily.)
1686
1687         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
1688
1689         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
1690
1691         * gdk/win32/gdk.def gtk/gtk.def: Updates.
1692
1693 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
1694
1695         * configure.in: Added "uk" to ALL_LINGUAS.
1696         
1697 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
1698
1699         * configure.in: correct checking for BeOS check
1700
1701         * gdk/gdktypes.h
1702         * gtk/fnmatch.c
1703         * gtk/gtkfilesel.c
1704         * gtk/gtkitemfactory.c
1705         * gtk/gtkmain.[ch]
1706         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
1707
1708 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
1709
1710         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
1711         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
1712         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
1713         by Bulgarian). 
1714
1715 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
1716
1717         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
1718         Fix a reference to window_private->destroyed.   
1719
1720         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
1721         (ugly) setting of an internal GdkWindow member to use
1722         a _slightly_ cleaner macro.
1723
1724         * gdk/gdkprivate.h: Split GdkWindowPrivate into
1725         GdkDrawablePrivate and GdkWindowPrivate.
1726         Add extra macros for accessing GDK_DRAWABLE_ components.
1727
1728         * *.[ch]: Massive adjustments for the above, use the
1729         new macros in a lot of places.
1730
1731 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
1732
1733         * gdk/gdktypes.h: Make GdkDrawable the base type,
1734         not GdkWindow.
1735
1736 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
1737
1738         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
1739
1740 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
1741
1742         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
1743
1744 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
1745
1746         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
1747         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
1748
1749         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
1750
1751         * docs/gtk-config.1: Now autogenerated.
1752         * docs/Changes-1.4.txt: started
1753         
1754 1999-10-03  Tor Lillqvist  <tml@iki.fi>
1755
1756         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
1757         to #ifdef also here.
1758
1759         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
1760         Owen did to the X11 backend.
1761
1762         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
1763         ScrollWindowEx when blitting inside a window, it can't be correct
1764         in the general case.
1765
1766         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
1767         WM_GETMINMAXINFO is easier.
1768
1769         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
1770         depth equal to the bitspixel value, not the visual's depth.
1771
1772         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
1773         to 24 even if the bitspixel value is 32.
1774
1775         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
1776         need to check for depth==32 when bpp==32, depth will always be 24.
1777
1778 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
1779
1780         * docs/Changes-1.4.txt: Started
1781         
1782         * gtk/Makefile.am (gdk_headers): Include all the new headers.
1783
1784         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
1785         
1786         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
1787         into C file.
1788         
1789         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
1790         header to gdkinputprivate.h.
1791
1792         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
1793         unused since before 1.2.
1794
1795 1999-09-30  Tor Lillqvist  <tml@iki.fi>
1796
1797         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
1798         expand possible hex escapes in the font family (put there by
1799         logfont_to_xlfd if the font name isn't a legal XLFD font family,
1800         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
1801         On Win32, add hex escapes here, too.
1802
1803 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
1804
1805         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
1806         to #ifdef GDK_WINDOWING_X11.
1807
1808 [ Merges from gtk-1-2 ]
1809
1810 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
1811
1812         * configure.in: fixed "GNU Make" check to pass with new make version
1813         3.77.95.
1814
1815 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
1816
1817         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
1818         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
1819         AM_PATH_GTK() macros don't get confused by the -pre1.
1820
1821 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
1822
1823         * configure.in (REBUILD): Change check for perl5
1824           to check explicitely for v >= 5.002. (5.001
1825           does not work with our scripts.)
1826
1827 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
1828
1829         * configure.in: evaluate $PERL for the perl version check. added
1830         --disable-rebuilds to give the user an option to completely disable
1831         any source autogeneration rules.
1832
1833 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
1834
1835         * configure.in: evaluate $ac_make when checking for GNU Make.
1836
1837 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
1838
1839         * docs/Makefile.am: added generation.txt.
1840
1841         * Makefile.am: require automake 1.4, build README from README.in and
1842         INSTALL from INSTALL.in in dist-hook.
1843         
1844         * README.in:
1845         * INSTALL.in: new files to autogenerate README and INSTALL from.
1846
1847         * configure.in: figure whether we have GNU Make
1848
1849         * docs/generation.txt: minor additions/corrections.
1850
1851 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
1852
1853         * docs/gtkfaq.sgml: FAQ Update
1854
1855 July 30, 1999 Elliot Lee <sopwith@redhat.com>
1856         
1857         * configure.in: Fix autoconf warnings about cross compilation by
1858         trying to provide sane defaults for AC_TRY_RUN.
1859
1860 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
1861
1862         * ltconfig
1863         * ltmain.sh: upgrade to libtool 1.3.3
1864
1865 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
1866
1867         * INSTALL: Indicate that the --with-glib= configure
1868         time flag is unsupported.
1869
1870 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
1871
1872         * docs/generation.txt: Added a file that gives
1873         documenation about the autogeneration process for
1874         various autogenerated files.
1875         
1876 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
1877
1878         * configure.in (LIBS): Look for libgmodule in the
1879         right location.
1880
1881 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
1882
1883         * docs/gtk_tut.sgml: Removed references to
1884         code examples in my directory on gtk.org as
1885         they should all be in the tutorial now.
1886
1887         * docs/gtk_tut.sgml: Added sources for dial-test
1888         and scribble-xinput programs that were previously
1889         missing.
1890
1891 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
1892
1893         * TODO: Added entry about menu keyboard navigation, removed
1894         some finished items.
1895
1896 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
1897
1898         * acinclude.m4: Standardize on func_dgettext
1899         not func_gettext, so that the checks for dgettext
1900         actually are paid attention to.
1901
1902 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
1903
1904         * configure.in (LIBS): Add $INTLLIBS into $LIBS
1905         directly, rather than repeating the checks for
1906         gettext.
1907
1908         * INSTALL: Added information about gettext and
1909         NLS support.
1910
1911         * acinclude.m4 (LIBM): Check for dgettext, not
1912         just gettext. This should hopefully fix things wrt
1913         systems with old versions of GNU gettext installed.
1914
1915 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
1916
1917         * configure.in (LIBS): Look for libgmodule in the
1918         right location.
1919
1920 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
1921
1922         * autogen.sh: add --enable-maintainer-mode
1923
1924         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
1925
1926 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
1927
1928         * docs/gtk-config.1.in:
1929           docs/Makefile.am:
1930           configure.in: gtk-config is now generated.
1931
1932         * docs/gtk-config.1: Removed, now generated.
1933
1934 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
1935
1936         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
1937         handle CreateNotify itself, still put out a debuging message for
1938         --gdk-debug=events. made the ReparentNotify debugging message more
1939         verbose.
1940         wrap xcoords translation for ConfigureEvents into an error trap,
1941         a destroy event may already be pending, and in that case, the
1942         actuall coordinate values are not at all critical.
1943
1944 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
1945
1946         * gdk/gdkcc.c: Stop leaking the color_hash all over
1947         the place. Simplify and improve the logic.
1948
1949 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
1950
1951         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
1952         for prototypes and function implementations consistent (reported
1953         by Tomas Ogren).
1954
1955 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
1956
1957         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
1958         send_event set in debugging output.
1959         (gdk_compress_exposures): default initialize the event so we don't
1960         operate on bogus values (namely send_event).
1961
1962 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
1963
1964         * gdk/gdkwindow.c: When we receive an unexpected
1965         destroy notify on one of our windows, don't just
1966         warn about it, also mark our windows as destroyed.
1967
1968 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
1969
1970         * gdk/gdkfont.c (gdk_font_hash_insert): Add
1971           name => font and name => fontset hashes. The 
1972           name => fontset hash is a _big_ win since we
1973           weren't previously caching fontsets at all and loading
1974           fontsets is expensive. The name => font hash
1975           is less of a win, but it does save us from doing
1976           repeated XQueryFont calls on the same font.
1977
1978         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
1979           list so we can remove font/fontset from hash.
1980
1981 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
1982
1983         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
1984           and slightly confusing test. [ XInternAtom (,,TRUE)
1985           will never return None ].
1986
1987 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
1988
1989         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
1990           gdk/gdkwindow.c (gdk_window_set_hints):
1991
1992         Don't omit setting the properties if flags == 0 -
1993         there may be an existing set of properties there
1994         already. (Very old bug. Would it be better to
1995         delete the property instead?)
1996
1997         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
1998           spelling error in comment.
1999
2000 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
2001
2002         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
2003           to avoid stomping over gdk_error_warnings.
2004
2005         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
2006           as (bits_per_pixel + 7) / 8. This gives the same
2007           result as before for multiples of 8, but actually
2008           a "reasonable" value for 1bit or 4bit displays.
2009
2010 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
2011
2012         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
2013         GNU Make.
2014
2015 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
2016
2017         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
2018         discarding configure events.
2019
2020 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
2021
2022         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
2023         refcount is greater than zero.
2024
2025         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
2026
2027         * gdk/gdkfont.c (gdk_font_unref): Likewise.
2028
2029         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
2030
2031         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
2032
2033 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
2034
2035         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
2036         that format 32 => sizeof(item) == 4. It really is
2037         sizeof(long).
2038
2039 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
2040
2041         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
2042         core dump at all on X IO errors, only core dump
2043         if --enable-debug for X errors.
2044
2045 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
2046
2047         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
2048         unknown window:" message. disabled ConfigureNotify discarding code,
2049         because it led to events being processed out of order.
2050
2051 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
2052
2053         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
2054
2055         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
2056         we export this function, supress error warnings and don't reset the
2057         error code in the first half of this function.
2058
2059         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
2060         code (instead of just -1) so gdk_error_trap_pop() reveals something
2061         actually informative about the error that happened.
2062
2063         * gdk/*.c:
2064         don't rely on gdk_error_code being -1 if an error occoured, but just
2065         gdk_error_code != 0.
2066
2067 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
2068
2069         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
2070         pointer *before* invoking the filter function, so we at least don't
2071         crash if a filter is removed that is currently executed. window filters
2072         *really* need to be made truely reentrant at some point.
2073
2074 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
2075
2076         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
2077         PropertyNotify debug messages.
2078
2079 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
2080         
2081         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
2082         
2083         * gdk/gdkim.c: Fix cut-and-paste errors for 
2084         x/y and PreeditAttributes/StatusAttributes.
2085
2086 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
2087
2088         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
2089         G_MAXINT to 2^16 to alleviate overflow problems in
2090         various window managers.
2091
2092 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
2093
2094         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
2095         for fontsets.
2096
2097 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
2098
2099         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
2100         Initialize size_hints.x and size_hints.y because kwm
2101         brokenly pays attention to them.
2102         (Bug #1181 -  Lars Heete <hel@admin.de>)
2103
2104 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
2105
2106         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
2107         return value of gdk_list_visuals(). 
2108         (Bug #1193 - Morten Welinder <terra@diku.dk>)
2109
2110 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
2111
2112         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
2113         XSetIMValues to (void *) when comparing to NULL, to workaround
2114         the problem of some compilers barfing since older X headers don't
2115         have the prototype for it.
2116
2117 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
2118
2119         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
2120         for pseudocolor where colormap->colors was double
2121         allocated.
2122
2123         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
2124         color value in the hash table with the pixel filled
2125         in so when we do later hash table lookups, the color
2126         value is correct.
2127         
2128 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
2129
2130         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
2131         making the call
2132
2133 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
2134
2135         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
2136         pointed out by Morten Welinder <terra@diku.dk>.
2137
2138 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
2139
2140         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
2141           default filter from the list
2142
2143 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
2144
2145         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
2146           default filter from the list
2147
2148 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
2149
2150         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
2151
2152         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
2153         g_strdup_printf instead of calcing the length separately
2154
2155 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
2156
2157         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
2158         that we don't do in many other places. (Fixing duplicate 
2159         #include of config.h)
2160
2161         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
2162         Otherwise, #ifndef XINPUT_NONE check in the latter
2163         doesn't work. (Bug #546)
2164
2165 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
2166
2167         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
2168         "None" case insensitive.
2169
2170 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
2171
2172         * gdk/gdkselection.c: 
2173         Add error traps so if the other end of the connection
2174         dies, we survive.
2175
2176 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
2177
2178         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
2179         dest_xid field into two fields - one for the window
2180         to send in messages, one to indicate the last looked
2181         up window for caching purposes. This is needed, so
2182         that Leave messages get the correct window.
2183
2184 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
2185
2186         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
2187         Fix warning created by people mucking around
2188         with the gsource API.
2189
2190         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
2191         Change mapping between GIOCondition and GdkInputCondition
2192         to match the way the Linux kernel does it. This should
2193         fix problems where closed pipes were no longer signalling
2194         GDK_INPUT_READ on systems with a native poll().
2195
2196 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
2197
2198         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
2199         explicitly for the string "None" - it is in the XPM
2200         spec and some servers treat unknown colors in odd ways
2201         (like asking the user!)
2202
2203 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
2204
2205         * gdk/gdkevents.c: made "->" into a "." of previous change so
2206         it compiles
2207
2208 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
2209
2210         * gdk/gdkevents.c (gdk_compress_exposures): Set the
2211         window field of the event structure before calling
2212         user filters.
2213
2214 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2215
2216         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
2217         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
2218
2219 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
2220
2221         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
2222         intermediate text property - prevents major memory
2223         leak when gdk_use_mb.
2224         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
2225
2226 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
2227
2228         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
2229         gtk-a-higuti-990322-[0-3]
2230
2231         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
2232         sizeof(wchar_t) != sizeof (GdkWChar)
2233
2234         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
2235         that was causing -DX_LOCALE not to work.
2236
2237         * gtk/gtkrc.c (gtk_rc_init):
2238         X_LOCALE will never have LC_MESSAGES defined
2239
2240         * gdk/gdk.c (gdk_init_check):
2241         Remove --xim-preedit and --xim-status from argv properly.
2242
2243         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
2244         that the client window is present on the X server
2245         before we pass it to the input method.
2246
2247 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
2248
2249         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
2250         if --display is specified on the command line, than
2251         the drag window will not be created on that display.
2252         
2253 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
2254
2255         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
2256         lookups with only_if_exists == TRUE were inserting
2257         bogus values into the atom cache.
2258
2259 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
2260
2261         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
2262         then reset it to NULL.
2263
2264         * gdk/gdkcolor.c:
2265         (gdk_colors_free): 
2266         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
2267         key for g_hash_table_remove() in both functions, this prevents us
2268         from accessing possibly uninitialized portions of a GdkColor structure
2269         where we are only interested in its pixel value.
2270
2271 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
2272
2273         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
2274         font hash table, if we have a GdkFontPrivate entry for this font
2275         already, simply increment its reference count, provided by Olaf Dietsche
2276         <olaf.dietsche+list.gtk@netcologne.de>.
2277
2278 1999-09-21  Tor Lillqvist  <tml@iki.fi>
2279
2280         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
2281         just to be sure.
2282
2283         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
2284         unused variables, leftovers from the X11 version.
2285
2286         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
2287
2288         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
2289         downcase fields on X11.
2290
2291 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
2292         
2293         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
2294         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
2295
2296 1999-09-17  Tor Lillqvist  <tml@iki.fi>
2297
2298         * gdk/win32/gdk.def: Add gdk_threads_mutex.
2299
2300         * gtk/makefile.msc: Correct path to libintl.
2301
2302         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
2303         use of gint vs. int, and gint vs. gboolean in headers and
2304         definitions. Use GtkType for the *_get_type functions. Note that
2305         these changes preserve binary compatibility.
2306
2307         * gdk/gdk.c
2308         * gdk/win32/gdk.c
2309         * gdk/gdk.h: Fix inconsistencies: gint vs int.
2310
2311         * gtk/gtkmain.c
2312         * gtk/gtkclist.c
2313         * gtk/gtkmenufactory.c
2314         * gtk/gtknotebook.c
2315         * gtk/gtkwidget.c: Fix inconsistencies, also gint
2316         vs. gboolean.
2317
2318         * gtk/gtkcolorsel.[ch]
2319         * gtk/gtkcombo.[ch]
2320         * gtk/gtkdrawingarea.[ch]
2321         * gtk/gtkgamma.[ch]
2322         * gtk/gtkhandlebox.[ch]
2323         * gtk/gtkhpaned.[ch]
2324         * gtk/gtkhruler.[ch]
2325         * gtk/gtkplug.[ch]
2326         * gtk/gtkpreview.[ch]
2327         * gtk/gtkruler.[ch]
2328         * gtk/gtksocket.[ch]
2329         * gtk/gtkstatusbar.[ch]
2330         * gtk/gtktoolbar.[ch]
2331         * gtk/gtkvbbox.[ch]
2332         * gtk/gtkvpaned.[ch]
2333         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
2334         functions.
2335
2336         * gtk/gtkgamma.h: Fix bug, missing () in call of
2337         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
2338
2339 1999-09-14  Tor Lillqvist  <tml@iki.fi>
2340
2341         * gdk/gdkcolor.c (gdk_colormap_new)
2342         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
2343         colormap->colors was allocated twice.
2344
2345         * gdk/win32/gdk.c: Remove some unused stuff.
2346
2347         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
2348         colormap.
2349
2350         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
2351         * gtk/gtklabel.h (gtk_label_get_type)
2352         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
2353         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
2354         in a couple of places, not guint.
2355
2356 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
2357
2358         * configure.in,po/et.po: added Estonian language file
2359
2360 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
2361
2362         * configure.in,po/da.po: added Danish file
2363
2364 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
2365
2366         * docs/gtkfaq.sgml: Minor FAQ Update
2367
2368 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
2369
2370         * docs/gtkfaq.sgml: FAQ update
2371
2372 1999-08-27  Tor Lillqvist  <tml@iki.fi>
2373
2374         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
2375         way to get window contents continually refreshed while resizing. I
2376         didn't like the effects myself, so it's not on by default.
2377
2378         * gdk/win32/gdkprivate.h: New flag variable
2379         gdk_event_func_from_window_proc, FALSE by default.
2380
2381         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
2382         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
2383         are passed --gdk-event-func-from-window-proc.
2384
2385         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
2386         and we have am event_func, call it instead of enqueing the event.
2387
2388 1999-08-23  Tor Lillqvist  <tml@iki.fi>
2389
2390         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
2391         Kelley: Set expose_count in GdkEventExposes correctly.
2392
2393         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
2394         MULTIPLE_WINDOW_CLASSES).
2395
2396         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
2397         for bug in NT, apparently NT *does* draw the end pixel, too, in
2398         LineTo with a one-pixel pen, so we don't have to do it ourselves.
2399
2400 1999-08-21  Tor Lillqvist  <tml@iki.fi>
2401
2402         Improvements by Hans Breuer: 
2403
2404         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
2405
2406         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
2407         CS_?REDRAW flags as they cause lots of (late) redraws when "show
2408         window contents while dragging" is turned on. Allocate at least
2409         one unique class for every GdkWindowType. If support for single
2410         window-specific icons is ever needed (eg. Dialog specific), every
2411         such window should get its own class.
2412
2413 1999-08-19  Tor Lillqvist  <tml@iki.fi>
2414
2415         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
2416         error that caused crashes.
2417
2418 1999-08-17  Tor Lillqvist  <tml@iki.fi>
2419
2420         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
2421         window, use ScrollWindowEx, and call UpdateWindow. This prevents
2422         bugs when for instance part of the window was outside the
2423         display. Thanks to Philippe Colantoni for finding and fixing this.
2424
2425 1999-08-16  Tor Lillqvist  <tml@iki.fi>
2426
2427         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
2428         endpoint calculations which were totally wrong. (A little RTFMing
2429         helps a lot ;-)
2430
2431         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
2432         from a separate directory, not from gettext, because of licensing
2433         issues (we want to use the LGPL version).
2434
2435         * README.win32: Mention the intl from glibc vs from gettext issue.
2436
2437 1999-08-13  Tor Lillqvist  <tml@iki.fi>
2438
2439         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
2440         in the key event handling: Now AltGr chars work again. Also,
2441         now Alt-digits are passed up as well as Control-digits.
2442         Pass keypad plus and minus as normal plus and minus.
2443
2444 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
2445
2446         * docs/gtkfaq.sgml: FAQ Update
2447
2448 1999-07-25  Tor Lillqvist  <tml@iki.fi>
2449
2450         * README.win32
2451         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
2452         the Wintab SDK.
2453
2454         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
2455         OK, but getting closer. Guard against bogus tilt data from Wacom
2456         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
2457         enable easier building without Wintab.
2458
2459         * gdk/win32/gdkinput.h
2460         * gdk/win32/gdkevents.c 
2461         * gdk/win32/gdkwindow.c: Minor changes related related to above.
2462         
2463         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
2464         code. As we have just one visual on Win32, no sense to have it in a
2465         table, and no need for the hash table.
2466
2467         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
2468         better on white background.
2469
2470 1999-07-21  Tor Lillqvist  <tml@iki.fi>
2471
2472         * README.win32: Update gcc build instructions. Mention gettext is
2473         GPL.
2474
2475         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
2476         supported cursor size with GetSystemMetrics.
2477
2478         * gdk/win32/gdkfont.c
2479         * gtk/gtkfontsel.c: Guard against some font weight and charset
2480         symbols being undefined (in mingw32 headers).
2481
2482         * gdk/win32/makefile.cygwin
2483         * gtk/makefile.cygwin
2484         * gtk/gtkthemes.c: No longer need to have differently named
2485         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
2486
2487 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
2488
2489         * docs/gtkfaq.sgml: Long awaited FAQ update.
2490
2491 1999-07-15  Tor Lillqvist  <tml@iki.fi>
2492
2493         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
2494         it. Obscure bit manipulation needed.
2495
2496         * gdk/win32/gdkevents.c: Logging.
2497         
2498         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
2499         style (file name include compiler name) for theme engines.
2500
2501 1999-07-13  Tor Lillqvist  <tml@iki.fi>
2502
2503         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
2504
2505         * gdk/win32/gdkevents.c: Fix long-standing bug in key
2506         events. The key.string wasn't zero-terminated, still we strdup'ed
2507         it in gdk_event_copy(). Synthesize crossing events for button
2508         events before possible propagation.
2509
2510         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
2511
2512         * gdk/win32/makefile.cygwin
2513         * gtk/makefile.cygwin: Use new DLL naming style for the
2514         GCC-compiled ones.
2515
2516         * gdk/win32/makefile.msc
2517         * gtk/makefile.msc: Cosmetics mostly.
2518
2519         * gtk/gtk.def: Add missing entry points.
2520
2521         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
2522
2523 1999-07-09  Tor Lillqvist  <tml@iki.fi>
2524
2525         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
2526         or height is zero. Don't print a warning if Pie or Arc fails, they
2527         always fail (?) for very narrow ellipses.
2528
2529         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
2530         the part or the destination window corresponding to source area
2531         outside of the source drawable's boundary.
2532
2533         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
2534         anything if less than two points.
2535
2536         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
2537         return NULL. Gtk cut-and-paste inside a single program works
2538         better this way. (It always gets the clipboard contents from
2539         Windows, not from its own copy, which is cleared anyway. I can't
2540         say I fully understand what happens... Emulating the X selection
2541         and property stuff is a bit of a mess.)
2542
2543         * gdk/win32/gdkevents.c
2544         * gdk/win32/gdkproperty.c: A bit more verbose logging.
2545
2546         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
2547         that never got deleted). Revamp gdk_region_shrink.
2548
2549         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
2550         after use.
2551
2552         * gtk/gtk.def: Add some missing entry points.
2553
2554         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
2555         component.
2556
2557 1999-07-04  Tor Lillqvist  <tml@iki.fi>
2558
2559         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
2560         Control-digits specially.
2561
2562 1999-07-03  Tor Lillqvist  <tml@iki.fi>
2563
2564         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
2565
2566 1999-06-28  Tor Lillqvist  <tml@iki.fi>
2567
2568         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
2569         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
2570         finding this.)
2571
2572 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
2573
2574         * gtk+.spec.in: Corrected some typos in files section.
2575         
2576 1999-06-15  Tor Lillqvist  <tml@iki.fi>
2577
2578         * README.win32: Mention using GNU gettext.
2579         * config.h.win32: Enable NLS stuff.
2580         * gtk/makefile.msc: Use GNU gettext.
2581         * gdk/win32/gdkdnd.c: Minor header reorg.
2582         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
2583         cosmetics.
2584         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
2585         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
2586
2587 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
2588
2589         * acinclude.m4
2590         * config.guess
2591         * config.status
2592         * ltconfig
2593         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
2594
2595 1999-05-30  Tor Lillqvist  <tml@iki.fi>
2596
2597         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
2598         SafeAdjustWindowRectEx. Don't override all calls to
2599         AdjustWindowRectEx by it, but use it only in two places: When
2600         creating a new top-level window and when moving a top-level
2601         window.
2602
2603         Use screen coordinate rectangle, not client rectangle, in
2604         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
2605         when we try to place a window so that the decoration (mainly,
2606         title bar) isn't visible.
2607
2608         These changes fix the bug that showed up for instance as the
2609         GIMP's saved top-level windows moving right and down (by an amount
2610         equal to the window decoration) for each session. This bug showed
2611         up also in testgtk's "Saved Position".
2612
2613         gdk_window_resize also redone a bit.
2614
2615 1999-05-25  Tor Lillqvist  <tml@iki.fi>
2616
2617         * gtk/testgtkrc: Add (commented out) Windows-style theme
2618         include line.
2619
2620         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
2621
2622 1999-05-18  Tor Lillqvist  <tml@iki.fi>
2623
2624         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
2625         gdkx.h to a gdk subdirectory, so that applications can include
2626         these with <gdk/*.h> without trouble.
2627
2628         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
2629         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
2630         have their bitmap destroyed.
2631
2632         * gdk/win32/gdk.def: Add gdk_root_parent.
2633
2634 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2635
2636         * configure.in
2637           gtk-config.in
2638           ltconfig
2639           ltmain.sh     
2640           gtk/Makefile.am: changes to compile nicely (with xlib) 
2641           on BeOS
2642
2643 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
2644
2645         * acinclude.m4
2646         * config.guess
2647         * config.sub
2648         * ltconfig
2649         * ltmain.sh: upgrade to libtool 1.3
2650
2651 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
2652
2653         * gtk/gtkclist.c:
2654         * gtk/gtkctree.c: merges from gtk-1-2
2655
2656 1999-04-25  Tor Lillqvist  <tml@iki.fi>
2657
2658         Support added for building using a GNU toolchain on Win32,
2659         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
2660
2661         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
2662         * config.h.win32: Changes for gcc.
2663         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
2664         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
2665         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
2666         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
2667         Protect shl stuff unavaiilable with mingw32 headers.
2668         * gdk/win32/gdkevents.c: Fix typo.
2669         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
2670         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
2671         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
2672         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
2673         the mingw32 headers.
2674         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
2675         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
2676         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
2677         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
2678         Test for NATIVE_WIN32, not _MSC_VER.
2679         * gtk/gtkmain.c: No use warning about developer version on Win32,
2680         there aren't any non-developer versions anyhow.
2681         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
2682         * gtk/makefile.msc: Use pthread from another directory. Minor other
2683         changes. 
2684
2685 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
2686
2687         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
2688           default filter from the list
2689
2690 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
2691
2692         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
2693          when gtk_widget_grab_default() is called for a widget that
2694          is not within a GtkWindow.
2695
2696 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
2697
2698         * docs/gtk_tut.sgml, examples/clist.c: use a
2699           scrolled window in the clist example. Minor
2700           tutorial fixes.
2701
2702 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
2703
2704         * docs/gtk_tut.sgml: Style check from David King
2705           <dking@youvegotmail.net>
2706
2707 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
2708
2709         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
2710         compile with unknown value of GDK_WINDOWING
2711
2712 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
2713
2714         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
2715         after the rule is fired.
2716         (install-exec-local): Install gdkconfig.h only if the contents are
2717         different from the currently installed gdkconfig.h.
2718
2719 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
2720
2721         * gdk/Makefile.am (configexecincludedir): Rename from 
2722         configincludedir so that gdkconfig.h will be installed 
2723         as part of `make install-exec'. 
2724
2725 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
2726
2727         * acinclude.m4
2728         * config.guess
2729         * config.sub
2730         * ltconfig
2731         * ltmain.sh: upgrade to libtool 1.2f
2732
2733         * autogen.sh: libtool is not required to autogen gtk+
2734
2735         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
2736         needed)
2737
2738 1999-03-18  Tor Lillqvist  <tml@iki.fi>
2739
2740         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
2741         declaring gdk variables exported/imported from the DLL. New image
2742         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
2743         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
2744         GDK_DRAG_PROTO_OLE2.
2745
2746         * gdk/gdk.h: Merge in Win32 version: Two new functions,
2747         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
2748         declared only for the Win32 version, but could be in the X11
2749         version as well. (Needed for a Xlib-less gdk_imlib.)
2750         gdk_color_hash should have only one parameter. Declare
2751         gdk_threads_mutex with GDKVAR.
2752         
2753         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
2754         just one parameter.
2755
2756         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
2757         per pixel, not bits.
2758
2759         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
2760         Fetch bpp (which means bits-per-pixel here) from another place on
2761         Win32. Accept also depth==32 (which we might get on Win32) with
2762         bpp==32.
2763
2764         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
2765         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
2766         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
2767         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
2768         in the backend-dependent directory, not in the common gdk
2769         directory.
2770
2771         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
2772         headers.
2773
2774 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
2775
2776         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
2777         want to use the Gtk+ devel version (which is true, and yes - even i am
2778         currently working with the 1.2.x branch). so everyone reading this, you
2779         probably want to issue
2780         cvs checkout -r glib-1-2 glib
2781         and
2782         cvs checkout -r gtk-1-2 gtk+
2783         as your next two comands.
2784
2785 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
2786
2787         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
2788         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
2789
2790         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
2791         file. strongly deprecated the GTK_HAVE_* macros, we provide
2792         GTK_CHECK_VERSION() for people that need to check for certain
2793         Gtk+ versions.
2794
2795         * gtk/gtkcompat.h: removed this from CVS.
2796         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
2797         idea right from the start, it just didn't seem like that back then.
2798
2799 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
2800
2801         * merges from gtk-1-2:
2802
2803 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
2804
2805         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
2806         item factory class has been created.
2807         (gtk_item_factory_parse_rc): likewise.
2808
2809         * gtk/gtkmenu.c:
2810         keep proper references for old_active_menu_item.
2811         (gtk_menu_reparent): unset the usize of the new parent,
2812         so the menu can sanely be size requested and we don't get nasty screen
2813         artefacts upon next reparentation.
2814         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
2815         enter notify. only synthesize enter notifies if the pointer really is
2816         inside the event window.
2817         (gtk_menu_popdown): use gtk_menu_shell_deselect().
2818         (gtk_menu_popup): move the background setting stuff into
2819         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
2820
2821         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
2822         gtk_menu_shell_select_item() to select the new item.
2823         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
2824         do the right thing for deselection as well.
2825
2826 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
2827
2828         * gtk/gtkwidget.[hc]:
2829         (gtk_widget_accelerators_locked): return whether a widget's accelerators
2830         are locked.
2831
2832         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
2833         existing accelerators if the widget's accelerators are locked.
2834
2835 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
2836
2837         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
2838
2839         * gtk/gtkmenu.c: truely forward key press and key release events to
2840         the menu widget from the toplevel or tearoff window. we can't simply
2841         connect to that, we need to stop further processing of the events as
2842         well.
2843
2844 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
2845
2846         * gtk/gtkmenu.c:
2847         (gtk_menu_key_press): pass event->keyval, event->state to
2848         gtk_accelerator_valid, instead of event->keyval twice.
2849         refuse to install single letter accelerators for menus that use
2850         single letter shortcuts.
2851
2852         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
2853         gtk_menu_ensure_uline_accel_group().
2854
2855         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
2856         which will always return an uline accel group, made
2857         gtk_menu_get_uline_accel_group() return NULL if the group isn't
2858         yet created.
2859
2860 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
2861
2862         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
2863
2864         * gtk/gtkclist.c (gtk_clist_column_title_passive):
2865         Leave button sensitive, trap  button_press, button_release,
2866         motion_notify, enter_notify and leave_notify events instead.
2867         (gtk_clist_column_title_active): disconnect event handler.
2868         (gtk_clist_drag_data_get): fixed memory leak. Reported by
2869         Guillaume Laurent <glaurent@worldnet.fr>
2870
2871 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
2872
2873         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
2874         width/height mixups.
2875
2876         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
2877         if needed.
2878
2879 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
2880
2881         * gtk/testgtk.c (create_item_factory): unref the item factory after
2882         window's destruction.
2883
2884         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
2885         count on the menu shell around the menu item's activation, since the
2886         signal emission may cause menu shell destruction.
2887
2888         * gtk/gtkitemfactory.c:
2889         the previous code leaked one accel group per menu. we use
2890         gtk_menu_get_uline_accel_group() now to fix that, and with that
2891         also create the underline accelerator group of the menus only if
2892         required (i.e. an underline accelerator has been specified).
2893         (gtk_item_factory_construct):
2894         (gtk_item_factory_create_item): removed code that would create an
2895         extra accel group for the menu (and leak references).
2896         (gtk_item_factory_create_item): adapted the underline accelerator
2897         installation code to properly feature gtk_menu_get_uline_accel_group().
2898
2899         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
2900         menu->accel_group, this may return NULL if the accelerator group
2901         hasn't been set yet.
2902         added gtk_menu_get_uline_accel_group() to retrive the underline
2903         accelerator group of the menu, this will be created on demand
2904         and proper care is taken about its reference count.
2905
2906         * gtk/gtkitemfactory.h:
2907         * gtk/gtkitemfactory.c:
2908         dumped the approach of keeping a widgets by action list on the
2909         factory since the factory<->widget destroy negotiation didn't work
2910         and would be hard to get going at all. instead we keep a list of
2911         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
2912         persistant throughout a program's life time).
2913         also, i removed the static const gchar *key_* variables, and made
2914         them inline strings (they weren't actually used anyways).
2915         (gtk_item_factory_add_item): update ifactory->items.
2916         (gtk_item_factory_destroy): destroy ifactory->items (and remove
2917         the item factory pointer from the remaining ifactory widgets).
2918         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
2919         list to find the widget.
2920         (gtk_item_factory_get_item): new function that works around
2921         gtk_item_factory_get_widget() limitations, this function will only
2922         return menu items, even for <Branch> entries.
2923
2924 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
2925
2926         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
2927         font hash table, if we have a GdkFontPrivate entry for this font
2928         already, simply increment its reference count, provided by Olaf Dietsche
2929         <olaf.dietsche+list.gtk@netcologne.de>.
2930
2931         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
2932         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
2933
2934 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
2935
2936         * gtk/gtkcontainer.c:
2937         (gtk_container_add_with_args):
2938         (gtk_container_addv):
2939         (gtk_container_add): before adding a child to a conatiner, make sure
2940         it is (default) constructed, this is neccessary because under certain
2941         circumstances the child will get relized and mapped immediatedly, in
2942         which case it has to be constructed already.
2943
2944 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
2945
2946         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
2947         values > 1 as TRUE also.
2948
2949 1999-03-16  Tor Lillqvist  <tml@iki.fi>
2950
2951         * README.win32: New file.
2952                 
2953         * configure.in: Check for lstat.
2954
2955         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
2956         completeness.
2957
2958         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
2959
2960         * gtk/gtk.def: Removed CRs.
2961
2962         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
2963         ..\gdk\win32).
2964
2965         * gdk/win32/makefile.msc: Correct upwards relative paths.
2966         
2967 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
2968
2969         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
2970           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
2971           it was connecting a void function to expose_event and the int
2972           returning function to the draw signal
2973
2974 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
2975
2976         * configure.in:
2977         Use correct path to libgmodule.la when ref'ing uninstalled copy
2978         of glib.  (Already in stable branch, Bug #417)
2979
2980 1999-03-15  Tor Lillqvist  <tml@iki.fi>
2981
2982         Win32 merge and general portability stuff:
2983                 
2984         * acconfig.h,configure.in: Check for <sys/time.h>.
2985
2986         * gdk/win32: New directory (actually, been there for a while).
2987         
2988         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
2989         NATIVE_WIN32, and use these. Always case fold on Win32. No
2990         backslashed escapes on native Win32.
2991
2992         * gtk/{gtk.def,makefile.msc}: New files.
2993
2994         * gtk/Makefile.am: Add above new files.
2995         
2996         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
2997         instead of <strings.h>.
2998
2999         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
3000         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
3001         <unistd.h> appropriately.
3002
3003         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
3004         Use ABS() (from <glib.h>) instead of abs().
3005         
3006         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
3007         of gtk (and thus glib) headers, so that WIN32 will be
3008         defined. With MS C, include <direct.h> for mkdir prototype.
3009
3010         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
3011         some casts, needed by MS C.
3012
3013         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
3014         implemented).
3015
3016         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
3017         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
3018         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
3019
3020         * gtk/gtkmain.h: Mark variables for export/import on Win32.
3021                 
3022         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
3023         the event is not a hint, or its window is not the slider. Needed
3024         on Win32, at least.
3025
3026         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
3027         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
3028         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
3029         a subdirectory of the Windows directory as gtk system
3030         configuration directory.
3031
3032         * gtk/gtkselection.c: No chunks on Win32.
3033
3034         * gtk/gtksocket.c: Not implemented on Win32.
3035
3036         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
3037
3038         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
3039
3040         * gtk/maketypes.awk: Declare variables with a macro that expands to
3041         necessary export/import magic in the case of Win32.
3042                 
3043         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
3044
3045 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
3046
3047         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
3048         since those were meant only for gdki18n.h.  
3049         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
3050         for widechar tests.
3051         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
3052
3053 1999-03-13  Tor Lillqvist  <tml@iki.fi>
3054
3055         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
3056         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
3057
3058         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
3059         installed) to CFLAGS.
3060
3061         * gdk/Makefile.am: Add rules for gdkconfig.h.
3062
3063         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
3064         APIs.
3065
3066         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
3067         gdkx.h anyway when compiling for X11.
3068         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
3069         general): Merge in Win32 version.
3070         
3071         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
3072         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
3073         expansion (if we don't have HAVE_PWD_H), allow for drive
3074         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
3075         included code from Craig Setera's port to Win32 (the one that uses
3076         X11, and the cygwin dll), even if it probably will be abandoned.
3077
3078         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
3079         the user entered one herself.  This way one can complete *.h and
3080         don't get matches on any .help files, for instance.
3081         
3082 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
3083
3084         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
3085         font hash table, if we have a GdkFontPrivate entry for this font
3086         already, simply increment its reference count, provided by Olaf Dietsche
3087         <olaf.dietsche+list.gtk@netcologne.de>.
3088
3089         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
3090         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
3091
3092 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3093
3094         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
3095         the number of calls to gdk_draw_point() (and thus to X) by
3096         clipping the points by hand.
3097
3098         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
3099         the clip parameter.
3100         (gtk_handle_box_paint): Only paint the handle if the expose area
3101         intersects it.
3102
3103 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
3104
3105         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
3106
3107 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
3108
3109         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
3110         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
3111
3112 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
3113
3114         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
3115          textmode (O_TEXT) for OS/2 version.
3116
3117 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
3118
3119         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
3120         GtkSpinButton, "input" and "output", to make the output more flexible.
3121         The user has to provide a mapping between adjustment->value and the
3122         output string (and vice versa, if the spin button is editable). 
3123         See testgtk for examples.
3124
3125 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
3126
3127         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
3128         new one.
3129         
3130         * configure.in: set gtk+ version to 1.3.0.