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