]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-8
Cleanup and reindent of GtkFB.
[~andy/gtk] / ChangeLog.pre-2-8
1 2000-11-13  Alexander Larsson  <alexl@redhat.com>
2
3         * gdk/linux-fb/*.[ch]:
4         Massive reindent to gtk+ standard. My hands hurt.
5
6         * gdk/linux-fb/gdkcolor-fb.c:
7         Move GdkColorPrivateFB from inherited to windowing_data
8
9         * gdk/linux-fb/gdkcursor-fb.c:
10         _gdk_cursor_new_from_pixmap made static
11
12         * gdk/linux-fb/gdkdnd-fb.c:
13         GdkDragContextPrivate moved to windowing_data
14
15         * gdk/linux-fb/gdkdrawable-fb2.c:
16         Removed endian.h, use glib endianness macros instead
17         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
18         and GDK_DRAWABLE_IMPL_FBDATA
19
20         * gdk/linux-fb/gdkfont-fb.c:
21         Add empty gdk_font_load(). Needed for linking of Gtk+.
22
23         * gdk/linux-fb/gdkimage-fb.c:
24         Removed endian.h, use glib endianness macros instead
25         Moved GdkImagePrivateFB to windowing_data
26         gdk_image_new_bitmap didn't always allocate enough
27         memory.
28
29         * gdk/linux-fb/gdkinput-ps2.c:
30         Added semi-working support for MS serial mice.
31
32         * gdk/linux-fb/gdkprivate-fb.h:
33         s/GdkWindowPrivate/GdkWindowObject/
34         Removed GdkWindowPrivate typedef
35         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
36         Removed GDK_DRAWABLE_P
37         Move GdkColorPrivateFB from inherited to windowing_data
38         Moved GdkImagePrivateFB to windowing_data
39
40         * gdk/linux-fb/gdkvisual-fb.c:
41         Removed some unused debug code.
42
43         * gdk/linux-fb/gdkwindow-fb.c:
44         Use stock cursors instead of including X headers.
45         s/GdkWindowPrivate/GdkWindowObject/
46
47         * gdk/linux-fb/mitypes.h:
48         Removed unused types.
49
50         * modules/linux-fb/basic.c:
51         Use the pango fribidi wrappers.
52
53 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
54
55         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
56         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
57         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
58         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
59         GEqualFunc where applicable.
60         
61         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
62         pango_font_description_equal as changed in pango.
63         
64         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
65
66         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
67
68         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
69
70         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
71
72         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
73
74         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
75
76         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
77         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
78
79         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
80         gtk_rc_styles_compare -> gtk_rc_styles_equal.
81
82 2000-11-12  Havoc Pennington  <hp@pobox.com>
83
84         * demos/gtk-demo/Makefile.am (democodedir): change demo install
85         dir to datadir/gtk+-2.0/demo
86
87         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
88         sorts of text widget and Pango font bugs. Urgh.
89
90         * demos/gtk-demo/Makefile.am (demos): Add textview.c
91
92         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
93         tree that you should double click to see the demo. Fix 
94         types of variables to reflect changed return values from 
95         GtkTreeStore and GtkTreeViewColumn constructors.
96
97         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
98         newly-created buffer to prepare for GObject semantics
99
100         * gtk/testtext.c: don't leak the buffer with GObject semantics
101
102         * gtk/testtextbuffer.c: ditto
103         
104 2000-11-12  Havoc Pennington  <hp@pobox.com>
105
106         Rename this testgtk to gtk-demo to avoid confusion, and 
107         install it so people can use it as a supplement to 
108         the documentation.
109         
110         * demos/gtk-demo: Moved from demos/testgtk
111
112         * demos/testgtk: Removed
113
114         * configure.in: make Makefile in gtk-demo
115         
116         * demos/gtk-demo/Makefile.am: Install sample source to 
117         datadir/gtk-demo (maybe there's a better place?), and 
118         rename the binary to gtk-demo
119         
120         * demos/gtk-demo/main.c (load_file): Load installed sample
121         source if source isn't found in pwd.
122
123 2000-11-09  Havoc Pennington  <hp@pobox.com>
124
125         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
126         argument to set the char displayed when visibility == FALSE
127         (gtk_entry_create_layout): If !entry->visible, replace 
128         all chars with the "invisible char"
129
130         * gtk/testgtk.c: Test the invisible_char deal
131         
132 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
133
134         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
135         can't get a native font in the right encoding.
136
137 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
138
139         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
140         respectively.
141
142 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
143
144         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
145         Fix warning when moving between paragraphs.
146
147         * gtk/gtkentry.[ch]: Change move => move_cursor, 
148         delete => delete_from_cursor, insert => insert_at_cursor
149
150 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
151
152         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
153
154         * modules/input/imthai-broken.c: A Thai input method for use if
155         Thai keys are really generating Latin1 keysyms.
156
157         * modules/input/Makefile.am: Build these.
158
159 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
160
161         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
162         g_filename_{to,from}_utf8 now takes an extra parameter.
163
164         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
165         strftime into UTF-8.
166
167         (column_from_x, gtk_calendar_paint_day_names): Support RTL
168         calendars.
169
170         (gtk_calendar_paint_day_names): Draw day names in the right 
171         place.
172         
173 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
174
175         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
176         problem with using result of g_get_charset() backwards -
177         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
178
179         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
180         negative min_width/height and max_width/height to
181         mean "requisition"; this allows setting a window
182         to be user-resizable in only one direction easily.
183
184         * gtk/testgtk.c (create_main_window): Remove hard-coded
185         usize - set a default size in the vertical direction.
186
187 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
188
189         * gtk/gtkrange.c: Add some missing casts. Support 
190         2 and 3 button clicks on the arrows to mean 
191         "move by pages" and "jump to end". (Like gtkspinbutton)
192
193 2000-11-12 Hans Breuer <Hans@Breuer.Org>
194
195         * gdk/win32/makefile.msc : reflect build module changes
196
197         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
198         from GdkPixmap*, cast implementation member instead.
199
200         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
201         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
202         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
203         more Gdi functions return value checking. 
204         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
205         GdkImagePrivateWin32 *.
206
207         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
208         menus useable again. Add #pragma message to keep reminded on this issue.
209         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
210         windows. This allows to enable backing store on Win32!
211
212         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
213         in drawable is of impl type. Correct specific type checks appropriate.
214  
215         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
216         GDK_WINDOW_DESTROYED before allocating new resources.
217
218         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
219
220         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
221         (gdk_window_foreign_new) initialize parent handle.
222         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
223
224         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
225         Let the GDI invalidate the window on MoveWindow call to fix scrolling
226         problems (e.g. main buttons in testgtk). 
227
228 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
229
230         * gtk/gtkentry.c (gtk_entry_key_press): Call 
231         gtk_widget_activate for GDK_Return.
232
233         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
234         of preedit cursor position.
235
236 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
237
238         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
239         static.
240
241 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
242
243         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
244         out support for multiple locales; that simple doesn't
245         work reliably with current Xlib
246
247         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
248         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
249         Add support for positioning the cursor within the preedit string.
250
251 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
252
253         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
254         at XIM input method module.
255
256         * gtk/gtktextview.c: Check for bindings after passing
257         events to im context filter.
258
259 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
260
261         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
262         empty attribute lists properly.
263
264 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
265
266         * gtk/queryimmodules.c (main): Return non-zero exit
267         status if errors were encountered querying any
268         modules.
269
270         * modules/input/Makefile.am (moduledir): remove
271         leftover bin program target.
272
273         * docs/make-todo: Fix typo in error message.
274
275 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
276
277         * configure.in: Add modules/input/Makefile
278
279 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
280
281         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
282         don't include gtkthemes.h.
283
284         * gtk/testgtk.c gtk/testtext.c: Set environment variables
285         to point
286
287         * gtk/Makefile.am: Add new .c and .h files, build 
288         gtk-query-immodules and use it to create a gtk.immodules
289         file for use of test programs.
290
291         * gtk/gtkpreview.c: remove extra blank line.
292
293 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
294
295         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
296         Add the ability to add extra tables beyond the default
297         one, and also the ability to have compose sequences 
298         that are prefixes of other compose sequences. 
299
300         * gtk/gtkimcontextsimple.c: Export a preedit string which
301         consists of possible candidates for keystrokes that have
302         been entered but not yet committed.
303
304         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
305         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
306
307         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
308         Add a function to add input-method switching menu items
309         to a menu.
310
311         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
312         when switching input methods.
313
314         * gtk/gtkimcontextsimple.[ch]: Change the format of
315         the compose table to allow compose tables of different
316         lengths / sequence.
317
318 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
319
320         * gtk/gtkimmodule.[ch]: Support routines for loading
321         GtkIMContext implementations dynamically at runtime.
322
323         * modules/input/imcyrillic-translit.c: A sample input
324         method (based on GtkIMContextSimple with an extra table),
325         which demonstrates preedit strings and the module
326         system for input modules
327
328         * gtk/queryimmodules.c: Program to query the available
329         input modules and write the results into a file.
330          
331         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
332         extra config options "im_module_file" (cache file for
333         input method modules), and "im_module_path" - path
334         to look for modules when generating cache file.
335
336         This doesn't scale.
337
338 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
339
340         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
341         generic code from gtkthemes into a new abstraction
342         GtkModule which has the logic for implementing
343         a loadable module which implements a number of 
344         GObject types.
345
346 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
347
348         * gtk/gtkeditable.[ch]: Convert GtkEditable from
349         a class into an interface  
350         
351         * gtk/gtkoldeditable.[ch]: Move the old editable
352         implementation into here, so legacy widgets can
353         still rely on the implemenation. GtkOldEditable
354         exports GtkEditable. Make selection handling
355         code use new text conversion functions (and
356         handle UTF-8 as a side-effect). Use GtkClipboard
357         for CLIPBOARD.
358
359         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
360         Adopt to match above changes.
361
362         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
363         avoid GtkOldEditable implementation. Restructure
364         to reduce number of places that modify state directly.
365         Move to GtkBindingSet. Display the preedit string.
366         Queue recomputation of PangoLayout and scroll position
367         to improve effiency of doing complex changes naively.
368         Add a menu with cut/copy/paste and input method selection.
369
370 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
371
372         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
373         to set preedit string and attributes; display preedit string by
374         inserting string and attributes at cursor when creating the
375         GtkTextLineDisplay.
376
377         * gtk/gtktextlayout.c: Move all conversions between byte
378         positions in PangoLayout and GtkTextIter into new functions
379         line_display_iter_to_index/index_to_iter that properly
380         handle the preedit string.
381
382         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
383         it to return const char * (eventually will end up
384         as GCONST char *, most likely.)
385
386         * gtk/gtktextview.[ch]: Handle the preedit string, call
387         gtk_im_context_reset() as necessary, add a menu to switch
388         input methods.
389         
390         * gtk/gtktextlayout.[ch]: Remove useless
391         gtk_text_layout_get_log_attrs() function.
392
393 2000-11-11  Tor Lillqvist  <tml@iki.fi>
394
395         * gdk/gdk.def
396         * gtk/gtk.def: Update.
397
398         * gdk/win32/*.c: Add last argument to g_type_register_static()
399         calls.
400
401         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
402
403         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
404         generated by older wheel mouse drivers. Get the correct y
405         coordinate from WM_MOUSEWHEEL messages.
406
407         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
408         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
409         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
410         Debugging functions.
411
412         * gdk/win32/gdkprivate-win32.h: Declare them.
413
414         * gdk/win32/gdkinput-win32.h: Add declaration for
415         gdk_input_window_destroy().
416
417         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
418
419 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
420
421         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
422         function to help handle keeping things in sync.
423
424 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
425
426         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
427         BOXED marshallers.
428
429         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
430         (gtk_list_store_class_init): use the new BOXED marshallers.
431
432         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
433         new_with_values to new_with_types.
434         (gtk_tree_store_get_column_type): add this.
435         (gtk_tree_store_class_init): use the new BOXED marshallers.
436
437         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
438         mirror some POINTER marshallers.
439
440 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
441
442         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
443         allow more interesting iterators.  Also, made the lifecycle of
444         iterators more explicit.
445
446         * gtk/gtktreemodelsort.[ch]: New model for sorting.
447
448         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
449         types.
450
451 2000-11-09  Alexander Larsson  <alexl@redhat.com>
452
453         * demos/testgtk/menus.c:
454         Changes to make the new testgtk compile after
455         gtk_menu_append was removed.
456
457         * gdk/linux-fb/gdkdrawable-fb2.c
458         (gdk_fb_get_depth, gdk_fb_get_visual,
459         gdk_drawable_impl_fb_class_init): Implement
460         these drawable functions. Now GtkImages work again.
461
462         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
463
464         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
465         
466         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
467         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
468         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
469         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
470
471 2000-11-08  Havoc Pennington  <hp@pobox.com>
472
473         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
474         visible_set args, don't know where these had gone, I thought they
475         used to be there
476
477         * gtk/testtext.c: Add a menu item to apply invisibility tag;
478         now we can test the feature and see that it's totally broken.
479
480 2000-11-08  Havoc Pennington  <hp@pobox.com>
481
482         Make DND copy pixbufs and tags when source and target share a 
483         tag table.
484         
485         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
486         in-process GTK_TEXT_BUFFER_CONTENTS target
487         (gtk_text_view_drag_data_received): Paste from
488         GTK_TEXT_BUFFER_CONTENTS if we receive it.
489
490 2000-11-08  Alexander Larsson  <alexl@redhat.com>
491
492         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
493         API changes.
494
495         * gtk/gtkmenu.c: Add support for scrolling menus.
496         Remove gtk_menu_append/prepend/insert, these have been moved to
497         gtkcompat.h as #defines.
498
499         * gtk/gtkcompat.h.in:
500         Add compatibility #defines for gtk_menu_append/prepend/insert
501
502         * gtk/gtkmenu.h: Add data needed for scrolling menus.
503         GtkMenuPositionFunc gets an extra argument push_in.
504         gtk_menu_append/prepend/insert removed.
505         
506         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
507         positioning behaviour to fit to scrolling menus.
508
509         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
510         into menuitem->submeny. That is wrong, and broke torn
511         off submenus of torn off menus, since they were unrealized
512         when the first menu was unrealized.
513
514         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
515         gtk_menu_shell_select_item() since these need to be overridden in
516         GtkMenu.
517
518         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
519         positioning behaviour to fit to scrolling menus.
520         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
521         the current item so that it is prelighted when the menu pops up.
522         This is a workaround to the fact that the menu doesn't get the
523         initial enter event (due to grabs).
524
525         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
526         s/gtk_menu_append/gtk_menu_shell_append/
527
528         * gtk/gtknotebook.c:
529         s/gtk_menu_insert/gtk_menu_shell_insert/
530
531         * gtk/testgtk.c (create_menu, create_menus):
532         Create the first menu with 50 items so that menu scrolling
533         can be tested.
534         
535         
536         Patch from Jonathan Blandford  <jrb@redhat.com>
537
538         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
539         system to handle size requests.  First, we ask what the size of
540         the toggle is.  Then, when allocating the size, we allocate the
541         toggle_size first.  This way we can have multiple menu-item
542         classes w/o needing a seperate class for each.
543
544         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
545         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
546
547         * gtk/gtkcheckmenuitem.c
548         (gtk_check_menu_item_toggle_size_request): New function to handle
549         the toggle size-request.
550
551 2000-11-07  Havoc Pennington  <hp@redhat.com>
552
553         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
554         Half-ass somewhat fix this function, so that scrolling to the
555         insertion point works. Pango hacking is in the future to really
556         fix it.
557
558         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
559         length of data, no longer used.
560
561         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
562         method contents in here, get rid of destroy method
563         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
564         that were backward. Remove debug spew.
565         (cut_or_copy): Make the clipboard work with insert_range to
566         preserve tags and pixbufs, not just the primary selection.
567
568 2000-11-07  Havoc Pennington  <hp@redhat.com>
569
570         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
571         to gtk_text_mark_get_visible
572
573         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
574         bug that was generating an invalid iterator
575
576         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
577         ensure_char_offsets() in front of code placing the iter in an
578         invalid state.
579
580         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
581         make override_location arg const
582         (paste): Replace the selection if we paste into the 
583         current selection
584
585         * gtk/gtkselection.h: Remove "GtkSelectioData"
586         (struct _GtkSelectionData): move the definition here.
587
588         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
589         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
590
591         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
592
593         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
594         (gtk_text_buffer_insert_range_interactive): implement
595         (gtk_text_buffer_get_tags): Remove, replaced by
596         gtk_text_iter_get_tags()
597
598         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
599         limit parameter, to avoid infinite linear scan.
600         (gtk_text_iter_backward_search): Add search limit
601         (gtk_text_iter_forward_find_char): Add search limit
602         (gtk_text_iter_backward_find_char): Add search limit
603
604 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
605
606         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
607         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
608         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
609         gdk/linux-fb/gdkwindow-fb.c:
610         use g_object_new() instead of g_type_create_instance() which
611         is a private function for fundamental type implementations.
612
613         * gdk/linux-fb/gdkinput-ps2.c:
614         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
615         instead just store the current modifier state. Add a (somewhat broken)
616         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
617         Rename exported function gdk_input_ps2_get_mouseinfo to
618         gdk_input_get_mouseinfo.
619
620         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
621         gdk/linux-fb/gdkwindow-fb.c:
622         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
623         
624
625 2000-11-02  Havoc Pennington  <hp@redhat.com>
626
627         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
628         use stock buttons. Should be 100% source compatible, appropriate
629         filesel fields now point to dialog->vbox and dialog->action_area.
630         On the bizarre side, dialog->action_area and filesel->action_area
631         are not the same widget.
632         (gtk_file_selection_init): Put some padding around the selection
633         entry, so it isn't touching the GtkDialog separator.    
634
635         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
636         use stock buttons, etc. Should also be source compatible.
637         Set the dialog default title in _init not _new().
638         
639         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
640         Use stock buttons; don't put a button box inside the existing
641         dialog button box. Don't bother with push/pop colormap anymore.
642
643         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
644         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
645         for message dialog, and necessary for the font selection and color
646         selection with help and apply buttons.
647         
648         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
649         to the created button widget. Set GTK_CAN_DEFAULT on the button.
650         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
651         between buttons, put less padding around the action area.
652         (gtk_dialog_run): Exit on unmap rather than on destroy. 
653         This will also exit the loop if the widget is hidden.
654         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
655         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
656         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
657         special-case delete event.
658
659         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
660         formatting
661         
662 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
663
664         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
665         button to temporarily disable position recording in the
666         "saved position" test.
667
668 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
669
670         * gtk/gtkthemes.c: added compat code that temporarily implements
671         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
672         going to be revamped by owen's upcoming GtkModule patches, but
673         untill then people want gtk to build, right? ;)
674
675 2000-11-04  Havoc Pennington  <hp@pobox.com>
676
677         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
678         list
679
680         * docs/Changes-2.0.txt: Add note about
681         gtk_container_get_toplevels()
682
683         * gtk/gtktextview.h: formatting
684         
685         * gtk/gtktextview.c: don't start descriptions with "Returns",
686         confuses gtk-doc
687
688 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
689
690         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
691         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
692
693 2000-11-03  Havoc Pennington  <hp@redhat.com>
694
695         * gtk/gtktexttagtable.c: Docs
696         (gtk_text_tag_table_size): return a signed int
697
698         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
699         (gtk_text_tag_event): make the event_object a GObject
700
701         * gtk/gtktextview.c: Write API docs for all functions.
702
703         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
704         for gtk_text_view_get_window_type() called on one of the private
705         windows.
706
707         * gtk/gtktextview.c: Instead of accessing text_view->buffer
708         directly, call get_buffer() which demand-creates a default
709         buffer. So gtk_text_view_new() can be used to create a view with a
710         default buffer in it, if you just want an empty text box users can
711         put data in. Useful for GUI builders also.
712
713 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
714
715         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
716         the charset encodign portion MUST be in lowercase.
717         * gtk/gtkrc.az: added file for Azeri language
718
719 2000-11-03  Havoc Pennington  <hp@redhat.com>
720
721         Get widgets working on the btree/buffer side. Display of them 
722         still doesn't work.
723         
724         * gtk/gtktextview.c: start implementing child widget stuff
725
726         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
727
728         * gtk/gtktextlayout.c: handle embedded widgets
729
730         * gtk/gtktextdisplay.c: handle embedded widgets
731
732         * gtk/gtktextchild.c: Implement all the child anchor goo
733
734         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
735         function
736
737         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
738         (insert_pixbuf_or_widget_segment): abstract out common portions of 
739         creating a child anchor or a pixbuf segment.
740         (gtk_text_btree_create_child_anchor): new function
741         (gtk_text_btree_unregister_child_anchor): new function
742
743         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
744         allocate_child signal on GtkTextLayout
745
746         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
747         values
748         (gtk_text_iter_get_child_anchor): new function
749
750         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
751         default handler for the changed signal, which calls
752         gtk_text_buffer_set_modified(), instead of just always emitting
753         changed then calling set_modified() manually. I guess this is
754         maybe more flexible. It seems logical.
755
756 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
757
758         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
759         now.
760
761         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
762
763 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
764
765         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
766         been marked static.
767
768 2000-11-02  Havoc Pennington  <hp@redhat.com>
769
770         * gtk/testgtk.c (create_labels): had a test backward
771
772         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
773         fields, so the dest GC ends up with the correct clip origin, 
774         etc. Fixes a bug where colored labels didn't redraw 
775         properly.
776
777 2000-11-02  Alexander Larsson  <alexl@redhat.com>
778
779         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
780         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
781         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
782         Add last argument to t_type_register_static call.
783         
784         * gdk/linux-fb/gdkdrawable-fb2.c:
785         Add last argument to t_type_register_static call.
786         export the get_image drawable virtual function.
787
788         * gdk/linux-fb/gdkimage-fb.c:
789         Add last argument to t_type_register_static call.
790         rename gtk_image_get to _gdk_fb_get_image and
791         export it for use by gdkdrawable-fb2.
792
793         * gdk/linux-fb/gdkprivate-fb.h:
794         export _gdk_fb_get_image.
795
796         * gdk/linux-fb/gdkselection-fb.c:
797         Add new api call stubs.
798
799         * gtk/Makefile.am:
800         Missing ( in linux-fb part.
801
802         * modules/linux-fb/Makefile.am:
803         Must link with gdk_pixbuf or get unresolved symbol.
804
805 2000-11-01  Havoc Pennington  <hp@pobox.com>
806
807         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
808         GTK_TYPE_TEXT_ITER and BOXED marshallers
809
810         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
811
812         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
813         
814         * gtk/gtk-boxed.defs: add GtkTextIter
815
816         * gtk/gtkmarshal.list: Add marshallers for text widget that 
817         properly use OBJECT and BOXED
818
819 2000-11-01  Havoc Pennington  <hp@redhat.com>
820
821         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
822
823         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
824         before returning it. 
825         
826 2000-11-01  Havoc Pennington  <hp@redhat.com>
827
828         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
829         Clip the rectangle to be rendered to the drawable, since
830         get_from_drawable() requires a region within the drawable
831
832 2000-11-01  Havoc Pennington  <hp@redhat.com>
833
834         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
835         from coordinates.
836
837 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
838
839         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
840         it isn't NULL.
841
842 2000-11-01  Havoc Pennington  <hp@pobox.com>
843
844         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
845         on a label
846         (gtk_label_finalize): unref the attr list if any.
847
848         * gtk/testgtk.c (create_get_image): close test on second click
849         (make_message_dialog): close dialog if it exists
850
851         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
852
853         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
854         gdk-pixbuf
855
856         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
857         from Pango markup format
858         (gtk_label_set_markup_with_accel): ditto but with accelerator
859         parsing
860
861         * gtk/gtkimage.c (gtk_image_expose): reformatting.
862
863         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
864         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
865         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
866         call gdk_window_get_origin().
867
868         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
869         implement GDK_PIXBUF_ALPHA_FULL
870         
871 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
872
873         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
874         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
875         g_signal_handlers_disconnect_matched to block/unblock and disconnect
876         multiple handlers respectively, instead of only treating the
877         first handler found (bug reported by owen).
878
879 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
880
881         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
882
883         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
884
885         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
886         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
887         gtk/gtktreeviewcolumn.h: Fixed inline docs.
888
889         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
890         widget.  Needs writing someday.
891
892         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
893         the docs.
894
895 2000-10-30  Havoc Pennington  <hp@redhat.com>
896
897         * gtk/gtktextview.h, gtk/gtktextview.c:
898         Rename delete_at_cursor delete_from_cursor, and 
899         move to move_cursor.
900
901 2000-10-30  Havoc Pennington  <hp@redhat.com>
902
903         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
904         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
905         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
906         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
907         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
908         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
909         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
910         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
911         gtktexttypes.h, gtktextview.c, gtktextview.h:
912
913         Massive reindentation and reformatting. Arg alignment and comments
914         still need fixing in various places.
915
916 2000-10-30  Havoc Pennington  <hp@redhat.com>
917
918         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
919         to be named insert_at_cursor and delete_at_cursor so C++ can
920         handle them.
921
922 2000-10-28  Tor Lillqvist  <tml@iki.fi>
923
924         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
925         to get a double directory separator in case the home directory
926         ends with one. This would cause trouble especially on Windows,
927         where the path will be confused with the syntax for an an UNC
928         (network share) path \\server\share\path.
929         (gtk_rc_add_initial_default_files): Ditto.
930
931 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
932
933         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
934
935         * gtk/gtktextview.c: Use correct marshallers.
936
937 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
938
939         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
940         use new iter stuff, and added all the appropriate signals et al.
941
942         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
943         code is internal to gtk only.
944
945 2000-10-28  Tor Lillqvist  <tml@iki.fi>
946
947         * gtk/gtk.def
948         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
949         glib-genmarshal etc.
950
951 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
952
953         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
954         parallel builds.
955
956 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
957
958         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
959
960 2000-10-27  Robert Brady  <robert@suse.co.uk>
961
962         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
963         en_GB (British), ia (Interlingua).
964
965 2000-10-26  Havoc Pennington  <hp@redhat.com>
966
967         * gtk/gtktextiter.c (my_strrstr): fix constness warning
968
969         Fixed output of:
970         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
971         
972         * gtk/gtktextsegment.c (char_segment_new): rename
973         (_char_segment_new_from_two_strings): rename
974         (_toggle_segment_new): rename
975         
976         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
977         (make_clipboard_widget): make it static
978         (text_get_func): static
979         (text_clear_func): static
980
981         * gtk/gtkcolorsel.c (adjustment_changed): make this function
982         static
983         (hex_changed): make it static
984         (hsv_changed): make it static
985         (opacity_entry_changed): make it static
986
987         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
988         (toggle_segment_check_func): rename with _gtk
989
990         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
991         (_widget_segment_new): rename
992         (_widget_segment_add): rename
993         (_widget_segment_remove): rename
994         (_widget_segment_ref): rename
995         (_widget_segment_unref): rename
996
997         * gtk/gtktextmark.c (_mark_segment_new): Rename
998         _gtk_mark_segment_new   
999
1000 2000-10-26  Havoc Pennington  <hp@redhat.com>
1001
1002         * gtk/gtkmarshal.list: add new marshallers used by the text widget
1003         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
1004         types
1005
1006         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
1007         marshaller types
1008
1009         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
1010         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
1011         license on these files.
1012
1013         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
1014         work.
1015
1016         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
1017         runtime random number different for each tree, instead of 
1018         a constant I made up.
1019
1020 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
1021
1022         * gtk/Makefile.am: buncha cleanups, kludged build sources
1023         dependencies with a Makefile: oldest-source-stamp dependancy
1024         for the moment. automake is really fighting us here, with
1025         intentionally not allowing user-defined rules or dependancies
1026         prior to it's -include $(DEP_FILES) statement. sucks rocks!
1027
1028         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
1029         to public headers. tehy have a comment stating that they are
1030         "semi-public" aren't included by gtk.h and if enums popup there,
1031         they can be /*< skip >*/-ed.
1032
1033         * gtk/gtktextlayout.h: 
1034         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
1035         added LGPL... <SIGH>
1036
1037 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
1038
1039         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
1040         GtkTreeIter.  Added iterators everywhere.
1041
1042         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
1043
1044         * gtk/gtktreeviewselection.c: Changed to use the iterators.
1045
1046         * gtk/gtktreestore.c: Changed to use the iterators.
1047
1048         * gtk/gtkliststore.c: Commented out the code.  Will convert to
1049         iterators tomorrow.
1050
1051         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
1052         iterators tomorrow.
1053
1054         * gtk/treestoretest.c: Changed to use iterators.
1055
1056         * demos/testgtk/main.c: Moved to use the new iterator system.
1057
1058 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
1059
1060         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
1061         localization misbehaviour.
1062
1063         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
1064         a useless type without copy/free.
1065
1066         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
1067         of GTK_TYPE_CTREE_NODE.
1068
1069 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
1070
1071         * gtk/gtksignal.c:
1072         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
1073         applicable.
1074
1075         * gtk/gtk-boxed.defs (GtkSelectionData): specify
1076         gtk_selection_data_copy and gtk_selection_data_free
1077         do GtkSelectionData work as params in signals.
1078
1079 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
1080
1081         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
1082         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
1083         couldn't they at least give it a non-standard name?
1084         
1085         * gtk/gtktextlayout.c: arg! yet another implementation of
1086         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
1087
1088         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
1089         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
1090         home. now i know this _is_ a conspiracy.
1091
1092         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
1093         ::state-changed.
1094
1095         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
1096         (gtk_accel_group_create_add): marshaller signature fixups.
1097
1098         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
1099         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
1100
1101         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
1102         anymore.
1103
1104 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
1105
1106         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
1107         due to the signal system changes, it wouldn't build currently. to
1108         be fixed soon.
1109
1110         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
1111
1112         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
1113         so it needs gtk_marshal_VOID__ENUM() instead of
1114         gtk_marshal_NONE__UINT().
1115
1116         * gdk/gdk*.c: adapted type registration functions.
1117
1118         * gtk/gtkbindings.c:
1119         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
1120         gone.
1121
1122         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
1123
1124         * gtk/gtkobject.c:
1125         (gtk_object_destroy):
1126         (gtk_object_shutdown): fixed recursion guards. basically we have to
1127         catch the case where any of GObject.shutdown() or gtk_object_destroy()
1128         is called during ::destroy, and avoid recursion there.
1129
1130         * gtk/gtktypeutils.c:
1131         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
1132         boxed_copy/boxed_free. this needs a more general solution based on a
1133         publically installed code-generator utility.
1134
1135         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
1136         glib's gobject has support for that now.
1137         define GtkSignalMarshaller in terms of GSignalCMarshaller.
1138
1139 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
1140
1141         * gtk/gtksignal.[hc]:
1142         * gtk/gtkmarshal.[hc]:
1143         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
1144         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
1145         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
1146         care of that.
1147
1148         * *.c: marshaller name fixups.
1149
1150         * gtk/gtkmarshal.list: added a comment briefing the format.
1151
1152 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
1153
1154         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
1155         compatibility macros here now. more specifically, most of
1156         the API is preserved (yes, _most_, nonwithstanding the
1157         following exceptions listed, the API is stil lHUGE ;)
1158         things that got removed completely:
1159         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
1160         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
1161         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
1162         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
1163         gtk_signal_remove_emission_hook().
1164         non-functional functions variants:
1165         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
1166         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
1167         not supported anymore.
1168         (gtk_signal_compat_matched): new internal function to aid
1169         implementation of the compatibility macros, it  provides
1170         functionality to block/unblock/disconnect handlers based
1171         on func/data.
1172
1173         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
1174
1175         * *.c: adaptions to new type registration API signatures.
1176
1177 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
1178
1179         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
1180
1181 2000-10-25  Robert Brady  <robert@suse.co.uk>
1182
1183         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
1184         gdk_property_delete): If window == NULL, assume the root window.
1185         (restoring the behaviour that was in 1.2).
1186         
1187         * gtk/testtext.c (save_buffer): Allow creation of new files when
1188         saving.
1189
1190         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
1191         calls to read().
1192
1193 2000-10-25  Tor Lillqvist  <tml@iki.fi>
1194
1195         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
1196
1197         * gdk/win32/gdkdrawable-win32.c
1198         * gdk/win32/gdkimage-win32.c
1199         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
1200         X11 backend.
1201
1202         * gdk/win32/gdkcc-win32.c
1203         * gdk/win32/gdkcolor-win32.c
1204         * gdk/win32/gdkfont-win32.c
1205         * gdk/win32/gdkinput-win32.c
1206         * gdk/win32/gdkmain-win32.c
1207         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
1208
1209 2000-10-24  Havoc Pennington  <hp@redhat.com>
1210
1211         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
1212         it a static function
1213
1214         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
1215         redraw text when a tag is applied to it.
1216
1217         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
1218         (gtk_text_tag_affects_nonsize_appearance): private functions to
1219         see if a tag requires various kinds of redraw/layout to be queued
1220         up.
1221
1222         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
1223
1224         * gtk/testtext.c (fill_example_buffer): Put the cursor 
1225         at the start of the buffer, so search works by default
1226
1227         * gtk/gtktextiter.c (lines_match): init match_start always
1228
1229         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
1230         function, get iter at a line + a byte index
1231
1232         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
1233         to set byte position within a line
1234         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
1235
1236 2000-10-23  Havoc Pennington  <hp@redhat.com>
1237
1238         * gtk/testtext.c: Re-enable the "find" dialog
1239
1240         * gtk/testgtk.c: Add test for gdk_drawable_get_image
1241         
1242         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
1243         the arguments to gdk_draw_drawable were in the wrong order
1244         (gdk_window_paint_init_bg): This function was ignoring the
1245         init_region, instead of clipping to it, so the entire backing
1246         pixmap was cleared on every begin_paint()
1247         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
1248         was in here again, the loop kept using the same GtkWindowPaint
1249         over and over.
1250         (gdk_window_begin_paint_region): Fix a bug where we had two
1251         x_offset instead of x_offset and y_offset
1252
1253         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
1254         before we get the image.
1255         (gdk_draw_drawable): get the composite before we draw the drawable.
1256         (gdk_drawable_real_get_composite_drawable): default
1257         get_composite_drawable implementation that returns the drawable 
1258         itself
1259
1260         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
1261         get_composite_drawable virtual function
1262
1263         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
1264         list-walking bug
1265
1266         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
1267         make this work if the source drawable is a GdkDrawableImplX11
1268         instead of a public drawable type. This is really broken; the
1269         problem is that GdkDrawable needs a virtual method get_xid(), but
1270         of course that doesn't work in practice. Enter RTTI.
1271
1272         Also, improve mismatched depth message.
1273
1274         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
1275         GdkPixmap
1276
1277         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
1278         install _gdk_x11_get_image as our implementation of get_image
1279         
1280         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
1281         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
1282
1283         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
1284         gdk_drawable_get_image
1285
1286         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
1287
1288         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
1289         get_image
1290
1291         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
1292         trailing semicolon after for loop
1293
1294 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
1295
1296         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
1297         where font_desc for widget's context lagged widget's font_desc by
1298         one step.
1299
1300 2000-10-22  Tor Lillqvist  <tml@iki.fi>
1301
1302         * gdk/win32/gdkgc-win32.c
1303         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
1304
1305         * gtk/makefile.mingw.in
1306         * gtk/gtk.def: Updates.
1307
1308         * gtk/testgtk.c: sleep() is called _sleep in MS's C
1309         library.
1310
1311         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
1312
1313         * gtk/makefile.msc: Remove
1314
1315         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
1316
1317         * gtk/Makefile.am: Add it.
1318
1319         * configure.in: Generate it.
1320
1321         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
1322         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
1323         something even if not implemented, to satisfy picky MSVC.
1324
1325         Patches by Hans Breuer:
1326         
1327         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
1328         SetBkMode() and SetTextAlign() before calling
1329         pango_win32_render().
1330
1331         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
1332         Set hcliprgn to NULL after destroying it.
1333         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
1334
1335         * gdk/win32/gdkgeometry-win32.c
1336         (_gdk_windowing_window_queue_antiexpose): More effective
1337         implementation.
1338
1339         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
1340         depth as default, not the visual's.
1341
1342         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
1343         against empty title.
1344
1345         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
1346         IMAGE_PRIVATE_DATA.
1347
1348         * gdk/win32/gdkimage-win32.c: Use it.
1349
1350 2000-10-22  Robert Brady  <robert@suse.co.uk>
1351
1352         * configure.in: Check for bind_textdomain_codeset
1353
1354         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
1355         present, make use of it.
1356
1357         Add a translatable string "default:LTR" which, if translated
1358         to "default:RTL", will cause the default direction to be
1359         Right-to-Left.
1360
1361         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
1362         direction if marked as flippable.
1363
1364         * gtk/gtkhscale.c: Mark widget as flippable.
1365         
1366 2000-10-04  Havoc Pennington  <hp@redhat.com>
1367
1368         * gtk/testgtk.c (create_buttons): create some stock buttons
1369         with the default accel group
1370         (create_image): test some new GtkImage features
1371         (make_message_dialog): test GtkMessageDialog
1372         (create_modal_window): fix someone's bizzarro indentation
1373
1374         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
1375         GTK_WIN_POS_CENTER_ON_PARENT. 
1376         Add "destroy with parent" setting, which means the window goes
1377         away with its transient parent.
1378         (gtk_window_get_default_accel_group): get the default accel group
1379         for the window.
1380         (gtk_window_set_destroy_with_parent): set/unset destroy with
1381         parent flag
1382         (gtk_window_read_rcfiles): invalidate icon set caches
1383         after reloading rcfiles 
1384
1385         * gtk/gtkenums.h (GtkWindowPosition): add
1386         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
1387         on its parent window when the dialog is mapped for the first time.
1388
1389         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
1390         a simple message dialog class
1391         
1392         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
1393         handler to emit response signal, and maybe later it would
1394         honor a hide_on_delete flag - though that isn't there yet.
1395         Set border width on the vbox to 2, so we get some padding.      
1396         Use a button box for the action area.
1397         (gtk_dialog_key_press): synthesize a delete event if Esc
1398         is pressed and the GtkWidget key press handler didn't 
1399         handle the escape key.
1400         (gtk_dialog_new_with_buttons): new function creates a dialog
1401         with some default buttons in it.
1402         (gtk_dialog_add_action_widget): add an activatable widget
1403         as a button in the dialog - you can also add a non-activatable
1404         widget by accessing the action area directly.
1405         (gtk_dialog_add_button): add a simple button - stock ID or 
1406         label - to the action area
1407         (gtk_dialog_response): emit response signal
1408         (gtk_dialog_run): block waiting for the dialog, return 
1409         the response. Override normal delete_event behavior, so that 
1410         delete_event does nothing inside gtk_dialog_run().
1411
1412         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
1413         emitted when an action widget is clicked or the dialog gets
1414         delete_event
1415
1416         * gtk/gtk.h: add gtkmessagedialog.h
1417
1418         * gtk/Makefile.am: add gtkmessagedialog.[hc]
1419
1420 2000-10-18  Havoc Pennington  <hp@redhat.com>
1421
1422         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
1423         where any number of empty lines would get skipped
1424
1425         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
1426         edge.
1427
1428         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
1429         warning about invalid iterators (explain more thoroughly)
1430         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
1431
1432         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
1433         big
1434
1435         * demos/*.c: Add error handling
1436
1437         * gtk/gtktextbuffer.c: don't modify const iterators
1438
1439         * gtk/gdk-pixbuf-loader.c: Add full error handling here
1440
1441         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
1442         on file load
1443
1444         * gtk/gtkiconfactory.c: Update to reflect addition of error
1445         handling to gdk-pixbuf loaders
1446
1447 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
1448
1449         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
1450         move to new modularized testgtk.
1451
1452 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
1453
1454         * gtk/gtktreeview.c: Draw the arrows correctly.
1455
1456         * gtk/gtktreemodel.c: Added user docs.
1457
1458         * gtk/gtk.h: remove gtktreedatalist.h.
1459
1460         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
1461         parent when generating my type.
1462
1463         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
1464         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
1465
1466 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
1467
1468         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
1469         GtkTreeModel from object to interface.
1470
1471 2000-10-16  Havoc Pennington  <hp@redhat.com>
1472
1473         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
1474         compilation
1475
1476 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
1477
1478         * gtk/gtktreeselection.c: Add API documentation to all public
1479         functions.
1480
1481         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
1482         functions.
1483
1484 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
1485
1486         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
1487         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
1488         docs to all public functions.
1489
1490         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
1491         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
1492         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
1493         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
1494         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
1495         issue.
1496
1497 2000-10-14  Robert Brady  <robert@suse.co.uk>
1498
1499         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
1500
1501 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
1502
1503         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
1504         values other then G_TYPE_STRING.
1505         * gtk/gtktreeselection.c: Minor commenting updates.
1506         * gtk/gtktreeview.c: Format updates.
1507
1508 2000-10-09  Tor Lillqvist  <tml@iki.fi>
1509
1510         * README.win32: Update.
1511
1512         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
1513         lines that had been deleted by mistake (?).
1514
1515         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
1516         also the case fg==white and bg==black (but still not randomly
1517         coloured cursors). Thanks to Wolfgang Sourdeau.
1518
1519         * gdk/win32/*.c: Silence gcc -Wall.
1520
1521         * gtk/gtk.def: Add missing entry points.
1522
1523         Fixes by Hans Breuer:
1524
1525         * gdk/makefile.msc
1526         * gdk/win32/makefile.msc: Update.
1527
1528         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
1529         some MSVC thing, presumably), cause breakpoint on failures. Add
1530         GDK_NOR case. Call g_log_set_always_fatal.
1531
1532         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
1533         should be pased by reference.
1534         
1535         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
1536         
1537         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
1538
1539         * gdk/win32/gdkevents-win32.c
1540         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
1541
1542         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
1543         implementation object.
1544
1545         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
1546         not just windows.
1547         
1548         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
1549         Use the wrapper object.
1550         
1551 2000-10-06  Havoc Pennington  <hp@redhat.com>
1552
1553         * Makefile.am (SRC_SUBDIRS): contrib subdir
1554
1555         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
1556         so it can be used in Xlib version
1557
1558         * demos/testpixbuf.c (update_timeout): error checking from 1.0
1559         tree
1560
1561         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
1562         change from 1.0 tree that returns first frame of animation
1563         if the loaded file is an animation.
1564
1565         * contrib: add new directory to hold stuff that comes with GTK+
1566         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
1567         
1568         * configure.in: add contrib/*
1569
1570 2000-10-05  Havoc Pennington  <hp@redhat.com>
1571
1572         * demos/testpixbuf-save.c: add pixbuf save test
1573
1574         * demos/Makefile.am: add testpixbuf-save.c
1575
1576 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
1577
1578         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
1579         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
1580         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
1581         * gtk/gtktreeselection.[ch]: Replaced
1582         "node_selected"/"node_unselected" signal with "selection_changed"
1583         signal.
1584
1585 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
1586
1587         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
1588         tree widget.
1589
1590 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
1591
1592         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
1593         drawing.
1594
1595 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
1596
1597         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
1598         Move list pointer forwards before removing item from
1599         list. (Crash reported by Salmaso Raffaele)
1600
1601         * gdk/gdkwindow.h: Remove spurious trailing ,
1602
1603         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
1604         dependencies on uninstalled libraries, sorry folks.
1605
1606 2000-10-04  Havoc Pennington  <hp@redhat.com>
1607
1608         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
1609         gtk/gtkiconfactory.c: Fix copyrights    
1610
1611         * demos/testpixbuf.c: add inline pixbuf test
1612         
1613 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
1614
1615         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
1616         Add gdk_window_iconify.
1617
1618         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
1619         (gdk_window_set_geometry_hints): Add win_gravity
1620         to geometry structure.
1621
1622         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
1623         Implement _NET_WM_PING.
1624
1625         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
1626         Set _NET_WM_PID on the client leader.
1627
1628         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
1629         Handle UTF-8 better.
1630
1631         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
1632         UTF-8 better, set _NET_WM_NAME as well. Only set
1633         icon name if it hasn't previously been explicitely 
1634         set.
1635
1636 2000-10-03  Havoc Pennington  <hp@redhat.com>
1637
1638         * gtk/testtextbuffer.c: clean up trailing whitespace,
1639         add extensive tests for tag toggle iteration.
1640         
1641         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
1642         distance
1643
1644         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
1645         optimize case where the tag root is on level 1
1646         (gtk_text_line_previous_could_contain_tag): attempt to implement
1647         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
1648         functionality
1649
1650         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
1651         Implement this, though not very efficiently.
1652
1653         * gtk/gtktextiterprivate.h: reformat
1654
1655         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
1656         iterator
1657
1658         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
1659         this to properly revalidate the iterators.
1660
1661         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
1662         properly at the end of the line (and therefore on empty lines)
1663
1664         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
1665         maybe we should return a value...
1666
1667 2000-10-03  Tor Lillqvist  <tml@iki.fi>
1668
1669         * config.h.win32: Guard definition of alloca(). glib.h now handles
1670         that.
1671
1672         * gdk/gdk.def
1673         * gtk/gtk.def: Add new entry points.
1674
1675         Changes just to make GTK+ build without errors on Win32. No hope
1676         of it working in its current state, though...:
1677         
1678         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
1679         some functions from the X11 backend, just to make GTK+ build.
1680
1681         * gdk/makefile.mingw.in
1682         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
1683         number. Add new object files.
1684
1685         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
1686         GetMessageTime to get timestamp (where on X11 uses
1687         gdk_x11_get_server_time()).
1688
1689 2000-10-02  Havoc Pennington  <hp@pobox.com>
1690
1691         * gtk/gtktextview.c: text_window_* weren't static and should have
1692         been.
1693         Start work on child widgets; not yet complete, syncing to 
1694         office computer.
1695
1696         * gtk/gtktextchild.h: change this to contain a public interface,
1697         starting work on child interfaces.
1698         * gtk/gtktextchildprivate.h: move private interfaces here
1699
1700         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
1701
1702         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
1703         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
1704         gtk/gtktextmark.c: copyright notices
1705
1706         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
1707         internal functions      
1708
1709         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
1710         internal function
1711
1712         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1713         Reformatting    
1714
1715 2000-09-30  Havoc Pennington  <hp@pobox.com>
1716
1717         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
1718         NULL start/end pointers
1719
1720         * gtk/gtktextbuffer.c: Write some docs
1721         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
1722         NULL, so you can just check whether there's a selection.        
1723
1724         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
1725         cleanup_line or segments_changed ourselves, it gets done 
1726         in unlink_segment
1727
1728         * gtk/gtktextmark.h:
1729         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
1730         
1731         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
1732
1733         * gtk/gtktextmark.c: delete some more old Tk cruft
1734
1735         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
1736         mark before removing it, so we can emit MARK_DELETED with a valid
1737         pointer.
1738         (gtk_text_buffer_mark_set): hold ref across signal emission
1739
1740         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
1741         whining about attempts to delete special marks
1742
1743         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
1744         underscore, since it's internal.
1745
1746         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
1747         now implemented in terms of iterators in gtktextiter.h
1748
1749         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
1750         New function, destructively sets contents of buffer. Also 
1751         a convenient way to clear the buffer by setting text to ""
1752
1753         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
1754         multiline string literal
1755
1756         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
1757         text changes.
1758
1759         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
1760         is not dereferenceable
1761         (gtk_text_iter_forward_lines): fix return value
1762
1763 2000-09-29  Havoc Pennington  <hp@redhat.com>
1764
1765         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
1766
1767         * gtk/gtktextview.c: Implement drag thresholding; change functions 
1768         that set border window size to have nicer name
1769         (gtk_text_view_mark_set_handler):  Fix this to have the 
1770         right signature.
1771
1772         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
1773
1774         * gtk/testtext.c: Update with API changes, put line numbers on 
1775         both sides.
1776         
1777         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
1778         with this
1779
1780         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
1781         pixbuf; delete a big block of #if 0 Tk code
1782
1783         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
1784         insert_pixmap with insert_pixbuf
1785
1786 2000-09-29  Martin Baulig  <baulig@suse.de>
1787
1788         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
1789         confusion with the GdkPixbuf of the GNOME 1.x platform.
1790
1791 2000-09-29  Havoc Pennington  <hp@pobox.com>
1792
1793         * gtk/gtktextview.c: Implement the side windows.
1794
1795         * gtk/testtext.c: Implement simple line numbering in the 
1796         left side window; seems to make scrolling sloooow. Oops.
1797         Also, cursor blink is for some reason causing redraws
1798         of the line numbers. Should investigate...
1799
1800 2000-09-28  Havoc Pennington  <hp@redhat.com>
1801
1802         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
1803         scrolling child windows, and draw focus rectangle properly.
1804         
1805         (gtk_text_view_buffer_to_window_coords):
1806         Coordinate transformation to deal with all these freaking windows
1807         and offsets
1808         (gtk_text_view_window_to_buffer_coords): transform the other way
1809
1810         * gtk/testtext.c (create_buffer): Update to match Pango API change
1811
1812         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
1813         anonymous tags
1814         (foreach_unref): don't emit remove signal from finalize, just
1815         set tag's parent to NULL
1816
1817 2000-09-26  Havoc Pennington  <hp@redhat.com>
1818
1819         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
1820         Fix some warnings       
1821
1822 2000-09-26  Havoc Pennington  <hp@redhat.com>
1823
1824         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
1825         headers into the private header list
1826
1827         * Makefile.am (pkgconfig_DATA): install pkg-config files
1828
1829         * configure.in: add pkg-config files
1830
1831         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
1832
1833         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
1834         outstanding icon caches on theme change.
1835
1836         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
1837         important types:
1838
1839         (GtkIconSource): Specification for creating a pixbuf 
1840         appropriate for a direction/state/size triplet from 
1841         a source pixbuf or filename
1842
1843         (GtkIconSet): List of GtkIconSource objects that are used to
1844         create the "same" icon (e.g. an OK button icon), and cache for
1845         rendered icons
1846
1847         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
1848         up the icon set for a given stock ID.  GTK maintains a stack of
1849         GtkIconFactory to search, and applications or libraries can add
1850         additional icon factories on top of the stack
1851         
1852         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
1853         the set of GtkIconSource specified for a given stock ID into 
1854         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
1855         RcStyle, under the specified stock ID.
1856
1857         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
1858         render_icon used to derive a GdkPixbuf from a GtkIconSource.
1859         This allows people to theme how prelight, insensitive, etc. are
1860         done.
1861
1862         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
1863         icon factories for a style, and return the resulting 
1864         icon set if any.
1865
1866         (gtk_style_render_icon): Render an icon using the render_icon 
1867         method in the GtkStyleClass.
1868
1869         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
1870         Use the style for a given widget to look up a stock ID, get the
1871         icon set, and render an icon using the render_icon method 
1872         of the style
1873
1874         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
1875         (contains information about a stock item), the built-in stock item
1876         IDs, and functions to add/lookup stock items.
1877
1878         * gtk/stock-icons/*: Stock icons that come with GTK
1879
1880         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
1881         a button based on a GtkStockItem
1882         (gtk_button_new_accel): Takes a uline string and accel group, and
1883         installs the accelerator.
1884
1885         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
1886         image-display widget.
1887
1888 2000-09-25  Havoc Pennington  <hp@redhat.com>
1889
1890         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
1891
1892         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
1893         Fix a bug when removing node data, we didn't properly 
1894         re-splice the linked list after removing the data.
1895
1896         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
1897         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
1898
1899         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
1900
1901         * gtk/gtktextlayout.c (set_para_values): Set tab array 
1902         for the layout from the GtkTextTag.
1903
1904         * gtk/gtktexttypes.h: delete tab and search cruft, 
1905         remove g_convert() in favor of GLib version
1906
1907         * gtk/gtktexttypes.c: remove tab implementation from here,
1908         move to Pango
1909
1910         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
1911         tab stuff using new PangoTabArray from Pango
1912
1913         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
1914         unused border_width stuff
1915
1916 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
1917
1918         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
1919         glib) and now useless utf_to_latin1() latin1_to_utf()
1920
1921         * gtk/gtktextview.[ch]: Change ::move_insert and
1922         ::delete_text action signals to ::move and ::delete;
1923         create the signals with the right enumeration type,
1924         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
1925         C-v bindings, change Home, End to move to beginning/end
1926         of line, Add C-Home C-End to move to beginning/end
1927         of buffer. Change ::cut_text to ::cut_clipboard, etc;
1928         combine ::scroll_text into ::move; use new GtkSelectionData
1929         functions to simplify DND text handling.
1930         
1931         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
1932         deletion enumerations here, rename enumeration values to 
1933         be consistently plural.
1934
1935         * gtk/gtktextbuffer.c: Use new clipboard interfaces
1936         for cut/copy/paste and primary selection.
1937
1938         * gtk/gtktextbuffer.[ch]: Remove excess time and
1939         'interactive' arguments from cut/copy/paste;
1940         rename cut to cut_clipboard, etc; remove
1941         gtk_text_buffer_get_clipboard_contents().
1942
1943         * gtk/gtktextlayout.[ch]: Add 
1944         gtk_text_layout_move_iter_to_line_end() to move the iter to 
1945         line ends.
1946
1947         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
1948         Functions to set or get a UTF-8 string on the selection
1949         data.
1950
1951         * gtk/gtkclipboard.[ch]: New, simplified selection handling
1952         interfaces.
1953
1954         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
1955         created widgets - one of these is useless if we don't.
1956
1957         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
1958         a public function clear all targets registered for the
1959         widget.
1960
1961         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
1962         Never call gtk_widget_realize() - that was just asking
1963         for bizarre side-effects.
1964
1965         * gtk/gtkselection.c (gtk_selection_owner_set): Call
1966         gdk_selection_owner_set even if the widget is the
1967         same so that we reliably update the timestamp on
1968         the server.
1969
1970         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
1971         gdk_x11_get_server_time() function.
1972         
1973         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
1974         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
1975         Add some tricky filtering on serial numbers for
1976         selection clear events to fix up long-standard
1977         race condition FIXME's in gtkselection.c.
1978
1979         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
1980         routines to convert from utf8 to compound text or
1981         STRING and from a text property to UTF-8.
1982
1983         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
1984         a convenience function gdk_get_current_event_time().
1985
1986         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
1987         and free selection_data->data properly
1988
1989 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
1990
1991         * gtk/gtkthemes.c: Remove some unecessary includes.
1992
1993 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
1994
1995         * gtk/gtktextdisplay.c
1996         * gtk/gtktextlayout.c
1997         * gtk/gtktexttag.c
1998         * gtk/gtktexttag.h
1999         * gtk/testtext.c: Change the overstrike property to strikethrough,
2000         to closer match pango.
2001
2002 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
2003
2004         * gtk/gtktextview.c: Fix up visibility so that focus,
2005         cursor_visible and blink interact properly.  Reenable cursor blink
2006         which had been roughly disabled. Make blink and focus
2007         properly per-view.
2008
2009         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
2010         Add a flag for whether to display insertion cursor and
2011         a function to set the flag.
2012
2013         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
2014         get_line_y() to get_line_yrange(), to be a bit more generally
2015         useful.
2016
2017 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
2018
2019         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
2020           do stop_navigating_submenu, to clear last timeout properly.
2021           Also in gtk_menu_motion_notify move ignore_enter above
2022           the conditional to make it always happen as suggested by Owen
2023
2024 2000-09-07  Tor Lillqvist  <tml@iki.fi>
2025
2026         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
2027
2028         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
2029         w32api headers.
2030
2031         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
2032         declarations.
2033
2034         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
2035         (gdk_win32_get_colormap): A line had been deleted by mistake.
2036
2037         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
2038         (gdk_event_translate): Handle more virtual keycodes to be able to
2039         generate GDK events for Control-comma, Control-period, etc.
2040
2041         * gtk/gtk.def: Add some missing entry points.
2042
2043 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
2044
2045         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
2046         Doc comment fixing. (Mostly non-matching parameter names.)
2047
2048         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
2049         comments a little to avoid looking like a doc comment.
2050
2051         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
2052         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
2053         conversions be changed to GError?)
2054
2055         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
2056         Move private #defines into .c file.
2057
2058         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
2059         order of argument addition, remove duplicates.
2060
2061         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
2062         parent class is FrameClass, not BinClass.
2063
2064         * gtk/gtk.h: Add gtkinvisible, which was missing.
2065         (It's occasionalyl useful for client apps, if seldom.)
2066
2067         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
2068         #define.
2069
2070 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
2071
2072         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
2073         coordinates when creating window, instead of GDK-space
2074         coordinates. (Avoid BadValue on too large windows.)
2075
2076 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2077
2078         * configure.in (use_mmx_asm): Remove conftest* after use along the
2079         lines of AC_TRY_COMPILE.        
2080         
2081         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
2082         of g_dirname, which is deprecated.
2083         (gtk_rc_parse_any): Removed calls to
2084         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
2085
2086         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
2087         Removed calls to g_hash_table_{freeze,thaw}, as they are
2088         deprecated now.
2089
2090         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
2091         instead of g_basename.
2092         
2093 2000-09-04 Elliot Lee <sopwith@redhat.com>
2094         
2095         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
2096         ANSI warning.
2097
2098 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
2099
2100         * gtk/gtkwidget.h:  Add some documenting comments about 
2101           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
2102           just as owen said on irc.
2103
2104         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
2105           set HAS_DEFAULT.  Only set it if there isn't another window
2106           holding it (a focus window which RECEIVES_DEFAULT) and only unset
2107           it if the widget is not the focused window with RECEIVES_DEFAULT.
2108           This fixes weird double default bugs in dialogs which has things
2109           call gtk_window_set_default at times.
2110
2111 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
2112
2113         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
2114         Nils Barth and David Santiago to improve submenu
2115         navigation. The patch does this by creating a triangular
2116         region from the point where the pointer leaves the
2117         menu to the submenu.  While the pointer is in
2118         that region and a timeout has not expired, events 
2119         that would cause the active submenu to change are
2120         ignored.
2121
2122 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
2123
2124         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
2125         moving a toplevel window immediately after sizing it would
2126         result in it being sized back to the old size since 
2127         impl->width, impl->height aren't updated until we hear
2128         back from the server. There is still a (longstanding) bug
2129         here that gdk_window_get_size() will give the wrong size
2130         until we do hear back.
2131
2132 2000-08-31  Havoc Pennington  <hp@redhat.com>
2133
2134         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
2135         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
2136         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
2137         Rename GtkTextStyleValues to GtkTextAttributes
2138
2139 2000-08-31  Havoc Pennington  <hp@pobox.com>
2140
2141         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
2142         for rapid testing whether an iterator is the end iterator
2143         (gtk_text_btree_new): init end line cache
2144         (gtk_text_line_is_last): use fast cached line to 
2145         see if we're the last line.
2146         (get_last_line): use cached line here too, should 
2147         speed up some random unrelated code.
2148         
2149 2000-08-30  Havoc Pennington  <hp@pobox.com>
2150
2151         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
2152         signals.
2153
2154         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
2155         delete_text signals. This allows the signals to be used for
2156         implementing undo.
2157
2158         * gtk/gtktextbuffer.c: Change signal handler signatures; 
2159         provide "interactive" argument when emitting insert_text or
2160         delete_text signal.
2161         
2162 2000-08-30  Havoc Pennington  <hp@pobox.com>
2163
2164         * gtk/gtktextbuffer.c: Docs
2165
2166 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
2167
2168         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
2169         from switch statements, since Tor removed the enumeration
2170         value.
2171         
2172         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
2173         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
2174
2175 2000-08-29 Elliot Lee <sopwith@redhat.com>
2176         * */*.h: Use G_GNUC_CONST.
2177
2178 2000-08-27  Havoc Pennington  <hp@pobox.com>
2179
2180         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
2181         minor indentation fixes, inserted some FIXME about stuff I
2182         realized was broken while documenting it.
2183         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
2184         GTK convention  
2185
2186 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
2187
2188         * gtk/testgtk.c (create_styles): Fix double free of
2189         font desc.
2190
2191 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
2192
2193         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
2194         
2195         * gtk/testgtk.c (create_styles): Add a test for modifying
2196         the style through gtk_widget_modify_*.
2197
2198         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
2199         a function to get the current modifier style.
2200
2201         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
2202         of the passed in GtkRcStyle instead of ref'ing it.
2203
2204         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
2205
2206 2000-08-20  Tor Lillqvist  <tml@iki.fi>
2207
2208         * gdk/gdkimage.h
2209         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
2210         shared memory image+pixmap GdkImage type, or
2211         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
2212         I am dropping that.
2213
2214         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
2215         actually call gtk_init_abi_check(), passing also
2216         sizeof(GtkWindow). Ditto for gtk_init_check(). 
2217
2218         * gtk/gtk.def
2219         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
2220         New functions, used to check that the GTK+-using code has been
2221         compiled using the correct compiler and switches. In particular,
2222         with gcc one has to use the -fnative-struct switch as GTK+ is
2223         compiled with that.
2224
2225 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
2226
2227         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
2228         ->prev fields when merging lists. (Found simultaneously
2229         by Pawel Salek and Jakub Jelinek)
2230
2231 2000-08-12  Tor Lillqvist  <tml@iki.fi>
2232
2233         * gdk/gdk.def
2234         * gtk/gtk.def: Add missing entries.
2235
2236         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
2237         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
2238
2239         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
2240         function. Dummy implementation at this point.
2241
2242         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
2243         rules. Undefine GTK_COMPILATION when compiling the test programs.
2244         
2245         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
2246
2247 2000-08-11  Tor Lillqvist  <tml@iki.fi>
2248
2249         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
2250         to convert back and forth from UTF-8 and the "system" (or "current
2251         locale") charset when necessary. Indentation/spacing cleanup.
2252
2253 2000-08-10  Havoc Pennington  <hp@redhat.com>
2254
2255         * Makefile.am (snapshot): Change the format of the snapshot
2256         version to match glib
2257
2258         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
2259         from EXTRA_DIST since it doesn't seem to exist
2260
2261 2000-08-10  Tor Lillqvist  <tml@iki.fi>
2262
2263         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
2264         version of the directory name (not the UTF-8 one) when building
2265         the path name to stat().
2266
2267 2000-08-03  Elliot Lee  <sopwith@redhat.com>
2268
2269         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
2270         PANGO_ATTR_SHAPE set.
2271
2272 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
2273
2274         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
2275         Peter Osterlund to simplify the code while keeping the
2276         functionality the same.
2277
2278 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
2279
2280         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
2281         is_viewable() test further inside the function, since removing the 
2282         window from the redraw list without clearing ->update_area
2283         was also very broken.
2284
2285 2000-08-02  Tor Lillqvist  <tml@iki.fi>
2286
2287         * configure.in: Check for <unistd.h>.
2288
2289 2000-08-01  Martin Baulig  <baulig@suse.de>
2290
2291         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
2292         to display the message that this is a development version of GTK+.
2293
2294 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
2295
2296         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
2297         was depending on widget->allocation instead of the width of text_area,
2298         which was incorrect for subclasses like GtkSpinButton.
2299
2300         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
2301         with width == 1 tests that should be width == -1.
2302
2303 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
2304
2305         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
2306         (broken, Elliot, every single window blank on X) custom code with call
2307         to gdk_window_is_viewable() which a) prevents code duplicate and
2308         b) works. 
2309
2310 2000-07-31  Elliot Lee  <sopwith@redhat.com>
2311
2312         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order to get the GDK_PARENT_ROOT() macro to work.
2313         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
2314         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces of, windows that aren't shown.
2315         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of pointer grab stuff.
2316
2317 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
2318
2319         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
2320           s/gtk_main_iteration/g_main_iteration/
2321
2322           Did this already in change:
2323                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
2324           don't know how it got reverted.
2325
2326 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
2327
2328         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
2329         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
2330
2331         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
2332         not gdk_pixbuf.
2333
2334 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
2335
2336         * configure.in,po/{sp,sr}.po: Added Serbian files
2337
2338 2000-07-30  Tor Lillqvist  <tml@iki.fi>
2339
2340         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
2341
2342         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
2343         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
2344         GIOChannel implementation.
2345
2346         * gdk/win32/gdkinput.c
2347         * gdk/win32/gdkpango-win32.c: Update license name here, too.
2348
2349         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
2350         definition to match prototype.
2351
2352         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
2353
2354 2000-07-27  Elliot Lee  <sopwith@redhat.com>
2355
2356         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
2357         function, to allow handling image formats that cannot be detected
2358         by looking at content alone.
2359
2360 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
2361
2362         * docs/tutorial/*.gif *.jpg *.eps
2363           Update these to the same look-n-feel.
2364           Why does including images in DocBook suck so badly?
2365
2366 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
2367
2368         * gtk/gtktable.c: applied patch from Phil Thompson
2369         <phil@river-bank.demon.co.uk> that enables space settings for
2370         the last row/columns as well.
2371
2372 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
2373
2374         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
2375         updates the license headers to the GNU Lesser General Public License,
2376         as well as updating the copyright year to 2000.
2377
2378 2000-07-26  Robert Brady  <rwb197@zepler.org>
2379
2380         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
2381           and po/Makefile, was installing and looking for them under gtk20
2382           and gtk2 respectively.
2383
2384 2000-07-25  Havoc Pennington  <hp@redhat.com>
2385
2386         * gtk/testtext.c: Comment out some stuff that depends on the rest
2387         of my patches.
2388
2389 2000-07-25  Havoc Pennington  <hp@redhat.com>
2390
2391         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
2392         buffer
2393
2394 2000-07-25  Havoc Pennington  <hp@redhat.com>
2395
2396         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
2397         widget changes.
2398
2399         * gtk/gtktextview.h: To be consistent with usage of "line"
2400         throughout the API to mean "newline-terminated thingy", change
2401         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
2402         to MOVEMENT_LINE.
2403
2404         (GtkTextView): Add flags for default editability, and whether to
2405         show the cursor. Add functions to get/set that. Add 
2406
2407         (gtk_text_view_get_iter_location): new function
2408
2409         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
2410         gtktextlayout.h
2411         (g_convert): Add g_convert temporarily, will go in glib in a bit
2412         
2413         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
2414         GtkTextTagTableForeach instead of brokenly using GHFunc.
2415         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
2416
2417         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
2418         moved to public header.
2419
2420         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
2421         "invisible", since "elide" was a bad name.
2422         (gtk_text_tag_get_priority): Added
2423
2424         (GtkTextStyleValues): put this in public header, along with
2425         functions to use it.
2426
2427         * gtk/gtktextmarkprivate.h: Include more headers, since we no
2428         longer include gtktextbtree.h.
2429
2430         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
2431         gtk_text_mark_deleted
2432
2433         * gtk/gtktextlayout.h: Don't include the "really private" headers,
2434         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
2435         to make this possible. Now we only need to install
2436         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
2437         (However the Makefile.am isn't changed yet because of the
2438         logistics of merging gtk-hp-patches piecemeal)
2439
2440         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
2441         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
2442         gtk_text_iter_get_line is now used in the public API for a
2443         different purpose.
2444
2445         * gtk/gtktextiter.h: Clean up function names to be more
2446         consistent. Always call char offset "offset" and byte index
2447         "index". A "line" is always a line number. 
2448
2449         (gtk_text_iter_is_last): new function, more efficient than 
2450         the existing way to check
2451         (gtk_text_iter_is_first): new function, also more efficient
2452
2453         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
2454
2455         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
2456         gtk_text_iter_forward_char, etc.
2457
2458         (gtk_text_iter_forward_to_tag_toggle): Renamed from
2459         forward_find_tag_toggle, since this isn't a linear search
2460
2461         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
2462
2463         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
2464         New functions, search for a buffer substring.
2465
2466         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
2467         interactive and default editable (since we need to store that info
2468         until we receive the selection data).
2469
2470         Remove all the _at_char and at_line etc. versions of functions;
2471         only have iterator versions.
2472
2473         Add _interactive() versions of functions, that consider the
2474         editability of text. (FIXME add interactive flag to the 
2475         insert/delete signals per Darin's suggestion)
2476
2477         (gtk_text_buffer_get_tag_table): new function, demand-creates the
2478         tag table if necessary
2479
2480         Remove declaration of gtk_text_buffer_get_iter_from_string
2481
2482         (_gtk_text_buffer_get_btree): private/internal function, added.
2483         
2484
2485         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
2486         (gtk_text_line_is_last): new function
2487
2488 2000-07-25  Havoc Pennington  <hp@redhat.com>
2489
2490         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
2491         using GtkProgressBar. See Changes-2.0.txt for details.
2492
2493         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
2494         "pulse_step" which are the equivalent of
2495         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
2496         Implement new API.
2497         
2498         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
2499         (use_text_format) to mark whether text set on the progress bar is
2500         a format string. Deprecate entire GtkProgress interface.
2501
2502         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
2503         (gtk_progress_build_string): make this a no-op if use_text_format
2504         is FALSE
2505
2506         * docs/Changes-2.0.txt: Describe progress bar changes.
2507
2508 2000-07-25  Tor Lillqvist  <tml@iki.fi>
2509
2510         * Makefile.am: Include the build directory.
2511
2512         * configure.in: Generate build/Makefile, build/win32/Makefile,
2513         gdk/, gdk/win32/, and gtk/makefile.mingw.
2514
2515         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
2516         Add GETTEXT_PACKAGE.
2517         
2518         * gdk/gdk.def
2519         * gtk/gtk.def: Updates.
2520
2521         * gdk/gdkfont.h
2522         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
2523         need them any longer.
2524
2525         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
2526
2527         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
2528         PANGOWIN32_LIBS and gdk_pixbuf.
2529
2530         * gdk/win32: Compiles, but no doubt doesn't work at all.
2531
2532         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
2533
2534         * gdk/win32/gdkinput.c: New file, temporarily.
2535         
2536         * gdk/win32/gdkinput-win32.h: New file
2537
2538         * gdk/win32/gdkinputprivate.h: Remove.
2539
2540         * gdk/win32/gdkpango-win32.c: New file.
2541
2542         * gtk/makefile.mingw.in: New file
2543
2544         * gtk/makefile.cygwin: Removed
2545         
2546         * gtk/Makefile.am: Update accordingly.
2547
2548         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
2549         made externally visible.
2550
2551         * gtk/gtkmain.c: Use it.
2552         
2553         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
2554         is enough.
2555
2556         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
2557
2558 2000-07-24 Elliot Lee <sopwith@redhat.com>
2559         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
2560         individual backends already.
2561         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
2562         again. Yes, there really is a good reason for this, if you are using the gdkregion
2563         internals, and if you're not, why do you care?
2564         * gdk/gdkwindow.c: Fix inverted condition
2565         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
2566         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
2567         * gtk/gtkrange.c: Redraw trough when moving.
2568         * gtk/gtktypeutils.c: Fix warning by adding const cast.
2569         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
2570
2571 2000-07-23  Tor Lillqvist  <tml@iki.fi>
2572
2573         * configure.in: Check for mkstemp and sigsetjmp. Output
2574         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
2575
2576         More work on GDK for Win32. Still in an intermediate state.
2577
2578         * gdk/makefile.cygwin
2579         * gdk/win32/makefile.cygwin: Removed.
2580         
2581         * gdk/makefile.mingw.in
2582         * gdk/win32/makefile.mingw.in: New files.
2583
2584         * gdk/Makefile.am
2585         * gdk/win32/Makefile.am: Generate and distribute them.
2586
2587         * gdk/win32/gdkwindow-win32.h
2588         * gdk/win32/gdkdrawable-win32.h
2589         * gdk/win32/gdkpixmap-win32.h: New files.
2590
2591         * gdk/win32/gdkcolor-win32.c
2592         * gdk/win32/gdkcursor-win32.c
2593         * gdk/win32/gdkdrawable-win32.c
2594         * gdk/win32/gdkgc-win32.c
2595         * gdk/win32/gdkimage-win32.c
2596         * gdk/win32/gdkprivate-win32.h
2597         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
2598         Rename fields and variables called xcursor, xid, etc (these names
2599         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
2600
2601 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
2602
2603         * gtk/gtkentry.[ch]: Fix some problems with vertical
2604         alignment.
2605
2606         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
2607         char/byte confusion.
2608
2609 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
2610
2611         * gtk/gtktextview.c (changed_handler): Fix bug where
2612         redraw wasn't being done properly when height of
2613         dirty region changed.
2614
2615         * demos/Makefile.am: Remove various references to
2616         -lgmodule
2617
2618 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
2619
2620         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
2621         PangoAttrShape to reserve space for pixmaps, add 
2622         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
2623         in the display functions.
2624         
2625         * gtk/testgtk.c (create_layout): Set some more exotic
2626         scrolled window options
2627
2628         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
2629         Add function to set the shadow type of a window, to allow
2630         putting a shadow around widgets such as GtkLayout or GnomeCanvas
2631         which don't draw their own frame.
2632
2633 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
2634
2635         * docs/tutorial/package-db-tutorial.sh: New file for
2636           packaging DocBook format tutorial
2637
2638 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
2639
2640         * docs/tutorial/gtk-tut.sgml: Minor updates
2641
2642         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
2643
2644 2000-07-19  Tor Lillqvist  <tml@iki.fi>
2645
2646         * gtk/gtksignal.c: Fix C++ comment.
2647
2648         * gtk/gtkimmulticontext.c
2649         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
2650         don't return value from void functions.
2651
2652         * gtk/gtk.def: Add gtk_rc_style_unref.
2653
2654 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2655
2656         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
2657         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
2658         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
2659         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
2660         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
2661         gtk/gtktypeutils.h: Include files outside of the extern "C"
2662         block. Makes some C++ compiler happy. Reported by Denis Vakatov
2663         <vakatov@peony.nlm.nih.gov>.
2664
2665 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
2666
2667         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
2668           Completes first pass. Hurrah!
2669
2670 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
2671
2672         * docs/tutorial/gtk-tut.sgml: More clean ups.
2673
2674 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
2675
2676         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
2677         paint the background of the text area which was accidentally
2678         removed at some point.
2679
2680         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
2681           
2682          - Move most of the functionality from the theme vtable
2683            into GtkRcStyleClass and GtkStyleClass. The moved
2684            vtable functions were changed a bit in the move to
2685            work better in their new home.
2686
2687          - Get rid of the engine and engine_data fields from
2688            GtkRcStyle and GtkStyle; instead the theme
2689            engine derives theme-specific subclasses of GtkRcStyle
2690            and GtkStyle
2691
2692          - Add extra dlsym() found entry point to themes,
2693            theme_create_rc_style().
2694
2695         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
2696         in gtk_style_real_copy.
2697
2698         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
2699         to register a type associated with an engine. (The engine
2700         won't be unloaded as there is an instance of the type.)
2701
2702
2703 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
2704
2705         * docs/tutorial/gtk-tut.sgml: Clean ups.
2706
2707 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
2708
2709         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
2710           of cleaning up to do.
2711
2712 2000-07-15  Tor Lillqvist  <tml@iki.fi>
2713
2714         * gdk/testgdk.c: New file, quick hack to test backends for
2715         pixel-by-pixel correctness of the most simple graphic operations.
2716
2717 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
2718
2719         * Really release 1.3.1
2720         
2721         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
2722         include structure.
2723
2724 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
2725
2726         * Released 1.3.1
2727
2728 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
2729
2730         * gtk/gtktextlayout.c: use FALSE for size_only most
2731         of the time when calling gtk_text_layout_get_line_display()
2732         to avoid causing double reshapes when a redraw follows
2733         immediately after.
2734
2735 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
2736
2737         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
2738         appropriate region and gdk_window_process_updates() so trough
2739         updating doesn't lag behind the window being scrolled.
2740
2741         * gdk/gdkgc.c: Make parent_class pointer static.
2742          
2743 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
2744
2745         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
2746         include <string.h>.
2747          
2748         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
2749         cut-and-paste error in computing memory offset for 4 channels.
2750
2751 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
2752
2753         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
2754         gtk_rc_append_default_pixmap_path(), since it wasn't
2755         adding an interesting path and we don't have a meaningful
2756         default for this value.
2757
2758 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
2759
2760         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
2761         gtk-config to gtk-config-2.0 move gtk_.m4 to
2762         gtk-2.0.m4
2763
2764         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
2765         gdk/Makefile.am demos/Makefile.am: Change 
2766         library names to libgtk-1.3.la, etc, so that we
2767         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
2768
2769         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
2770         gdk/Makefile.am gdk/x11/Makfile.am
2771         Move include files into /usr/include/gtk-2.0, 
2772         /usr/lib/gtk-2.0/include/
2773          
2774         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
2775         gtk/gtkintl.h: Change package for gettext from 
2776         gtk+ to gtk20. Put hack in autogen.sh to modify
2777         po/Makefile.in.in after gettextize to make this
2778         possible.
2779
2780         * gtk+.spec: Some updates, not tested.
2781
2782         * gdk-pixbuf/Makefile.am: Move loaders into
2783         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
2784
2785         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
2786         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
2787         to THEMENAME/gtk-2.0/. Move engine directory  to
2788         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
2789         
2790 2000-07-12  Tor Lillqvist  <tml@iki.fi>
2791
2792         Win32 changes, still doesn't build though.
2793
2794         * gdk/makefile.cygwin
2795         * gdk/win32/makefile.cygwin
2796         * gtk/makefile.cygwin: Updates.
2797
2798         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
2799         default values for fg and bg pixel as X11 does (0 and 1), not
2800         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
2801         Use 0 for pen width by default (treated as 1 anyway later, but for
2802         apps that might check the value in the GdkGC).
2803         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
2804         interface to gdk_gc_predraw and _postdraw.
2805
2806         * gdk/win32/gdkwin32.h
2807         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
2808
2809         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
2810         extraneous semicolon.
2811
2812         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
2813
2814         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
2815         not the Win32 bitspixel value.
2816
2817         * gdk/win32/gdkcc-win32.c:
2818         * gdk/win32/gdkcolor-win32.c 
2819         * gdk/win32/gdkprivate-win32.h
2820         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
2821         GDK object structure.
2822
2823 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
2824
2825         * docs/tutorial/gtk_tut_12.es.sgml (name): 
2826         * docs/tutorial/gtk_tut_it.sgml (name): 
2827         * docs/tutorial/gtk_tut_fr.sgml (name): 
2828         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
2829         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
2830
2831 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
2832
2833         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
2834           small changes.
2835
2836 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
2837
2838         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
2839         a bug here, never been here and never fixed anything ;(
2840         (don't segfault if tree->root_tree is NULL, which happens prior
2841         to widget realization, but puke instead).
2842
2843 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
2844
2845         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
2846         add the necessary tokens.
2847
2848         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
2849         (gtk_rc_style_to_style): copy thicknesses.
2850         (gtk_rc_init_style): apply thicknesses.
2851         (gtk_rc_parse_style): parse xthickness and ythickness.
2852
2853         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
2854
2855         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
2856         (gdk_window_new): 
2857         (_gdk_windowing_window_init): 
2858         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
2859         (gdk_pixmap_create_from_data): 
2860         (gdk_bitmap_create_from_data): 
2861         (gdk_pixmap_new): 
2862         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
2863         (gdk_image_new): 
2864         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
2865         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
2866         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
2867         (gdk_colormap_get_system): 
2868         (gdk_colormap_new): 
2869         * gdk/gdkwindow.c (gdk_window_init): 
2870         * gtk/gtkstyle.c (gtk_style_new):
2871         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
2872         * gdk/gdkpixmap.c (gdk_pixmap_init): 
2873         * gtk/gtkrc.c (gtk_rc_style_new):
2874         use g_object_new() instead of g_type_create_instance() which
2875         is a private function for fundamental type implementations.
2876
2877 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
2878
2879         * configure.in: Add check for db2html
2880
2881 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
2882
2883         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
2884         hack to set glib_debug_objects based on gtk_debug_flags.
2885
2886 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
2887
2888         * INSTALL.in: Update the Prerequisites section.
2889
2890         * Makefile.am demos/Makefile.am docs/Makefile.am
2891         docs/tutorial/Makefile.am gdk/x11/Makefile.am
2892         gdk/linux-fb/Makefile.am: Dist fixes
2893
2894 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
2895
2896         * NEWS: 10,000 foot view of 1.3.1 changes.
2897
2898 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
2899
2900         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
2901         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
2902         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
2903         gdk/x11/gdkmain-x11.c: 
2904
2905         Patch from George Lebl to add a GdkGrabStatus enumeration to use
2906         as a return value of gdk_*_grab(). Previously, we just
2907         returned the X11 values directly.
2908
2909 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
2910
2911         * gdk/x11/Makefile.am: Patch from George Lebl to 
2912         install all the headers in the right place.
2913
2914 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
2915
2916         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
2917           initial conversion to DocBook.
2918
2919 2000-07-04  Tor Lillqvist  <tml@iki.fi>
2920
2921         * README.win32: Improve a bit.
2922
2923         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
2924         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
2925         Alt+0nnn on the numpad (used to enter characters by numeric code
2926         from current DOS or ANSI codepage) working correctly, as in other
2927         Windows apps.
2928
2929         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
2930         same argument validity tests as in X11 version.
2931         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
2932
2933         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
2934         definitions in case missing from headers.
2935
2936         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
2937         destroy the window-specific cursor.
2938         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
2939         calling GetModuleHandle(NULL).
2940         (gdk_window_set_cursor): Reworked to always copy the passed cursor
2941         with CopyCursor before setting it as the window-specific
2942         cursor. It is OK for the caller to destroy the GdkCursor (and thus
2943         also its Windows cursor) after calling this function. Destroy any
2944         previous window-specific cursor.
2945
2946 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
2947
2948         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
2949         font charset is iso8859-1, not iso-8859-1.
2950
2951 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
2952
2953         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
2954         Use g_get_charset() instead of g_get_codeset().
2955
2956         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
2957         Comment out some strdup'ing functions to keep timj
2958         happy until we finish fighting this out.
2959
2960 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
2961
2962         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
2963         <= width or height.
2964
2965         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
2966         from 1.2 for parent/child states.
2967
2968         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
2969         of typos.
2970
2971         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
2972         event structures, replace with a generic axes field. Replace 
2973         deviceid/sourec with GdkDevice *device.
2974
2975         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
2976         to extract particular axis use value from event. (Also
2977         can be used for normal X/Y.)
2978
2979         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
2980         allow for arbitrary number of axes, namespace everything
2981         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
2982         everywhere.
2983
2984         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
2985         Get rid of the gdk_input_vtable setup if favor of simply
2986         defining the functions in gdkinput-none/gxi/xfree.c in
2987         a similar fashion to the way that the port structure is 
2988         done.
2989
2990         * gtk/gtkdnd.c: Fix fields of synthesized button press event
2991         for new event structures. 
2992
2993         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
2994         new device interfaces.
2995
2996 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
2997
2998         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
2999         set the initial text.
3000
3001         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
3002         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
3003         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
3004         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
3005
3006         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
3007         pango_layout_set_font_description to simplify.
3008
3009 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
3010
3011         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
3012         pango_layout_set_font_description to simplify.
3013
3014 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
3015
3016         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
3017         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
3018         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
3019
3020         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
3021         PANGO_PIXELS() macro.
3022
3023 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
3024
3025         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
3026         that returns a PangoContext owned by the widget and updated to
3027         match future changes in the widget. Also, make 
3028         gtk_widget_create_pango_layout() use this context. If we ever
3029         add a ::changed signal to PangoContext, this will make things
3030         much more convenient. 
3031
3032         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
3033         in the appropriate places instead of destroying the layouts and
3034         creating new ones.
3035
3036         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
3037         in a few strategic places.
3038
3039 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
3040
3041         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
3042         gtk_widget_size_request() on reparented child, if one. Otherwise,
3043         queue_resize() on the child never results in it getting size-requested
3044         at all.
3045
3046         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
3047         in option menus, so that (with luck) people won't copy it into
3048         their apps in the future.
3049
3050         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
3051         to gtk_option_menu_calc_size. This isn't perfect, but should fix
3052         a lot of problems with changing the size of the menu's menu
3053         items after adding it to the option menu.
3054
3055         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
3056
3057         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
3058         the text direction for a widget changes.
3059
3060         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
3061         ::direction_changed to get rid of various hacks.
3062
3063 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
3064
3065         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
3066         name.
3067
3068 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
3069
3070         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
3071         flag to the structure. Do not call XFreePixmap on pixmaps created
3072         by gdk_pixmap_foreign_new().
3073
3074 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
3075
3076         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
3077         value using GdkRGB functionality given GdkColormap and GdkColor.
3078         (name not final, waiting for inspiration.)
3079         
3080         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
3081         set the foreground/background of a GC using the GC's colormap
3082         and GdkRGB. (name not final, waiting for inspiration.)
3083
3084         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
3085         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
3086
3087         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
3088         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
3089         purely a function of the corresponding colormap. Make
3090         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
3091
3092         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
3093         gdk_pixbuf_*create_from_xpm_* in terms of
3094         gdk_pixbuf_new_from_xpm_data(), move into platform independent
3095         code.
3096
3097         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
3098         advantage of the new draw_rgb_32_image_dithalign.
3099
3100         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
3101
3102         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
3103         on each created GC.
3104
3105         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
3106
3107         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
3108         which we initialize from the drawable when the GC is created,
3109         if the drawable has a colormap.
3110
3111         * gdk/x11/gdkgc-x11.c: include string.h for memset.
3112
3113         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
3114
3115         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
3116
3117 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
3118
3119         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
3120         actually returning expose events, make sure to set
3121         the count field properly.
3122
3123         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
3124         accidentally reintroced bug which always cleared
3125         the graphics_exposures value. 
3126
3127 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
3128
3129         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
3130
3131 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
3132
3133         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
3134
3135 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
3136
3137         * docs/faq/gtk-faq.sgml: Start of Section 6.
3138
3139 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
3140
3141         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
3142         
3143         (Fixes problem with drawing childless frames. Pointed out
3144         by and a first patch from Anders)
3145         
3146         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
3147         compute a child_allocation, even if we don't have a child.
3148
3149         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
3150         Always chain to the parent's impl, even if we don't have a child.
3151
3152 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
3153
3154         * gdk/gdkrgb.c: If possible, create only a single shm segment and
3155         use multiple parts of it instead of creating a bunch of separate
3156         segments, since the maximum number of segments per system is not
3157         large. (This might be worth backporting to GTK+-1.2.x if we make a
3158         new release )
3159
3160         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
3161         structure in preparation for per-colormap GdkRGB.
3162
3163         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
3164         to False when we get EINVAL from shmget so that the caller of
3165         gdk_image_new can retry with a smaller segment size.
3166
3167 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
3168
3169         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
3170
3171 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
3172
3173         * configure.in: make the current version number 1.3.1 (binary age 0,
3174         interface age 0).
3175         
3176         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
3177         gtkcompat.h is all we want.
3178
3179         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
3180         GLib primitive types. fixed g_type_register_fundamental() argument
3181         ordering.
3182
3183         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
3184         compiles.
3185
3186         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
3187         object code cleanup, comment trigraph fixes, etc...
3188
3189 2000-06-23  Havoc Pennington  <hp@redhat.com>
3190
3191         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
3192         instead of making up a bogus name for first_para_mark
3193
3194         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
3195         0 as a context ID
3196
3197 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
3198
3199         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
3200
3201 2000-06-21  Havoc Pennington  <hp@pobox.com>
3202
3203         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
3204         we didn't check window->bg_pixmap != GDK_NO_BG.
3205
3206         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
3207         gdk-pixbuf
3208
3209 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
3210
3211         * docs/faq/gtk-faq.sgm: Move file to here.
3212           TODO: Update Makfile.am 
3213
3214 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
3215
3216         * docs/gtk-faq.sgm: Add Section 2
3217
3218 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
3219
3220         * docs/gtk-faq.sgm: New file. Start of DocBook
3221           version of the FAQ.
3222
3223 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
3224
3225         * configure.in (GDK_PIXBUF_MAJOR): Define version
3226         numbers for GDK_PIXBUF_*, as they get substituted
3227         into a header file. Need to consider versioning
3228         for gdk-pixbuf more carefully later.
3229
3230 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
3231
3232         Work with srcdir != builddir.   
3233         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
3234         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
3235         * demos/testpixbuf.c: Likewise.
3236         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
3237         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
3238         <gdk/x11/gdkx.h>.
3239         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
3240         "gdk-pixbuf.h".
3241         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
3242
3243 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
3244
3245         * TODO.xml: Change 1.4 version numbers to 2.0.
3246
3247 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
3248
3249         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
3250         fixups to GTK+ standard.
3251
3252 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
3253
3254         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
3255         gdk-pixbuf.
3256
3257         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
3258         fixups for GObject.
3259
3260         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
3261         gdk-pixbuf with GDK dependencies moved into GDK.
3262         
3263         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
3264         move gdk-pixbuf-loader here until GObject has signals.
3265
3266         * demos/: New directory of demos. Move demos from
3267         gdk-pixbuf here.
3268
3269         * demos/pixbuf-init.c: Small bit of code to check for
3270         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
3271         set GDK_PIXBUF_MODULEDIR appropriately.
3272
3273         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
3274         define which no longer makes sense.
3275
3276 2000-06-21  Havoc Pennington  <hp@redhat.com>
3277
3278         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
3279         gtk_get_default_language
3280
3281         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
3282         new function to get the default language
3283
3284         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
3285         s/gtk_text_view_style_values/gtk_text_style_values/
3286
3287         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
3288         Add a "language" field to tags.
3289
3290         (gtk_text_tag_set_arg): Fix bug in setting
3291         "bg_full_height_set" tag.
3292
3293 2000-06-21  Havoc Pennington  <hp@redhat.com>
3294
3295         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
3296         in the interfaces
3297
3298         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
3299         stuff instead when possible.
3300
3301         * gtk/gtktexttypes.h: Delete some unused constants
3302
3303         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
3304         testtextbuffer.c: use glib instead of custom unicode routines
3305
3306 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
3307
3308         * docs/es/: Removed mistakenly added generated sgml
3309
3310         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
3311         Remove outdated info files.
3312
3313         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
3314         Moved tutorial files into subdir
3315
3316         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
3317         subdir.
3318
3319         * docs/man/gtk_button.pod: Remove. (contents will be
3320         integrated into gtk-reference button page.)
3321
3322         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
3323         docs/faq/Makefile.am: Adjust for new organization
3324
3325 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
3326
3327         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
3328         not $(MKINSTALLDIRS)
3329
3330 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
3331
3332         * gtk/testgtk.c (create_text): Finish the job Elliot started
3333         of removing font setting test for text widget. (Since text widget
3334         and GdkFont are not deprecated, and cause portability problems.)
3335
3336 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
3337
3338         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
3339         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
3340         Remove use of libunicode in favor of new GLib functions.
3341
3342         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
3343         nano-x, framebuffer. The X11 include is just a hack until we get
3344         the necessary functions in gdkcolor.h, so there is no reason to
3345         add other includes of platforms.
3346
3347         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
3348         window bigger than the screen change.
3349
3350         * gtk/testgtk.c: Revert some random changes from Elliot
3351         that had no particular point and were causing testgtkrc
3352         not to function correctly.
3353         
3354         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
3355         because GdkSegment and GdkRegionBox have the same fields,
3356         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
3357         results in clearer code.
3358
3359         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
3360         gdk_input_translate_coordinates): Fix missed GdkObjectification
3361
3362 2000-06-18  Elliot Lee  <sopwith@redhat.com>
3363
3364         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
3365         * gtk/gtk{plug,socket}.h: Missed commits from previous.
3366
3367 2000-06-20  Havoc Pennington  <hp@redhat.com>
3368
3369         * modules/linux-fb/Makefile.am: Make this compile
3370         without framebuffer enabled
3371
3372         * gdk/linux-fb/Makefile.am: Add conditional to not build
3373         framebuffer unless specified in configure
3374
3375         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
3376         the size of the target instead of source if -1 was passed for
3377         width/height
3378
3379         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
3380         width/height confusion.
3381
3382 2000-06-19  Havoc Pennington  <hp@redhat.com>
3383
3384         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
3385         GDK_DRAWABLE_XID. In the future, we probably want to make it
3386         faster with G_DISABLE_CHECKS turned on.
3387
3388 2000-06-14  Havoc Pennington  <hp@redhat.com>
3389
3390         * gdk/Makefile.am: add gdkpixmap.c
3391
3392         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
3393         s/gdk_image_init/_gdk_windowing_image_init
3394
3395         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
3396         ref/unref
3397
3398         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
3399
3400         * gdk/gdkcompat.h: remove GdkWindowType compat, since
3401         GdkWindowType is now non-deprecated; 
3402         change gdk_window_get_type() compat to be
3403         gdk_window_get_window_type().
3404
3405         * gdk/gdkdnd.h: make GdkDragContext a GObject.
3406
3407         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
3408         virtual GObject. Make all functions call into the vtable.
3409         Move gdk_image_put() guts in here. Remove GdkDrawableType
3410         and gdk_drawable_get_type(), these are now GdkWindow-specific.
3411         draw_image, get_depth, get_size, set_colormap, get_colormap,
3412         get_visual added to the vtable.
3413         
3414         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
3415         GObject. Virtualize everything. 
3416         (gdk_gc_new_with_values): remove check for destroyed window,
3417         because now GdkWindow::create_gc will check this.
3418         (gdk_gc_set_values): New function to set GC values, this 
3419         was already implemented but wasn't in the header
3420
3421         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
3422
3423         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
3424         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
3425         remove _gdk_window_class; add _gdk_window_impl_get_type() and
3426         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
3427         _gdk_windowing_window_init, rename gdk_image_init to
3428         _gdk_windowing_image_init.
3429         
3430         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
3431         (gdk_draw_layout): Remove check for destroyed window, 
3432         because all the drawable methods already check it.
3433         
3434         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
3435         Add gdkpixmap.c which contains implementation of GdkDrawable
3436         virtual table (by chaining to a platform-specific implementation
3437         object).
3438         
3439         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
3440         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
3441         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
3442         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
3443         GdkColormapPrivate. 
3444
3445         * gdk/gdktypes.h: #include <glib-object.h>
3446
3447         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
3448         Move most functionality to platform-specific implementation
3449         object. GdkWindow itself now handles the backing store, then
3450         chains to the platform-specific implementation.
3451         (gdk_window_get_window_type): return GdkWindowType of the window.
3452         (gdk_window_peek_children): New routine, returns the children of 
3453         a GdkWindow
3454         (gdk_window_get_children): Was in X11-specific code and did 
3455         XQueryTree. Changed to simply return a copy of window->children; 
3456         so it can go in cross-platform code.
3457         
3458         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
3459
3460         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
3461         GdkColormap; just changed to use the new private data instead
3462         of casting to GdkColormapPrivate.
3463
3464         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
3465         gdk_cursor_new().
3466
3467         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
3468         (private data member in the GObject). 
3469         (xdnd_manager_source_filter): Function had broken 
3470         error handling, fix it (use gdk_error_trap_push).
3471
3472         * gdk/x11/gdkdrawable-x11.c: This file now implements
3473         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
3474         base class is purely for the convenience of the X port,
3475         and not part of the interface to cross-platform GDK.
3476
3477         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
3478         
3479         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
3480         specific to X, and returned by the create_gc virtual method
3481         of GdkDrawableImplX11. 
3482         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
3483         rather than gchar, this was also changed in the GdkGC vtable.
3484         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
3485         mask is 0, return immediately, instead of checking every flag.
3486         This is faster, and keeps us from segfaulting if values is NULL
3487         and the mask contains some nonzero flags.
3488
3489         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
3490         GdkWindow.
3491
3492         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
3493         GdkWindowPrivate is gone.
3494
3495         * gdk/x11/gdkim-x11.c: rename things that got renamed.
3496
3497         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
3498         remove the image_put stuff that got transferred to GdkDrawable.
3499         
3500         * gdk/x11/gdkinput.c: renamings
3501
3502         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
3503
3504         * gdk/x11/gdkpixmap-x11.c: GObject conversion
3505
3506         * gdk/x11/gdkprivate-x11.h: indentation fixes
3507
3508         * gdk/x11/gdkproperty-x11.c: renamings
3509
3510         * gdk/x11/gdkselection-x11.c: renamings
3511
3512         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
3513         implements the platform-specific "impl" object.
3514         Moved gdk_window_get_children to gdk/gdkwindow.c
3515
3516         * gdk/x11/gdkx.h: Remove all the private structs and private datas
3517         that no longer exist. Add declaration of GdkGCX11 object here.
3518         Fix all the macros to still work. 
3519
3520         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
3521         GdkDragContext from the boxed types since they are now GObjects.
3522
3523         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
3524         moved xthickness/ythickness into the instance. GtkStyleClass
3525         functions are now in the standard vtable for GtkStyle, so you have
3526         to create a GObject subclass to write a theme engine.
3527         (gtk_style_copy): fixed a leaked PangoFontDescription
3528         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
3529         can be the standard GObject function.
3530         
3531         * Throughout GTK:
3532         s/style->klass->[xy]thickness/style->[xy]thickness
3533         s/pango_layout_unref/g_object_unref/
3534
3535         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
3536         
3537         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
3538         accessing GDK internals.
3539
3540         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
3541         accessing GDK internals.
3542
3543 2000-06-18  Elliot Lee  <sopwith@redhat.com>
3544
3545         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
3546
3547         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
3548         problem by calculating event position relative to the trough
3549         rather than the slider.
3550         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
3551
3552         * gdk/gdkgc.h: Add GDK_NOR.
3553
3554         * configure.in, Makefile.am: Add modules top level dir
3555         * configure.in: Only use pangox library if building x11 target.
3556         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
3557
3558 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
3559
3560         * gtk/gtkcolorsel.c: Change private class member to be named
3561         private_data throughout the file.
3562
3563         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
3564         private_data to avoid clashing with keyword.
3565
3566 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
3567
3568         * gdk/gdkdnd.h: Add comment to remove warning.
3569
3570 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
3571
3572         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
3573         Byelorussian language; changed the Makefile and file names 
3574         to reflect that.
3575
3576 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
3577
3578         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
3579         rather than gdk_window_hide; this makes things work
3580         correctly if the window is programmatically hidden while
3581         iconified.
3582
3583 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
3584
3585         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
3586         cut and paste typo where wrong pixmap was being
3587         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
3588
3589 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
3590
3591         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
3592         Add helper function to compute format / bytes 
3593         relationship. Use in a couple places to fix up
3594         errors which assume 8 * format.
3595
3596         * gtk/gtkselection.c (gtk_selection_request): Use 32
3597         rather than 8 * sizeof (GdkAtom), to work correctly
3598         on Alpha.
3599
3600 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
3601
3602         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
3603         libgtk.la
3604         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
3605         versions
3606
3607         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
3608         checking macros return NULL since the function has a return value.
3609
3610 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
3611
3612         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
3613         GTK+ from building at all.
3614
3615         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
3616
3617 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
3618
3619         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
3620         gtk/Makefile.am: make it possible to configure gtk for different
3621         targets on the same platform. The library name is now 
3622         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
3623         flag. Only the x11 target compiles right now.
3624         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
3625         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
3626         * gdk/nanox/gdk*generic*: delete generic region code.
3627         * gdk/linux-fb/gdk*generic*: delete generic region code.
3628         * README.nanox: update information.
3629         
3630 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
3631
3632         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
3633         prepend not append. (Pointed out by Brett Hall.)
3634
3635 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
3636
3637         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
3638
3639 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
3640
3641         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
3642         need this later, and this makes sure that the atexit for
3643         glib gets called after that for GDK, so atexits are
3644         properly ordered for object leak checking.
3645
3646         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
3647
3648         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
3649         pango_x_shutdown_display()
3650
3651         * gtk/simple.c (main): Close window on destroy.
3652
3653 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
3654
3655         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
3656         to treat initial creation different from setting with 
3657         regards to the graphics-exposures parameter, so add a parameter
3658         indicating whether this is initial or not.
3659
3660 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
3661
3662         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
3663         to sort of work by adding an extra return_exposes arg
3664         to gdk_event_translate() - it might be better to simply
3665         deprecate the function altogether and force people to rewrite
3666         without it. gdk_window_scroll() handles most of it, and where
3667         gdk_window_scroll() doesn't work, simply redrawing more does.
3668
3669         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
3670         assertion.
3671
3672         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
3673
3674         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
3675         bunch of pretty much useless /* Print debugging info */ comments 
3676         which had drifted away from the code they were commenting.
3677
3678 2000-06-02  Havoc Pennington  <hp@pobox.com>
3679
3680         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
3681         is in working order.
3682         
3683         * gtk/testtext.c: Change to reflect anonymous mark API
3684
3685         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
3686
3687         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
3688         field, which was unused.
3689
3690         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
3691         saves some typing.
3692
3693         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
3694
3695         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
3696         flag on the insertion point and selection bound
3697
3698         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
3699         make mark-manipulation functions take a GtkTextMark* instead of a
3700         mark name.
3701         
3702         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
3703         GtkTextMarkBody; will be used to detect attempts to delete
3704         the permanent marks (insert and selection bound)
3705
3706         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
3707
3708 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
3709
3710         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
3711         flag to on.
3712
3713         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
3714         Honor DOUBLE_BUFFRED_FLAG
3715
3716         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
3717         function to set the DOUBLE_BUFFERED flag.
3718
3719         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
3720         or not exposes done on the widget should be double-buffered.
3721
3722         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
3723         to be what would be expected. (Fixes problem with a
3724         g_return_if_fail() validating a TextDirection enumeration)
3725
3726 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
3727
3728         * gtk/gtkwidget.c: Remove all references to 
3729         offscreen flag which was no longer used.
3730
3731         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
3732
3733         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
3734         for non-null label_widget->parent.
3735
3736         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
3737         which no longer was used.
3738
3739         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
3740
3741         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
3742         for null arguments.
3743
3744         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
3745         check for destroyed windows.
3746
3747 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
3748
3749         * gtk/gtkimmulticontext.c: Add a finalize method and unref
3750         the slave context there.
3751
3752         * gtk/gtkinvisible.[ch]: Make reference counting behavior
3753         identical to GtkWindow.
3754
3755 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
3756
3757         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
3758         pangox to here, so we can write them independent of rendering
3759         system, using GDK primitives.
3760
3761         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
3762         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
3763         since we have a rendering-system independent implementation in
3764         terms of draw_glyphs().
3765         
3766         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
3767         function to render a single line.
3768
3769         * gdk/x11/gdkpango.c: Move the guts of this file mostly
3770         into ../gdkpango.c, which simplifies things, since we
3771         don't have to deal with raw X gc's.
3772
3773 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
3774
3775         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
3776         get the logical attributes for a given GtkTextLine.
3777
3778 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
3779
3780         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
3781         g_locale_get_codeset() to g_get_codeset() change.
3782
3783 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
3784
3785         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
3786         descriptions.
3787
3788         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
3789         the entry.
3790
3791         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
3792         redoing (vastly simplifying) for Pango. Still needs quite
3793         a bit of work. (Size selection is currently poor. List of 
3794         predefined sizes is not a good idea, since all of these
3795         sizes won't necessarily be distinct.)
3796
3797 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
3798
3799         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
3800         CODESET results for LANG=C.
3801
3802 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
3803
3804         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
3805         which takes a stringized pango font description;
3806         ignore the older 'font' and 'fontset' declarations.
3807
3808         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
3809         field with a GdkFont derived via gdk_font_from_description(),
3810         for compatibility. (Should we just remove it entirely?
3811         Probably too much compatibility breakage, but people
3812         should be migrating to the new Pango stuff as quickly
3813         as possible.)
3814
3815 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
3816
3817         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
3818
3819 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
3820
3821         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
3822         redoing; there are some bugs in size allocation right
3823         now, the semi-existant distinction between header / day
3824         fonts was removed, but, with Pango, could actually
3825         be made functional in a nice way.
3826         
3827         * gtk/testcalender: Move calender from examples into this
3828         directory as a test program. (We really need to restrcture
3829         testgtk into a whole directory full of tests for every
3830         widget or functionality group, separated into multiple .c
3831         files.)
3832
3833 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
3834
3835         * gtk/testgtk.c (file_exists): Fix stupid typo that
3836         was keeping RC file from being loaded.
3837
3838         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
3839         RC file font code.
3840
3841 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
3842
3843         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
3844         Add function to load a GdkFont from a PangoFontDescription.
3845
3846 2000-05-29  Tor Lillqvist  <tml@iki.fi>
3847
3848         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
3849         variable should be of type GdkEventPrivate.
3850
3851 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
3852
3853         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
3854         to have any widget for the label, use a GtkLabel widget
3855         to display the text. (Based partially on a patch from
3856         Anders Carlson.)
3857
3858         (Quite a bit of code reorganization - strip 90% of the
3859         guts out of gtkaspectframe and add a single virtual
3860         func to GtkFrameClass - compute_child_allocation.)
3861
3862 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
3863
3864         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
3865         (Removed clist->row_center_offset field because caching
3866         it wasn't saving time or code, added private function
3867         _gtk_clist_create_cell_layout()).
3868
3869 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
3870
3871         * gtk/gtkaccellabel.c: Pangoized.
3872
3873         * gtk/[hv]ruler.c: Pangoized
3874
3875 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
3876
3877         * gtk/gtkfilesel.c (gtk_file_selection_init):
3878         Use gtk_clist_set_column_auto_resize() to remove need
3879         need for manual column width computations.
3880
3881 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
3882
3883         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
3884         ensuring Pango correctness, and considerably simplifying the
3885         code.
3886         
3887         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
3888
3889         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
3890         getting of numbers of lines.
3891
3892         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
3893         to the actual requested width of the lable, not to the wrap
3894         width we set.
3895
3896         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
3897
3898         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
3899           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
3900
3901         * gtk/gtktextview.c: Fix structure inheritance.
3902
3903         * gtk/gtkprogressbar.c: Pangoize.
3904
3905 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
3906
3907         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
3908         in a function.
3909
3910         * gtk/gtktextlayout.c (find_display_line_above): Fixed
3911         bug with computing line tops.
3912
3913         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
3914
3915 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
3916
3917         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
3918         and y_offset coordinates to do what we need now. (The offset between
3919         buffer and layout coordinates has been reintroduced, but is a 
3920         bit different than before.)
3921
3922         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
3923         handle the adjustments ourselves, and scroll as necessary using
3924         the new gdk_window_scroll().
3925         
3926         The advantage of this is that when we are incrementally revalidating,
3927         we are essentially rearranging things around the visible portion
3928         of the screen. With the old setup, the visible portion of the
3929         screen was moved around in the layout, so scrolling and redrawing
3930         to track that caused jumping of the display. Since we now
3931         control the scrolling ourselves, we can suppress this and
3932         only redraw when things actually change.
3933
3934 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
3935
3936         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
3937         the region not just redisplay it after-all, since we store the
3938         cursors in the LineDisplay. (Ugly interactions here between
3939         GtkLayout and GtkTextBTree here.)
3940         
3941         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
3942
3943 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
3944
3945         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
3946         Added function to scroll contents of a window while keeping the
3947         window constant. Works by XCopyArea or guffaw-scrolling depending
3948         on the details of how the window is set up. (guffaw-scrolling
3949         still needs to be filled in.)
3950
3951 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
3952
3953         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
3954         move the debugging that was tied to a global variable
3955         to that.
3956
3957         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
3958
3959         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
3960         validated flag, in line data instead of setting height/width to
3961         -1. This allows us to perform operations with partially invalid
3962         buffer (using the old size for invalid lines) and thus to do
3963         incremental vaidation. Keep height/width aggregates up to date
3964         when deleting text and rebalancing the tree.
3965
3966         * gtk/gtktextbtree.[ch]: Add functions validate a line
3967         (gtk_text_btree_validate_line), and to validate up
3968         to a number of pixels (gtk_text_btree_validate).
3969
3970         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
3971         that indicates that something is changed and a revalidation
3972         pass is needed. Change ::need_repaint to ::changed, and
3973         make it take old and new yranges instead of a rectangle.
3974
3975         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
3976         the line_data_destroy() function from 
3977         gtk_text_btree_add_view() to a virtual function in 
3978         GtkTextLayout
3979
3980         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
3981         since we are handling partial repaints in a different fashion
3982         now.
3983
3984         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
3985         of the selection instead of queueing a repaint on the
3986         entire widget.
3987
3988         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
3989         get_selection_bounds() down to btree, make the function
3990         in buffer a wrapper around the btree function.
3991
3992         * gtk/gtktextlayout.[ch]: Add functions to check if the
3993         layout is valid and to recompute either a range of pixels
3994         aroudn a line or a certain total number of pixels.
3995
3996         * gtk/gtktextlayout.[ch]: Cache a single line display;
3997         now that we only redraw the needed portions, the hit rate
3998         for this cache is quite high.
3999         
4000         * gtk/gtktextview.[ch]: Keep track of the first paragraph
4001         on the screen so that when re-laying-out the buffer, we can
4002         keep the same place. This requires connecting to ::value_changed
4003         on the adjustments
4004
4005         * gtk/gtktextview.[ch]: Add idle functions to revalidate
4006         the buffer after we receive an ::invalidated signal.
4007         
4008 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
4009
4010         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
4011         to max of allocation and layout size, not just to the
4012         layout size.
4013
4014         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
4015         Invalidate window so it gets redrawn properly.
4016
4017         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
4018         to mean the entire window.
4019
4020         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
4021         into public header.
4022
4023 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4024
4025         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
4026         to get the name of a mark.
4027
4028         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
4029         to find the paragraph from a y position.
4030
4031 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
4032
4033         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
4034         nodes have width/height >= 0, not > 0.
4035
4036 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
4037
4038         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
4039         Add a size_only flag, so when we only need the size, we don't create
4040         useless appearance attributes.
4041
4042         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
4043         duplicate setting of font description.
4044
4045         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
4046
4047 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
4048
4049         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
4050         EXTRA_DIST. It does not work well when the file that
4051         everything depends on is not in the tarball.
4052
4053 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
4054
4055         * gtk/testgtk.c: Some hacks and fixes so that it basically
4056         works when not sitting in the GTK+ build tree.
4057
4058 2000-05-03  Havoc Pennington  <hp@redhat.com>
4059
4060         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
4061         Properly determine the ordering of the tag root and the current
4062         line within the tree. Previous algorithm only worked if the tag
4063         root's immediate parent was the common root of both the current
4064         line and the tag root.
4065
4066 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
4067
4068         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
4069         alignment.
4070
4071         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
4072         the widget text directional dynamically.
4073
4074         * gtk/gtktextview.[ch]: Added functions to get and set default
4075         wrap mode.
4076
4077 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
4078
4079         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
4080         in cursor location computation.
4081
4082 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
4083
4084         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
4085         vadjusment values properly when layout gets smaller.
4086
4087         * gtk/gtktextview.c (need_repaint_handler): Areas being
4088         passed in are far completely inaccurate, and sometimes
4089         too small, so, for now, just queue a redraw on the
4090         whole visible region.
4091
4092 2000-04-25  Havoc Pennington  <hp@redhat.com>
4093
4094         * gtk/gtktextbtree.c (summary_destroy): new function to 
4095         destroy tag summary nodes
4096         (gtk_text_line_next_could_contain_tag): this function was 
4097         totally broken if the line passed in wasn't below the tag
4098         root. Fix it.
4099         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
4100         "wildcard" case, we have to do a linear scan. Blah.
4101         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
4102         we have to do the linear scan
4103         (tag_removed_cb): When a tag is removed from the tag table, 
4104         remove the GtkTextTagInfo node from the btree.
4105         (gtk_text_btree_spew): Implement the spew function, for 
4106         our debugging pleasure.
4107
4108 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
4109
4110         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
4111         a problem with referring to the wrong buffer.
4112
4113         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
4114
4115         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
4116         font description to gtk_style_new() - otherwise things
4117         don't work without a .gtkrc file.
4118
4119         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
4120         tags table if we create it ourself, too.
4121
4122         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
4123         it was conflicting with XKB modifiers.
4124
4125         * gtk/gtktextview.[ch]: Add simple support for 
4126         GtkIMContext.
4127
4128 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
4129
4130         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
4131         with deletion from last commit.
4132
4133 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
4134
4135         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
4136         in the context from the current locale.
4137         
4138         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
4139         context, not hardcoded value.
4140
4141         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
4142         not logical.
4143
4144 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
4145
4146         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
4147         attributes - that doesn't handle partial-glyph selection
4148         properly. Instead use new pango_layout_line_get_x_ranges()
4149         functionality to draw the selection.
4150
4151         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
4152         now properly handles out-of-range coordinates.
4153
4154         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
4155
4156         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
4157         public.
4158
4159         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
4160         for paragraphs opposite to the base direction of the widget.
4161
4162         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
4163
4164         * gtk/gtktextlayout.c: Don't split segments on marks, since that
4165         causes Arabic words to reshape as you cursor through.
4166
4167         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
4168         cursor position when moving vertically with the arrow keys and
4169         scrolling with page-up/page-down. (Arrow keys save only the X,
4170         scrolling saves both X and Y.)
4171
4172         This means you can line-up / line-down or page-up / page-down
4173         without losing your place, and also that moving vertically
4174         with the cursor keys keeps the same X position, not the same
4175         character count:
4176
4177         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
4178         arrow keys move by display lines, not paragraphs.
4179
4180 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
4181
4182         * gtk/gtklayout.c: Make sure that the bin window is at least
4183         as big as the allocation. (Should we also make sure that the
4184         bin window is big enough to completely cover widget->window?)
4185
4186         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
4187         function to get the onscreen rectangle.
4188
4189         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
4190         for offsets in window coordinates.
4191
4192 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
4193
4194         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
4195         confusion.
4196
4197         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
4198         from the widget direction.
4199
4200         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
4201         Add a "direction" attribute.
4202
4203         * gtk/gtktextview.c: global s/tkxt/text_view/.
4204
4205         * gtk/testtext.c: Added long block of text in Arabic, to test out
4206         the direction attributes. (Some problems with the shaping system
4207         for arabic become obvious - like the fact the cursor splits words
4208         into unjoined pieces.)
4209
4210 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
4211
4212         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
4213
4214         * gtk/gtktextlayout.c: Fix up alignment.
4215
4216         * gtk/testtext.c: Add some tests for centering, wrapping.
4217
4218 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
4219
4220         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
4221         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
4222         If we wrote GTK+-specific layout-render function this could just replace
4223         the draw_layout() operation in the vtable.
4224
4225         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
4226         pango_layout_get_cursor_pos() and use that function.
4227
4228         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
4229         is a non-static symbol.
4230
4231         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
4232         with gtk_text_btree_find_line_by_y()
4233
4234         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
4235         renderer that handles GtkTextAppearance attributes.
4236
4237         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
4238
4239           - Move the values in the style that don't affect geometry into a
4240             GtkTextAppearance structure.
4241           - Change underline to take a PangoUnderline and "font" a string
4242             representation of a font description
4243           - Add a "font_desc" attribute which takes a FontDescription structure.
4244
4245         * gtk/gtktextlayout.[ch]:
4246
4247           - Get rid of the display-line list per each line. Instead, we
4248             generate, on demand, a GtkTextLineDisplay structure which]
4249             contains a PangoLayout * and other necesary information
4250             (offsets, cursor locations) for displaying a paragraph.
4251           - Get rid of the code to wrap lines, create display chunks,
4252             etc. Instead, we just go through a paragraph and convert
4253             it into the necessary inputs to a PangoLayout.
4254           - Implement a new attribute type, GtkTextAttrAppearance. This
4255             holds a GtkTextAppearance, and is used to pass colors, 
4256             stipple, etc, through from the layout to the display without
4257             having to use lots and lots of individual attributes.
4258           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
4259             in terms of PangoLayout functions.
4260         
4261         * gtk/gtktextview.c: 
4262          
4263           - Handle passing the necessary PangoContext to the layout
4264           - Some fixups in painting to deal with the automatic backing store
4265             and offsetting of GTK+-1.4
4266           - Add a style_set handler so that the default style reacts
4267             properly to theme changes.
4268         
4269         * gtk/gtktext?*.[ch]: Random code-style fixes.
4270
4271         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
4272
4273 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
4274
4275         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
4276         in original form preparatory to Pango-ization and gdkimcontext-ization.
4277
4278 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
4279
4280         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
4281         so that we can derive from gtkimcontext in language bindings properly.
4282
4283 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
4284
4285         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
4286         Add a compose table including (almost) all the compose combinations
4287         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
4288         data in the XIM implementation.
4289
4290         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
4291         Moved functions to convert keyvalues from and to unicode here from
4292         the win32 port and made them public.
4293
4294 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
4295
4296         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
4297
4298 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
4299
4300         * gtk/gtkimcontext.[ch]: Base class for new input context system
4301
4302         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
4303         the real input context implementation to be loaded from modules
4304         and switched on the fly.
4305
4306         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
4307         context that just does direct keysymbol => unicode translation.
4308
4309         * gtk/gtkentry.[ch]: Start switching editing over to using
4310         GtkInputContext. (No handling of preedit yet.)
4311
4312 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
4313
4314         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
4315         many substitutions. (klass should not be subsituted.)
4316
4317 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
4318
4319         * configure.in: Add checks for Pango
4320
4321         * configure.in docs/Makefile.am: Add test for sgml2html
4322         and allow 'make dist' without building html, but print out
4323         warnings in that case. (For making snapshots)
4324
4325         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
4326         Add Pango libraries and C flags
4327
4328         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
4329         Add function (gdk_draw_layout) to draw a pango layout.
4330
4331         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
4332         for getting Pango contexts for GDK.
4333
4334         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
4335
4336         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
4337         editing.
4338
4339         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
4340         keysym => unicode translations. More languages can be added
4341         here, but real input-method support is needed.
4342
4343         * docs/Changes-1.4.txt: Added note about entry behavior.
4344         
4345         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
4346         to set the reading direction for a widget and the global direction.
4347         Add test which allows toggling the global direction. Two private
4348         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
4349
4350         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
4351           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
4352
4353         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
4354
4355         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
4356         underlining now handled by Pango.
4357
4358         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
4359         to RCStyle and Style. (Having both this and the old font name and GdkFont 
4360         is temporary.)
4361
4362         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
4363         convenience functions for creating contexts and layouts for widgets.
4364
4365         * gtk/testgtk.c: Enhance label tests with multilingual labels.
4366
4367 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
4368
4369         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
4370         titles to be active, even if they aren't visible.
4371         (gtk_clist_column_titles_passive):  Ditto.
4372
4373 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
4374
4375         * gtkmenu.c:
4376         * gtkmenu.h:
4377         * gtktypeutils.h: Spelling/grammar fixes in comments.
4378
4379 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
4380
4381         * gdk/nanox/*.h: add missing header files.
4382
4383 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
4384
4385         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
4386         send_event to TRUE.
4387         (gtk_drawing_area_size): queue a resize.
4388
4389 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
4390
4391         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
4392         the handlers, also invalidate them. bug nailed down by Karl Nelson
4393         <kenelson@ece.ucdavis.edu>.
4394
4395 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
4396
4397         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
4398         "(nil)" foundries, patch from Grigorios Magklis.
4399
4400         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
4401         on non-available fonts, based on a patch by Grigorios Magklis
4402         <maglis@cs.rochester.edu>.
4403
4404 2000-05-18  Elliot Lee  <sopwith@redhat.com>
4405
4406         * gdk/x11/gdkregion-generic.c: If a region does not have any
4407         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
4408         instead of GDK_OVERLAP_RECTANGLE_IN.
4409
4410 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
4411
4412         * gtk/gtklayout.c (gtk_layout_map): Remove references to
4413         OFFSCREEN, as it is no longer necessary.
4414
4415 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
4416
4417         * gtk/gtkcolorsel.c: Patch from David Santiago
4418         <mrcooger@cyberverse.com> to change things so that the 
4419         indicator of the active palette entry is done independently,
4420         not via the focus, since it should always be visible.
4421
4422 2000-05-17  Tor Lillqvist  <tml@iki.fi>
4423
4424         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
4425         refcount leaks as in the X11 backend.
4426
4427         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
4428         cosmetics.
4429
4430         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
4431         backend. Add _gdk_windowing_window_destroy().
4432
4433         * gtk/gtkcolorsel.c: Include correct backend-specific header.
4434         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
4435         either, but these probably do exist on nanox?)
4436         
4437         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
4438         which isn't necessarily defined by <math.h>.
4439
4440         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
4441         ancestry past GtkObject.
4442
4443         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
4444         from DLL on Win32.
4445
4446         * gtk/gtk.def: Update corresponding to recent changes.
4447
4448         * gtk/makefile.{cygwin,msc}: Updates.
4449
4450 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
4451
4452         * docs/Changes-1.4.txt: A bit of editing.
4453
4454         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
4455         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
4456         to clear the update area for the window, and clear it
4457         when hiding a window.
4458
4459         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
4460         if window destroyed.
4461
4462         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
4463
4464         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
4465         gdk_window_destroy() to the generic code, since there was a lot of 
4466         window-system-independent logic it in. Add a function:
4467         
4468          _gdk_window_destroy() 
4469
4470         to the internal API to destroy a window without unreferencing it.
4471         Add a function:
4472
4473          _gdk_windowing_window_destroy()
4474
4475         That does the windowing-system-dependent part of destroying 
4476         the window.
4477
4478 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
4479
4480         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
4481
4482 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
4483
4484         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
4485         Make gtk_widget_shape_combine_mask() keep a reference count on
4486         the pixmap since it keeps it around.
4487
4488 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
4489
4490         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
4491         leak.
4492
4493         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
4494         leak with event filters.
4495
4496 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
4497
4498         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
4499         signal handlers with the right data arguments. (Fixes
4500         some warnings when a widget was repeatedly set as a drag
4501         destination.)
4502
4503         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
4504         window so we can avoid avoid setting the DND properties on the
4505         toplevel window repeatedly.
4506
4507 2000-05-13  Tor Lillqvist  <tml@iki.fi>
4508
4509         * gdk/win32/gdkwin32.h: Define more message types missing from
4510         mingw headers.
4511
4512         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
4513         call gdk_window_destroy_notify(). It was never called. This
4514         probably meant that the GdkWindow was never freed. Thanks Owen for
4515         noticing (!).
4516
4517         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
4518         window as destroyed before calling DestroyWindow(). DestroyWindow()
4519         causes a call to the window procedure (gdk_WindowProc), which
4520         calls gdk_event_translate(), which calls
4521         gdk_window_destroy_notify(), which gets confused unless the window
4522         is set as destroyed.
4523
4524         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
4525         this function to indicate it's win32 only. Put inside #ifdef
4526         G_ENABLE_DEBUG.
4527
4528         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
4529         debugging function. (gdk_event_translate:) Add a default branch
4530         that uses the above function to print debug messages with all
4531         Windows messages symbolically.
4532
4533         * gdk/win32/gdkprivate-win32.h: Declare it, and
4534         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
4535
4536 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
4537
4538         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
4539         public header file.
4540
4541 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
4542
4543         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
4544
4545         * gtk/gtktext.c: made the adjustments no-construct args, simply
4546         provide default adjustments.
4547         (gtk_text_destroy): release adjustments.
4548
4549         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
4550         adjustment argument non-construct.
4551
4552         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
4553         instead of in finalize.
4554         (gtk_progress_get_text_from_value): 
4555         (gtk_progress_get_current_text): 
4556         (gtk_progress_set_value): 
4557         (gtk_progress_get_percentage_from_value): 
4558         (gtk_progress_get_current_percentage): 
4559         (gtk_progress_set_percentage): 
4560         (gtk_progress_configure): ensure an adjustment is present.
4561
4562 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
4563
4564         * gtk/gtkcolorsel.[hc]:
4565         * gtk/gtkcolorseldialog.[hc]:
4566         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
4567         their parent implementation, use bit fields for boolean values, don't
4568         create unused widgets, usage of glib types, braces go on their own
4569         lines, function argument alignment, #include directives etc. etc. etc..
4570
4571         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
4572
4573 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
4574
4575         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
4576
4577         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
4578         of NULL.
4579
4580         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
4581         to freed data.
4582         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
4583
4584         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
4585         to NULL when the toplevel is getting destroyed.
4586         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
4587         (gtk_menu_destroy): 
4588         (gtk_menu_init): store the information of whether we have to
4589         readd the initial child ref_count during destruction in a new
4590         GtkMenu field needs_destruction_ref_count.
4591
4592         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
4593         here, those reading: learn from my mistake! ;)
4594         in order for set_?adjustment to support a default adjustemnt if
4595         invoked with an adjustment pointer of NULL, the code read (pseudo):
4596         if (v->adjustment) unref (v->adjustment);
4597         if (!adjustment) adjustment = adjustment_new ();
4598         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
4599         now imagine the first unref to actually free the old adjustment and
4600         adjustment_new() creating a new adjustment from the very same memory
4601         portion. here, the latter comparision will unintendedly fail, and
4602         all hell breaks loose.
4603         (gtk_viewport_set_hadjustment):
4604         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
4605         after unreferencing it.
4606
4607         * gtk/gtkcontainer.[hc]: removed toplevel registration
4608         functions: gtk_container_register_toplevel(),
4609         gtk_container_unregister_toplevel() and
4610         gtk_container_get_toplevels() which had wrong semantics
4611         anyways: it didn't reference and copy the list.
4612
4613         * gtk/gtkwindow.c: we take over the container toplevel registration
4614         bussiness now. windows are registered across multiple destructions,
4615         untill they are finalized. the initial implicit reference count
4616         users are holding on windows is removed with the first destruction
4617         though.
4618         (gtk_window_init): ref & sink and set has_user_ref_count, got
4619         rid of gtk_container_register_toplevel() call. add window to
4620         toplevel_list.
4621         (gtk_window_destroy): unref the window if has_user_ref_count
4622         is still set, got rid of call to
4623         gtk_container_unregister_toplevel().
4624         (gtk_window_finalize): remove window from toplevel list.
4625         (gtk_window_list_toplevels): new function to return a newly
4626         created list with referenced toplevels.
4627         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
4628
4629         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
4630         adjustment a non-construct arg.
4631         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
4632         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
4633         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
4634
4635         * gtk/gtkrange.c: added some realized checks.
4636         (gtk_range_destroy): get rid of the h/v adjustments in the
4637         destroy handler instead of finalize. remove timer.
4638         (gtk_range_get_adjustment): demand create adjustment.
4639
4640         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
4641         we simply create them on demand now and get rid of them in
4642         the destroy handler.
4643         (gtk_viewport_destroy): get rid of the h/v adjustments in the
4644         destroy handler instead of finalize.
4645         (gtk_viewport_get_hadjustment): 
4646         (gtk_viewport_get_vadjustment): 
4647         (gtk_viewport_size_allocate): demand create h/v adjustment
4648         if required.
4649
4650         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
4651         gtk_widget_real_destroy () functionality.
4652         (gtk_widget_real_destroy): reinitialize with a new style, instead
4653         of setting widget->style to NULL.
4654
4655 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
4656
4657         * gtk/gtkcalendar.c:
4658         * gtk/gtkbutton.c: ported _get_type() implementation over to
4659         GType, either to preserve memchunks allocation facilities,
4660         or because Gtk+ 1.0 GtkTypeInfo was still being used.
4661
4662         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
4663         over. prepare for ::destroy to be emitted multiple times.
4664         removed reference tracer magic. chain into GObjectClass.shutdown()
4665         to emit ::destroy signal.
4666
4667         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
4668         fundamental.
4669
4670         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
4671         cludge.
4672
4673         * gtk/gtksocket.c:
4674         * gtk/gtkplug.c:
4675         * gtk/gtklayout.c:
4676         * gtk/gtklabel.c:
4677         * gtk/gtkargcollector.c:
4678         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
4679         not being a fundamental anymore, and to work with the new
4680         type system (nuked fundamental type varargs clutter).
4681
4682         * gtk/*.c: install finalize handlers in the GObjectClass
4683         part of the class structure.
4684         changed direct GTK_OBJECT()->klass accesses to
4685         GTK_*_GET_CLASS().
4686         changed direct object_class->type accesses to GTK_CLASS_TYPE().
4687
4688         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
4689         GType. made most of the GTK_*() type macros and Gtk* typedefs
4690         simple wrappers around macros and types provided by GType.
4691         most notably, a significant portion of the old API vanished:
4692         GTK_TYPE_MAKE(),
4693         GTK_TYPE_SEQNO(),
4694         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
4695         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
4696         GTK_TYPE_ARGS,
4697         GTK_TYPE_CALLBACK,
4698         GTK_TYPE_C_CALLBACK,
4699         GTK_TYPE_FOREIGN,
4700         GtkTypeQuery,
4701         gtk_type_query(),
4702         gtk_type_set_varargs_type(),
4703         gtk_type_get_varargs_type(),
4704         gtk_type_check_object_cast(),
4705         gtk_type_check_class_cast(),
4706         gtk_type_describe_tree(),
4707         gtk_type_describe_heritage(),
4708         gtk_type_free(),
4709         gtk_type_children_types(),
4710         gtk_type_set_chunk_alloc(),
4711         gtk_type_register_enum(),
4712         gtk_type_register_flags(),
4713         gtk_type_parent_class().
4714         replacements, where available are described in ../docs/Changes-1.4.txt.
4715         implemented compatibility functions for the remaining API.
4716
4717         * configure.in: depend on glib 1.3.1, use gobject module.
4718
4719 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
4720
4721         * TODO.xml: Various updates to current status.
4722
4723 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
4724
4725         * gtk.m4: Print out version when test succeeds.
4726
4727 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
4728
4729         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
4730         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
4731         
4732         (Original triangle color selector from Simon Budig
4733         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
4734         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
4735         Santiago <mrcooger@cyberverse.com>)
4736
4737         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
4738         out into a separate widget.
4739
4740         * gtk/testgtk.c: Add some checkbuttons for toggling palette
4741         and opacity controls.
4742
4743 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
4744
4745         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
4746         snuck in prematurely.
4747
4748 2000-05-07  Tor Lillqvist  <tml@iki.fi>
4749
4750         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
4751         had deleted a ! operator by mistake, which caused
4752         GDK_SELECTION_CLEAR events never to be generated, which caused
4753         only the first copy to the clipboard from an gtkeditable to
4754         actually cause a copy to the Windows clipboard.
4755
4756 2000-05-06  Tor Lillqvist  <tml@iki.fi>
4757
4758         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
4759         compilation, too. Current mingw gcc distributions include the
4760         necessary headers. Also the necessary IIDs are now in mingw
4761         headers/libraries, and own definitions unnecessary.
4762
4763         More hacking on OLE2 DND, still doesn't work though, and thus
4764         ifdeffed out.
4765
4766         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
4767         here, too.
4768
4769 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
4770
4771         * gdk/nanox/*: nano-X port work in progress.
4772         * gdk/simple.c: simple test for Gdk.
4773         * README.nanox: notes about the port: read this first!
4774         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
4775         with nano-X.
4776
4777 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
4778
4779         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
4780         gdk_window_clear() into common code, implement in terms of
4781         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
4782         not redirected to the backing rectangle.
4783
4784 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
4785
4786         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
4787         EXTRA_DIST. It does not work well when the file that
4788         everything depends on is not in the tarball.
4789
4790 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
4791
4792         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
4793         with recursion where process_updates() is called from
4794         an expose handler. (GtkTextView is highly broken in
4795         doing this, but it should work, so it is a nice test
4796         case.)
4797
4798 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
4799
4800         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
4801         handle the case where updates are queued during processing of
4802         updates.
4803
4804 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
4805
4806         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
4807         window is on gdk_display - use that instead of segfaulting.
4808
4809 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
4810
4811         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
4812         broken and require an empty arg, give it to them.
4813
4814 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
4815
4816         * gtk/gtklabel.h: indentation fixes.
4817
4818 2000-05-02  Tor Lillqvist  <tml@iki.fi>
4819
4820         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
4821         draw too narrow or too low arcs, they seem to fail, at least with
4822         some display drivers.
4823
4824         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
4825
4826         Large changes to the Win32 backend, partially made necessary by
4827         the changes to the backend-independent internal
4828         structures. Attempts to implement similar backing store stuff as
4829         on X11. The current (CVS) version of the Win32 backend is *not* as
4830         stable as it was before the no-flicker branch was merged. A
4831         zipfile with that version is available from
4832         http://www.gimp.org/win32/. That should be use by "production"
4833         code until this CVS version is usable. (But note, the Win32
4834         backend has never been claimed to be "production quality".)
4835
4836         * README.win32: Add the above comment about versions.
4837
4838         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
4839
4840         * gdk/gdk.def: Update.
4841
4842         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
4843         presumably be replaced by some more better mechanism as 1.4 gets
4844         closer to release shape.
4845
4846         * gdk/makefile.{cygwin,msc}: Update.
4847
4848         * gdk/win32/*.c: Correct inclusions of the backend-specific and
4849         internal headers. Change code according to changes in these. Use
4850         gdk_drawable_*, not gdk_window_* where necessary.
4851
4852         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
4853         our old DND.
4854
4855         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
4856         to interpret single characters as UTF-8. Thanks to Hans Breuer.
4857         Use correct function name in warning messages.
4858
4859         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
4860         GSourceFuncs gdk_event_prepare and gdk_event_check.
4861         (gdk_event_get_graphics_expose): Do implement, use
4862         PeekMessage. Thanks to Hans Breuer.
4863         (event_mask_string): Debugging function to print an GdkEventMask.
4864         (gdk_pointer_grab): Use it.
4865
4866         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
4867         (old) book I used claimed was Hangul actually is CJK Unified
4868         Ideographs Extension A. Also, Hangul Syllables were missing.
4869         Improve logging.
4870
4871         * gdk/win32/gdkgc-win32.c: Largish changes.
4872
4873         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
4874         g_win32_getlocale() from GLib, and not setlocale() to get current
4875         locale name.
4876
4877         * gdk/win32/gdkprivate-win32.h
4878         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
4879         gdkwin32.h, similarily as in the X11 backend.
4880
4881         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
4882         assignment was used instead of equals in if test. Thanks to Hans
4883         Breuer.
4884
4885         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
4886         the X11 version.
4887
4888         * gdk/win32/makefile.{cygwin,msc}
4889         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
4890         path to the Win32 headers that works also with the mingw compiler.
4891
4892         * gtk/gtkstyle.c: Include <string.h>.
4893
4894 2000-04-26  Havoc Pennington  <hp@redhat.com>
4895
4896         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
4897         replacing the broken gtk_label_get ()
4898
4899 2000-04-15  Havoc Pennington  <hp@pobox.com>
4900
4901         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
4902         this keeps scanner scripts from getting confused.
4903
4904         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
4905         data, rather than void
4906
4907 2000-04-15  Tor Lillqvist  <tml@iki.fi>
4908
4909         * gtk/gtkclist.c (gtk_clist_motion)
4910         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
4911         with is_hint FALSE, get x and y from the event. They used to be
4912         used uninitialised. The Win32 backend never sends motion events
4913         marked as hints. This for instance fixes the annoying file and
4914         font selector behaviour in the Win32 version.
4915
4916 2000-04-14  Tor Lillqvist  <tml@iki.fi>
4917
4918         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
4919         gtk_private_n_signals variables, they are used by some software,
4920         sigh.
4921
4922         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
4923         installation directory from the Registry, where the installer
4924         should have put it.
4925
4926 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
4927
4928         * gdk/x11/Makefile.am: Fix problem with installation directory for
4929         gdkx.h
4930
4931         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
4932         <mrcooger@cyberverse.com> so that when selecting menus with the
4933         mouse, the first item will not be selected, but when selecting
4934         with an accelerator, or navigating left-right on a menubar with
4935         the menus popped up, the first item will be selected.
4936
4937 2000-04-05  Dan Damian  <dand@dnttm.ro>
4938
4939         * configure.in: Added "ro" to ALL_LINGUAS.
4940
4941 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
4942
4943         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
4944         indentation.
4945
4946         * Makefile.am (EXTRA_DIST): Fix typo.
4947
4948         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
4949         to catch gdkconfig.h
4950
4951         * gtk/gtkitemfactory.c: Added FIXME.
4952
4953 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
4954
4955         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
4956         s/return_if_fail/return_val_if_fail/g and add a return value.
4957
4958 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
4959
4960         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
4961         merge slipup.
4962
4963         * gdk/gdkinput.h: Fix missing line from merge.
4964
4965 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
4966
4967         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
4968         instead of gdkprivate.h.
4969
4970 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
4971
4972         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
4973         parent class to correctly be GtkDialogClass.
4974
4975 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
4976
4977         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
4978         toplevel windows and their immediate children by their parents,
4979         since the size of toplevel windows is out of our immediate
4980         control and we don't get any real benefit from trying to track
4981         this size for clipping.
4982
4983         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
4984         for input_only windows.
4985
4986         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
4987         to fix some hacks and make sure that we don't try to set the
4988         background of input only windows.
4989
4990 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
4991
4992         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
4993         the _really_ internal stuff, and leave gdkprivate.h for the fake private
4994         stuff that we've traditionally exposed.
4995
4996         * gdk/**.c: Use gdkinternals.h where appropriate.
4997
4998         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
4999         not include gdkprivate-x11.h, move all stuff of conceivable public
5000         interest into gdkx.h; keep all really private stuff in
5001         uninstalled header gdkprivate-x11.h.
5002
5003         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
5004         image->image_put on windows through a new function _gdk_window_draw_image()
5005         to allow us to do backing store for images. (Sort of ugly)
5006
5007         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
5008         contexts locally so that we can offset them properly when drawing 
5009         onto backing pixmaps.
5010
5011         * gdk/gdkinput.h: Reindented
5012
5013         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
5014         pixmap or color for the window, so we can properly initialize
5015         our double-buffer pixmaps, and also so that we temporarily set
5016         a background of None while scrolling.
5017
5018         * gdk/gdkregion.h: Revise region boolean operators to have an
5019         interface that is actually convenient - switch from creating new
5020         regions on every op, to "methods" that modify existing regions
5021         (A = A OP B). 3 argument forms which allow dest == src, would also
5022         be possible, but the current interfaces seem to map nicely
5023         onto what needs to be done. (There is quite a lot of region
5024         code in GDK now.)
5025
5026         * gdk/gdkregion.h: Add constructor from rectangle and a copy
5027         operator.
5028
5029         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
5030         gdkpoly-generic.h: Copy region code from Xlib, switch it over
5031         to 32 bit coordinates, modify it to be mostly GTK+ style
5032         and to have interfaces that match gdkregion.h.
5033
5034         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
5035         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
5036         create a backing pixmap and redirect all drawing to
5037         that backing pixmap until a matching gdk_window_end_paint().
5038
5039         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
5040         Create a special drawable class for GtkWindow's that 
5041         redirects the drawing to the backing pixmap as necessary
5042         and then calls the real operations in _gdk_windowing_window_class.
5043
5044         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
5045         Store invalid region for each window. Generate expose events for invalid
5046         region in an idle. This replaces both the expose compression
5047         and the redrawing queuing in GTK+. It is both more efficient and
5048         simpler than either one individually and far more so then the
5049         combination.
5050
5051         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
5052         Emulate 32 bit coordinates for windows with 16 bit coordinates
5053         by offsetting drawing, guffaw scrolling techniques and
5054         mapping/unmapping child windows as necessary.
5055
5056         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
5057         where, when invalid regions are processed, the region is stored,
5058         and if expose events come in that are detectably duplicate
5059         the processed exposes (by comparison of event serial numbers),
5060         the stored region is subtracted out of those exposes.
5061
5062         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
5063         regions newly exposed when scrolling or resizing windows.
5064         This, combined with forcing processesing of queued invalidated
5065         regions, gives nice flicker-free scrolling.
5066
5067         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
5068         invalidated regions after every scroll.
5069
5070         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
5071         emulation in GDK. Its, for all practical purposes just a
5072         GtkViewport/GtkFixed hybrid now.
5073
5074         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
5075         (16-bit) structures as necessary instead of just casting.
5076
5077         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
5078         in terms of the structures from gdkregion-generic.c, using appropriate
5079         offsets from GDK to X11 coordinates. Cache clip mask and
5080         origin and ts origin locally and only flush to the server
5081         when drawing, to avoid constantly setting and resetting these
5082         values when offsetting GC's for scrolling and backing pixmaps.
5083
5084         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
5085
5086         * gtk/gtkcontainer.c: Call process_all_updates at end
5087         of resizing to reduce flicker. (Avoids having redraw
5088         lag arbitrarily behind resize under some circumstances)
5089
5090         * gtk/gtkentry.c: Remove old backing store code, and simply take
5091         advantage of the new backing store capabilities of GDK.
5092
5093         * gtk/gtkmain.c: Simple implementation of widget backing
5094         store - simply push a paint while handling each expose.
5095         (Should really be configurable widget for widget.)
5096         
5097         * gtk/gtkwidget.c: Remove all the old complicated redraw
5098         code, and simply invalidate the GDK windows from
5099         gdk_window_queue_clear(), etc. (Sigh, so much carefully
5100         debugged complexity ... gone to the winds.)
5101
5102         Remove all the code for suppressing expose events while
5103         resizes are pending; this isn't needed since the invalid
5104         areas won't be processed until after the resizes are
5105         processed, since they are in a lower priority idle.
5106
5107 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
5108
5109         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
5110         and height of dest rectangle for non-intersecting rectangles.
5111
5112 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
5113
5114         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
5115         for GdkRectangle.
5116
5117 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
5118
5119         * gdk/gdk{events,image,private,types,window}.h
5120          gdk/x11/gdkinputprivate.h: Change all coordinates
5121          from int16 to int. Also, Change width and height from
5122          unsigned to signed to avoid all the stupid C 
5123          signedness bugs.
5124
5125 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
5126
5127         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
5128         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
5129         Add some more detailed checking.
5130
5131         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
5132         New function to retrieve the depth of a drawable.
5133
5134         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
5135         field, reorder fields to save memory. 
5136
5137 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
5138
5139         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
5140         of the background image instead of scaling the background down to
5141         a line.
5142
5143         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
5144         which temporarily set slider to wrong size.
5145
5146         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
5147         queue_clear().
5148
5149 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
5150
5151 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
5152
5153         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
5154
5155 2000-03-17  Tor Lillqvist  <tml@iki.fi>
5156
5157         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
5158         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
5159
5160         * gdk/win32/gdkfont-win32.c
5161         * gdk/win32/gdkproperty-win32.c
5162         * gdk/win32/gdkselection-win32.c
5163         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
5164         now declared such.
5165
5166 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
5167
5168         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
5169
5170 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
5171
5172         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
5173         is called without trapping X errors.
5174
5175 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
5176
5177         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
5178         way into the fontset lists.
5179
5180 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
5181
5182         * gtk/gtkthemes.h: add extern "C" scope.
5183
5184 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
5185
5186         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
5187         to make appends to the list constant. (gtk-guy-990901-0.patch)
5188
5189 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
5190
5191         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
5192         for the typename hash table.
5193
5194 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
5195
5196         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
5197         to make sure we never divide by zero. 
5198         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
5199
5200 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
5201
5202         * gtk/gtkfontsel.c: Apply patch from
5203         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
5204         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
5205
5206         Also, some cleanups in atom handling.
5207
5208 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
5209
5210         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
5211         not GtkWidget.
5212
5213 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
5214
5215         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
5216         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
5217         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
5218         more guint wrap-around bugs before going to bed.
5219
5220 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
5221
5222         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
5223         guint wrap arounds in allocation.width.
5224
5225         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
5226         process untill we fit the allocation given.
5227
5228 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
5229
5230         * gtk/gtkwidget.c:
5231         (gtk_widget_unrealize): guard widget access with ref/unref
5232         around signal emission.
5233         (gtk_widget_hide): same here, but also check its destroyed
5234         state before queueing a resize.
5235
5236 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
5237
5238         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
5239         of gtk_default_insensitive_bg as insensitive base color.
5240
5241         * gtk/gtktext.c (gtk_text_style_set): set the background color according
5242         to the widget's state.
5243         (gtk_text_realize): same here.
5244         (gtk_text_state_changed): same here.
5245         (draw_bg_rect): compare background color against base[] from
5246         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
5247
5248 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
5249
5250         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
5251         grabs are active, unless a delete event is send to the toplevel
5252         of the currently grab holding widget.
5253
5254 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
5255
5256         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
5257         debugging g_print's.
5258
5259 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
5260
5261         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
5262         ever make the scrolled-window requisition ever depend on the 
5263         visibility state of the scrollbars for the AUTOMATIC policy. 
5264         This breaks the GTK+ requisition model, and causes loops.
5265
5266 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
5267
5268         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
5269         the default font to avoid problems with XFree86-4.0 where the
5270         default charset is iso10646-1, not iso8859-1.
5271
5272 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
5273
5274         * acinclude.m4
5275         * config.guess
5276         * config.sub
5277         * ltconfig
5278         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
5279
5280         * gtk/Makefile.am: minor cosmetic consistency tweak
5281
5282 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
5283
5284         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
5285         the activate_time to 0, so that we handle a quick
5286         press/release press/release properly and don't suppress
5287         the second release. (Red Hat bug #7545)
5288
5289 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
5290
5291         * gtk/gtkctree.c (row_delete):
5292         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
5293         bugs with destruction notifier, *always* update internal
5294         structures *before* calling user code.
5295
5296 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
5297
5298         A few more fixes for bug #5487, #2051, #2677.
5299         * gtk/gtkclist.c : 
5300         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
5301         not GDK_BUTTON_PRESS.
5302         (resync_selection): resync only if selection_mode is
5303         GTK_SELECTION_EXTENDED
5304         * gtk/gtkctree.c (resync_selection): same here
5305
5306 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
5307
5308         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
5309         gdk_drag_get_selection() and gtk_menu_detach().
5310
5311         [ From Jeroen Ruigrok/Asmodai ]
5312
5313 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
5314
5315         * gtk/gtknotebook.c (gtk_notebook_size_request): 
5316         page->tab_label can be NULL.
5317
5318 2000-01-25  Havoc Pennington  <hp@pobox.com>
5319         
5320         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
5321         arg is boolean
5322
5323         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
5324
5325         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
5326
5327         * gdk/gdkproperty.c (gdk_property_get): return boolean
5328
5329         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
5330
5331         * gdk/gdkim.c (gdk_im_ready): return boolean
5332
5333         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
5334
5335         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
5336         glib clash, should fix glib)
5337
5338         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
5339         (gdk_get_show_events): return gboolean, and canonicalize 
5340         to TRUE/FALSE
5341
5342         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
5343         colormap is private
5344         (gdk_colors_alloc): gboolean whether to be contiguous
5345         (gdk_color_equal): return gboolean since we are a predicate
5346         and not a qsort() (this looks semi-wrong due to glib breakage,
5347         IMO glib should be fixed)
5348         
5349         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
5350         (gdk_get_use_xshm): return gboolean
5351         (gdk_pointer_is_grabbed): return gboolean
5352
5353         * gdk/gdk.h: Change prototypes to match all the above changes,
5354         and re-run egtk-format-protos as required.
5355
5356 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
5357
5358         * gtk/gtkctree.c (resync_selection): 
5359         * gtk/gtkclist.c (resync_selection):
5360
5361         Return immediately if clist->drag_pos < 0. This is a workaround
5362         for the corrupt state that the clist gets into when a
5363         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
5364
5365         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
5366         
5367         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
5368         variable from recent commit.
5369
5370 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
5371
5372         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
5373
5374 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
5375
5376         * gtk/Makefile.am: prefix all autogenerated source that get build in
5377         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
5378         in builddir. since we subsequently cd into srcdir for autogeneration,
5379         the paths have to be stripped from the target file names, thusly we
5380         use $(@F) as target names now.
5381         put a comment about configure.in's --disable-rebuilds option,
5382         which can be used for non-writable source directories, for development
5383         setups though, srcdir has to be *writable*.
5384
5385 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
5386
5387         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
5388           Finish the job of allowing event to be NULL.
5389           (Fixes bug #4283, reported by Chris Blizzard)
5390
5391         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
5392           things so that the cursor appears on screen, properly
5393           take into account INNER_BORDER.
5394           (Fixes bug #4754, reported by Antonio Campos)
5395
5396 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
5397
5398         * gtk/gtknotebook.c (gtk_notebook_map): Don't
5399           show the tab_label unless it itself is visible.
5400
5401           gtk/gtknotebook.c (gtk_notebook_size_request):
5402           Do a better job of making sure that the visibility
5403           of the tab label corresponds to whether it should
5404           be mapped or not.
5405
5406 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
5407
5408         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
5409           Use the requisition, not the allocation, since the
5410           allocation has not necessarily been computed yet.
5411           (Pointed out by Eugene Osintsev)
5412
5413 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
5414
5415         * gtk/gtkstyle.c (gtk_style_new): Dont' set
5416           style/base[GTK_STATE_INSENSITIVE] both to
5417           gtk_default_insensitive_bg!
5418           (Bug #2187, reported by Jonathan Blandford)
5419
5420         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
5421           Add Alt_L, Alt_R to list of invalid accelerators.
5422           (Bug #3736, reported by Vlad Harchev)
5423
5424 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
5425
5426         * gtk/gtkfilesel.c (open_ref_dir): Fix several
5427         bugs which occured after an attempt to open 
5428         invalid home directory left cmpl_state->reference_dir == NULL.
5429
5430          - completion on files in home directory didn't work
5431          - completion on an empty string caused  segfault
5432
5433          (Bug #3768, reported by Steve Ratcliffe)
5434
5435         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
5436         cut and paste error that was causing scales to
5437         be incorrectly positioned.
5438         (Bug #2956,
5439          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
5440
5441 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
5442
5443         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
5444         when checking for dcgettext, if we've found we needed
5445         it for dgettext.
5446 +
5447 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
5448
5449         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
5450         queue_clear on NO_WINDOW widgets during a reparent,
5451         since at that point the window and widget heirarchies
5452         are out of sync. This stops crashing in some cases
5453         (the scrolled window reparent test, for instance), and
5454         _probably_ won't cause drawing errors.
5455
5456         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
5457         test do what it was supposed to do and be robust against
5458         window closings, etc. (Bug #2443)
5459
5460 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
5461
5462         * gtk/gtkentry.c: Fix return values on mouse events.
5463         (Bug #2686, Sky <seb_sky@yahoo.com>)
5464
5465         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
5466         (pointed out by George Lebl)
5467
5468         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
5469         (From Ettore Perazzoli  <ettore@helixcode.com>)
5470  
5471 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
5472
5473         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
5474         clicks between rows or outside calender area correctly.
5475         (Patch from Damon Chaplin)
5476
5477         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
5478         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
5479           Call destroy function when overwriting existing data. 
5480           (Pointed out by Damon Chaplin)
5481
5482 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
5483
5484         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
5485           which was causing problems on various systems with Xmu.
5486           This hasn't been needed for a very long time.
5487           (Fixes #1185 3167)
5488
5489 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
5490
5491         * gdk/gdki18n.h: Include <ctype.h> when defining
5492           gdk_isw* in terms of is* as a fallback.
5493           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
5494
5495 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
5496
5497         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
5498           realize the widget when it is size allocated!
5499           (old, old bug)
5500
5501         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
5502           Removed unused call to gdk_window_get_size() that
5503           showed up when the above was fixed.
5504
5505 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
5506
5507         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
5508           fix up widget->window when the widget is a
5509           NO_WINDOW container widget.
5510
5511 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
5512
5513         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
5514           to account for the fact that feof() does _not_ 
5515           return TRUE on errors, and thus avoid infinite loops
5516           when trying to use gdk_pixmap_create_from_xpm()
5517           on unreadable values.
5518
5519 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
5520
5521         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
5522
5523 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
5524
5525         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
5526           gdk_gc_set_dashes to take gint8 instead of gchar to
5527           make it clearer that it is _not_ a NULL terminated string.
5528
5529         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
5530           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
5531           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
5532           arguments.
5533
5534 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
5535
5536         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
5537         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
5538         background size relative to our allocation, guard against small
5539         allocations, we may have not yet been size allocated.
5540
5541 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
5542
5543         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
5544         not just version == 3. We implement all 3 + most of 4 - 
5545         (we don't support matching text/plain;charset=iso-8859-1
5546         to a dest that expects text/plain). We'll still advertise
5547         3 to be safe, but any client implementing version >= 3
5548         must interoperate with 3.
5549         
5550 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
5551
5552         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
5553         background and gc members, add a warning in gtk_tooltips_set_color()
5554         indicating that this function is deprecated.
5555
5556 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
5557
5558         * docs/gtkfaq.sgml: FAQ Update:
5559           - Minor cleanups (Emmanuel, me)
5560           - New questions:
5561                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
5562                 How can I retrieve the text from a GtkMenuItem? (timj)
5563                 How do I validate/limit/filter the input to a GtkEntry? (me)
5564                 Memory does not seem to be released when I free the list
5565                         nodes I've allocated (timj)
5566
5567 2000-03-07  Tor Lillqvist  <tml@iki.fi>
5568
5569         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
5570         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
5571         for which it is no use to call GetLastError onWin9x.
5572         (gdk_other_api_failed) New function, for general error
5573         reporting without calling GetLastError.
5574         (gdk_win32_api_failed) OTOH, this function always calls
5575         GetLastError. (gdk_win32_last_error_string) Remove this function,
5576         GLib has the equivalent now.
5577
5578         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
5579         call them with function name, file name and line number in the
5580         arguments.
5581
5582         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
5583         functions.
5584         
5585         * gtk/gtk.def: Add some missing entry points.
5586
5587         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
5588         gtk_paned_set_gutter_size, which don't exist any longer, as void.
5589         
5590         Fixes by Hans Breuer:
5591
5592         * gdk/makefile.msc: Update for debugging.
5593
5594         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
5595         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
5596         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
5597         in the dash_list.
5598
5599         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
5600         the x11 backend.
5601
5602         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
5603
5604         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
5605
5606 2000-03-04  Tor Lillqvist  <tml@iki.fi>
5607
5608         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
5609         just pixel value of background colour.
5610
5611         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
5612         containing code snippet previously duplicated in a couple of
5613         places.
5614         
5615         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
5616         gdk_colormap_color.
5617
5618         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
5619         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
5620         events for autorepeated Shift, Control and Alt keys. Use
5621         gdk_colormap_color.
5622
5623         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
5624         pointer is inside the window the cursor of which we are setting,
5625         call SetCursor immediately.
5626
5627         * gdk/win32/makefile.cygwin
5628         * gtk/makefile.cygwin: If we don't have the build number stamp
5629         file, use zero.
5630
5631         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
5632         gtk_paned_set_gutter_size as empty.
5633
5634         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
5635         
5636 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
5637
5638         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
5639           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
5640           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
5641           docs/gtk_tut.sgml docs/gtk.texi TODO:
5642
5643           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
5644
5645 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
5646
5647         * gtk/gtkcalendar.c: Implement num_marked_dates,
5648           and don't emit mutiple day_selected signals on
5649           month_prev.
5650
5651 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
5652
5653         * docs/make-todo (lineno): let title and logo be configurable so
5654         that GNOME can use this script too.
5655
5656         * TODO.xml: added logourl and a title
5657
5658 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
5659
5660         * TODO.xml: Added some UI items, and an explanatory
5661         comment at the top of the file.
5662
5663 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
5664
5665         * TODO.xml: some updates, added abunch of new entries.
5666         a note for those fiddeling with this file, when done
5667         with it, invoke:
5668         $ ./docs/make-todo TODO.xml >/dev/null
5669         and correct output errors before comitting changes.
5670
5671 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
5672
5673         * TODO.xml: Added XML-structured TODO file.
5674         * docs/make-todo: python script to turn TODO.xml into
5675           pretty XML output. 
5676
5677 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
5678
5679         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
5680         the function to let it draw the seven dots, instead of the old,
5681         much maligned, method.
5682         (draw_dot): New function to draw a dot.
5683
5684         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
5685         to draw the handle inside the border width as opposed to outside.
5686         Use paint function instead of gdk_draw_point.
5687
5688         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
5689         to draw the handle inside the border width as opposed to outside.
5690         Use paint function instead of gdk_draw_point.
5691
5692         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
5693         Change indenting to be more GTK like.
5694
5695 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
5696
5697         * docs/gtk_tut.sgml: New section on GtkCalendar
5698         * examples/calendar: Update example code
5699
5700 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
5701
5702         * docs/gtkfaq.sgml: FAQ Update
5703
5704 2000-02-19  Anders Carlsson  <andersca@gnu.org>
5705
5706         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
5707         to prevent the scroll event to be propagated upwards.
5708
5709 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
5710
5711         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
5712         OwnerGrabButtonMask from button entries for
5713         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
5714
5715         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
5716         to the event mask (which will result in button/press release
5717         being added to the event mask on Unix) so scrolling works
5718         for layouts in scroll windows.
5719
5720         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
5721
5722         Patch from Anders Carlsson  <andersca@gnu.org> to add
5723         a scroll event.
5724
5725         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
5726         scrolling to the "Test Scrolling" part of testgtk.
5727  
5728         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
5729  
5730         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
5731         it against GDK_SCROLL.
5732  
5733         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
5734         way of mouse wheel scrolling.
5735  
5736         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
5737  
5738         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
5739  
5740         * gtk/gtkmain.c: Removed previous mouse wheel hack.
5741  
5742         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
5743         gdk_event_mask_table.
5744  
5745         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
5746         GdkEventScroll handler.
5747  
5748         * gdk/gdkevents.h: Added GdkEventScroll structure.
5749  
5750 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
5751
5752         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
5753         and Anders Carlsson to change the Paned widgets so that they
5754         can be dragged from anywhere along the length. Also change
5755         the way that this is drawn to make this apparent.
5756
5757         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
5758         from George Lebl to check that option_menu->menu is present
5759         before getting history.
5760
5761 2000-02-14  Tor Lillqvist  <tml@iki.fi>
5762
5763         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
5764         before the assertion for non-NULL segment list.
5765
5766         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
5767         Seems that pattern brushes *must* be 8x8 pixels! At least on my
5768         machine, but it might be display driver dependent. Sigh, so make
5769         sure the stipple is that size. Does Windows suck or what?
5770
5771         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
5772         places.
5773
5774 2000-02-13  Havoc Pennington  <hp@pobox.com>
5775
5776         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
5777         refcount to 1
5778         (gdk_cursor_new): init refcount to 1
5779
5780         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
5781
5782 2000-02-13  Tor Lillqvist  <tml@iki.fi>
5783
5784         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
5785         so that we don't have to do unnecessary settings to the HDC.
5786
5787         * gdk/win32/gdkdrawable-win32.c
5788         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
5789         gdk_gc_predraw.
5790
5791         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
5792         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
5793         GDI paths, call WidenPath to get the outline of the stroken path,
5794         and then fill the outline (with the brush that was built from the
5795         stipple).
5796
5797         * gdk/win32/gdkgc-win32.c: Factor out common code from
5798         _gdk_win32_gc_new and gdk_win32_gc_set_values into
5799         gdk_win32_gc_values_to_win32values. Use correct colour for
5800         SetBkColor() (Until now the code actually used a random colour in
5801         the call to SetBkColor()... but that didn't show up as not many
5802         GDI APIs use the background colour. Pattern (opaque stippled)
5803         brushes do.)
5804
5805         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
5806         gdk_win32_api_failed): New functions for error logging.
5807
5808         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
5809         WIN32_API_FAILED to call them, passing function or file name and
5810         line number.
5811
5812         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
5813
5814         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
5815         GdkColor for foreground and background in GdkGCWin32Data.
5816
5817         * gdk/makefile.cygwin: Link in the resource object separately.
5818
5819         * gdk/win32/rc/gdk.rc
5820         * gtk/gtk.rc (New file)
5821         * gdk/win32/makefile.cygwin
5822         * gtk/makefile.cygwin: Update build number in DLLs automatically,
5823         as in GLib.
5824
5825 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
5826
5827         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
5828         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
5829         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
5830         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
5831         parameters given and cursor->ref_count. coding style fixups.
5832
5833         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
5834         not GtkWidget.
5835         
5836         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
5837         fix up widget macros and add _GET_CLASS() variant.
5838         
5839         * gtk/*.c: some GtkType fixups.
5840
5841 2000-02-09  Tor Lillqvist  <tml@iki.fi>
5842
5843         * gdk/win32/gdkproperty-win32.c
5844         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
5845         were reversed.
5846
5847 2000-02-04  Tor Lillqvist  <tml@iki.fi>
5848
5849         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
5850         g_filename_to_utf8 to convert the font names Windows gives us from
5851         whatever is the default codepage to UTF-8.
5852         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
5853         in the other direction.
5854
5855         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
5856         error in debugging output.
5857
5858 2000-02-02  Tor Lillqvist  <tml@iki.fi>
5859
5860         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
5861         and height parameters to gdk_window_clear_area(). Not minus one.
5862
5863 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
5864
5865         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
5866         checks if the widget passed to gtk_drag_get_data() was not the
5867         dest widget.
5868
5869 2000-02-01  Tor Lillqvist  <tml@iki.fi>
5870
5871         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
5872         g_filename_from_utf8 functions (which were added a moment ago to
5873         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
5874         size buffers.
5875
5876         gtk_file_selection_get_filename returns the filename in the C
5877         runtime encoding. It calls g_filename_from_utf8, but copies the
5878         returned string to a static buffer, which is returned. I think
5879         this is better than returning the result from g_filename_from_utf8
5880         directly, which would mean all apps that use it would have to free
5881         the return value. Or should this function care about this issue at
5882         all? Maybe a new function with clearly defined semantics.
5883
5884         * gtk/gtkfilesel.h: Add comment about
5885         gtk_file_selection_get_filename returning the filename in the C
5886         runtime's encoding.
5887
5888         * README.win32
5889         * gdk/gdk.def
5890         * gdk/makefile.{cygwin,msc}
5891         * gtk/gtk.def: Updates.
5892
5893         * gdk/gdkcursor-win32.c: Initialise refcount.
5894
5895 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
5896
5897         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
5898
5899 2000-01-30  Havoc Pennington  <hp@pobox.com>
5900
5901         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
5902         destroy
5903
5904         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
5905
5906         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
5907         implemented in platform-specific code
5908
5909         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
5910
5911         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
5912         underscore in front
5913
5914         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
5915         put an underscore in front
5916
5917         * gdk/gdkcursor.c: new file, implements
5918         gdk_cursor_ref/gdk_cursor_unref
5919
5920         * gdk/gdkcursor.h: Refcount GdkCursor
5921
5922         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
5923
5924 2000-01-29  Tor Lillqvist  <tml@iki.fi>
5925
5926         * gdk/gdkwindow.h
5927         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
5928
5929 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
5930
5931         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
5932         structures to properly inherit from GtkWidget not GtkBin.
5933
5934 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
5935
5936         * gtk+.spec.in: Added lib/gtk+/include/* to %files
5937         (bug #5178 - Peter Wainright)
5938         
5939         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
5940         so that it will be installed.
5941         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
5942
5943 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
5944
5945         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
5946         for the GtkStyleClass vtable const.
5947
5948         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
5949         take a const string argument like GtkTranslateFunc. This will
5950         require changes in use code.
5951
5952 2000-01-19  Tor Lillqvist  <tml@iki.fi>
5953
5954         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
5955         semantics (to mimic the X11 backend, which just calls XClearArea)
5956         is to check for zero width (and height), and in that case use the
5957         window's width minus x (height minus y). This fixes for instance
5958         some redraw problems with gtkclist, which were easily noticeable
5959         in the gtk file selection widget.
5960
5961         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
5962         windows.
5963
5964 2000-01-13  Tor Lillqvist  <tml@iki.fi>
5965
5966         * configure.in
5967         * gdk/Makefile.am
5968         * gdk/x11/Makefile.am
5969         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
5970         (bug #5177).
5971         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
5972         out later.
5973
5974 2000-01-09  Tor Lillqvist  <tml@iki.fi>
5975
5976         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
5977         WM_MOVE for iconified or invisible windows. This fixes various
5978         problems when minimising windows. Thanks to Bernd Herd.
5979
5980 2000-01-05  Tor Lillqvist  <tml@iki.fi>
5981
5982         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
5983         backend's draw_lines method, not draw_points.
5984
5985 2000-01-02  Tor Lillqvist  <tml@iki.fi>
5986
5987         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
5988         before Owen's reorganisation: Don't have queued_events and
5989         queued_tail statics in this file, but use gdk_queued_events and
5990         gdk_queued_tail. This makes exposure event compression work again.
5991
5992         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
5993         seem to be needed?
5994
5995 1999-12-30  Tor Lillqvist  <tml@iki.fi>
5996
5997         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
5998         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
5999         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
6000         doesn't do anything.
6001
6002         * gdk/gdk.def: Add gdk_xid_table_insert.
6003
6004         * gdk/win32/gdkprivate-win32.h
6005         * gdk/win32/gdkevents-win32.c
6006         * gdk/win32/gdkinput-win32.c
6007         
6008         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
6009         extension_events field in the GdkWindowWin32Data struct. Use only
6010         the extension_events field in GdkWindowPrivate. Previously one was
6011         set, and the other one tested, which broke tablet
6012         functionality. Thanks to Keishi Suenaga for pointing this out.
6013
6014 1999-12-18  Tor Lillqvist  <tml@iki.fi>
6015
6016         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
6017         When handling a single character (text length == 1), don't handle
6018         it as if it was UTF-8.
6019
6020 1999-12-11  Tor Lillqvist  <tml@iki.fi>
6021
6022         * Makefile.am: Distribute README.win32.
6023         
6024         * gdk/Makefile.am
6025         * gdk/win32/Makefile.am: Distribute Win32 files.
6026
6027         * gdk/makefile.msc: New file.
6028
6029         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
6030         after label).
6031
6032         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
6033         gdk_error_code as GDKVAR, as they are referred outside GDK.
6034
6035         * gdk/win32/makefile.msc: Update.
6036
6037         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
6038         tweaks. Check only if at least one of those Unicode subrange bits
6039         we care for is set. If no code page bits are set, guess (wildly)
6040         based on the charset.
6041
6042         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
6043
6044         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
6045         non-NULL.
6046
6047         * gtk/gtkdnd.c
6048         * gtk/gtklayout.c
6049         * gtk/gtkplug.c
6050         * gtk/gtkselection.c
6051         * gtk/gtksocket.c
6052         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
6053         appropriate. There must be a cleaner way to handle this?
6054
6055         * gtk/gtkrc.c: Must include windows.h on Win32.
6056
6057         * gtk/testgtk.c: No need to include gdkx.h.
6058
6059         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
6060
6061 1999-12-07  Tor Lillqvist  <tml@iki.fi>
6062
6063         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
6064         the rbearing is set to the same as the width, but this should be
6065         fixed.
6066
6067 1999-12-06  Tor Lillqvist  <tml@iki.fi>
6068
6069         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
6070         function. If Windows doesn't tell us what Unicode subranges a font
6071         covers, guesstimate based on the codepages it covers. This will
6072         hopefully help those Windows versions or fonts that don't give us
6073         any useful Unicode subrange information with GetTextCharsetInfo.
6074         Call this function in gdk_font_load_internal.
6075
6076         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
6077         minor changes.
6078
6079 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
6080
6081         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
6082         New function, long needed.
6083
6084 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
6085
6086         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
6087         only_if_exists argument of gdk_atom_intern to
6088         bool.
6089
6090 1999-11-25  Tor Lillqvist  <tml@iki.fi>
6091
6092         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
6093         Fix two copy&paste errors.
6094
6095         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
6096         win32 has changed.
6097
6098         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
6099         GdkWin32SingleFont struct.
6100
6101         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
6102         subranges of loaded fonts. Clear font signature first, in case
6103         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
6104         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
6105
6106         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
6107         Unoffset clip region.
6108
6109 1999-11-23  Tor Lillqvist  <tml@iki.fi>
6110
6111         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
6112         event->any.window before calling filter functions.
6113
6114 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
6115
6116         * gtk/gtkgamma.h: Adapt cast macros to standard.
6117
6118 [ Merges from 1.2 ]
6119
6120 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
6121
6122         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
6123         If translation does not include a '/', use entire
6124         translation instead of crashing.
6125
6126 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
6127
6128         * docs/gtk_tut.sgml:
6129         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
6130
6131 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
6132
6133         * gtk/gtkselection.c (gtk_target_list_remove): Use
6134         g_list_remove_link, not g_list_remove.
6135
6136         [ From Geert Bevin <gbevin@thunderstorms.org> ]
6137         
6138 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
6139
6140         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
6141         statement upon unselection (how the heck did that slip in?).
6142
6143 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
6144
6145         * gtk/gtktext.c (gtk_text_freeze): 
6146         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
6147         in frozen state (and aparently crashes). patch provided by Anders
6148         Melchiorsen <and@kampsax.dtu.dk>.
6149
6150 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
6151
6152         * fix insensitive default/focus widget activation,
6153         reported by Matt Goodall <mgg@isotek.co.uk>.
6154
6155         * gtk/gtkwindow.c (gtk_window_key_press_event): 
6156         (gtk_window_activate_default):
6157         (gtk_window_activate_focus):
6158         return handled=FALSE for actiavtion of insensitive default
6159         widgets. return handled=TRUE for activation of insensitive
6160         focus widgets. don't activate in either case.
6161
6162 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
6163
6164         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
6165         and $glib_cflags to match library order and in the
6166         theory that an old version of GLib is more likely to
6167         be in the include directory for X then vice-versa.
6168         (Bug #2776)
6169
6170 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
6171
6172         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
6173         to determine the locale for fontsets, not LC_MESSAGES;
6174         the user may want English messages with a handling
6175         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
6176         will still be broken) (Bug #2891)
6177
6178 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
6179
6180         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
6181
6182 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
6183
6184         * gtk/gtkrc.ko: Changed the Korean default fontset.
6185
6186 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
6187
6188         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
6189         where when scrolling to the left or top double exposes
6190         were done, causing major slowdowns.
6191
6192 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
6193
6194         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
6195         names to lowercase and alphanumeric, before looking
6196         them up.
6197
6198         * gtk/Makefile.am: Install codeset variant gtkrc files
6199         with normalized names.
6200
6201 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
6202
6203         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
6204         popup menus when the menu is already visible, but its parent
6205         is still hidden, (happens after tornoff window got hidden).
6206
6207 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
6208
6209         * gtk/Makefile.am (install-data-local): Fix
6210         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
6211         deleted, causing error messages on install.
6212
6213 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
6214
6215         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
6216         the handle as well, since we now sometimes ignore
6217         exposes on the handle while resizing.
6218
6219 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
6220
6221         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
6222         extra g_free introduced in one of the last one or two 
6223         commits.
6224
6225 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
6226
6227         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
6228         consistent, put each style that a gtkrc.* file creates
6229         in a unique namespace, remove old files before installing.
6230
6231 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
6232
6233         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
6234         gtk_rc_init is called multiple times. (Yes, people who
6235         do that have bugs in their code.)
6236
6237 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
6238
6239         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
6240         Remove it since it's generated by the Makefile anyway
6241
6242 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
6243
6244         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
6245         device->info.axes for core pointer.
6246
6247 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
6248
6249         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
6250         idle_id, to deal with obsolete, broken C libraries.
6251
6252 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
6253
6254         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
6255         allocation->x/y twice!
6256
6257         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
6258         consistent with gtk_vscale_pos_trough().
6259
6260 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
6261
6262         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
6263         be queueing a resize on a toplevel container between
6264         the time we show it and when we map it. So, we need
6265         to test GTK_WIDGET_VISIBLE() for toplevels, and only
6266         use GTK_WIDGET_DRAWABLE() for child windows.
6267
6268 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
6269
6270         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
6271         (fixes bug #2144)
6272
6273 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
6274
6275         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
6276         container DRAWABLE (instead of VISIBLE), so we don't queue
6277         resizes on non-toplevel containers.
6278
6279 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
6280
6281         * gtk/gtkselection.[ch]: Make the data argument
6282         const guchar *.
6283
6284 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
6285
6286         * gtk/gtkwindow.c: Try to behave sensibly if 
6287         the focus widget is the window itself. (Should
6288         we allow this at all?)
6289
6290 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
6291
6292         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
6293         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
6294         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
6295         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
6296         in prototypes and implementations consistent (Tomas Ogren).
6297
6298         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
6299         before the widget is unparented (reported by damon).
6300
6301         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
6302         since we provide unsigned data anyways.
6303
6304 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
6305
6306         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
6307         the call to gtk_tooltips_layout_text() until later.
6308
6309         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
6310         Call gtk_widget_ensure_style() before using the style.
6311
6312 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
6313
6314         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
6315         for old widgets that don't propagate draws to all
6316         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
6317
6318 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
6319
6320         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
6321         for a redraw but just the widget that requested the resize.
6322
6323 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
6324
6325         * gtk/gtkcontainer.c: added new widget level method
6326         gtk_container_set_reallocate_redraws() and a GtkContainer flag
6327         reallocate_redraws : 1 to reflect the setting, exported this through
6328         the argument system as a boolean ::reallocate_redraws.
6329
6330         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
6331         on the widget because the allocation changes, do so as well for
6332         widget->parent if the parent has reallocate_redraws set to TRUE.
6333         with that containers requesting reallocation redraws get automatically
6334         redrawn if their children changed allocation (this unfortunately
6335         affects also other children that didn't change allocation, but we
6336         cannot work around that before 1.3).
6337
6338 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
6339
6340         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
6341         _and_ height are >0 (not _or_).
6342
6343         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
6344         instead of gtk_container_queue_resize(), which is a core gtk internal
6345         function (must have been on crack when i queued that).
6346
6347         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
6348         we can check more reliably if we want to discard expose events.
6349         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
6350         flag.
6351         
6352         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
6353         we simply trust these events. for deciding whether to discard exposes,
6354         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
6355         
6356 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
6357
6358         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
6359         queues of areas that are completely off screen.
6360
6361         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
6362         logic for handleboxes.
6363
6364         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
6365         check on width/height.
6366
6367 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
6368
6369         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
6370         we are fine with using $@ the way we do (if we actually encounter
6371         brokeness with $@ in VPATH builds because of additional path prefixes,
6372         we need to use $(@F) actually).
6373
6374 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
6375
6376         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
6377         short lived bugs, that would allow language bindings to do surgeries
6378         to our guts.
6379
6380 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
6381
6382         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
6383         where comparison was being done against an uninitialized
6384         value causing intermittant results depending on
6385         compiler flags. Also make it clearer that we aren't
6386         ever initializing the child as 0x0 (though this will
6387         be caught in gtk_widget_size_allocate())
6388
6389 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
6390
6391         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
6392         gtk_window_unset_transient_for() call after we do checks
6393         involving the old transient parent.
6394         [ From Lance Capser <lmc@cyberhighway.net> ]
6395
6396 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
6397
6398         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
6399         an empty file.
6400
6401 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
6402
6403         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
6404         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
6405
6406 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
6407
6408         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
6409         `$@' is valid only in the build dir, not after we've done 
6410         `cd $srcdir'.  Also use `test -f' instead of less portable
6411         `test -e'.
6412
6413 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
6414
6415         * gtk/gtktext.c (correct_cache_insert): Rewrite
6416          for simplicity, and hopefully correctness.
6417          (Fixes bug #1322, which was a segfault when
6418           on some insertions with the properties around
6419           the insertion set up just wrong.)
6420
6421         * gtk/gtktext.c (gtk_text_adjustment): When we receive
6422          a "changed" signal, clamp the new value to the adjustment
6423          bounds to avoid segfaulting if someone tries to change
6424          the adjustment to a bogus value. (Bug #1795)
6425
6426 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
6427
6428         * gtk/gtkmain.c: Ignore unexpected destroy notifies
6429         for children, for toplevel windows handle them
6430         like delete_event.
6431
6432         * gtk/gtkplug.c: Add an unrealize handler so that
6433         we unref plug->socket_window when we are done
6434         with it.
6435
6436 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
6437
6438         * gtk/gtktext.c (clear_area): Fix stupid signedness
6439          problem that was causing background to sometimes
6440          be misaligned.
6441
6442 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
6443
6444         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
6445         
6446         * gtk/gtkmenu.c (gtk_menu_position): Make
6447          sure we never position menus with negative x, y,
6448          since gtk_widget_set_uposition() can't handle that.
6449
6450         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
6451          Modify the positioning code a bit so that we always
6452          put the top-left corner onscreen. (This is for
6453          UI reasons, gtk_menu_position() now takes care of
6454          gtk_widet_set_uposition() brokeness.)
6455
6456 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
6457
6458         * gtk/Makefile.am: fixed up things for -jx, x > 1.
6459
6460 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
6461
6462         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
6463           RC style that is passed in. The lack of the ref
6464           before was a bug. If people worked around this
6465           bug, this will introduce a slight memory leak
6466           in their code. The code should typically look like:
6467
6468             rc_style = gtk_rc_style_new ();
6469             [...]
6470             gtk_widget_modify_style (widget, rc_style);
6471             gtk_rc_style_unref (rc_style);
6472
6473         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
6474           the style if it was already set.
6475
6476         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
6477           style if it was set before.
6478
6479 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
6480
6481         * gtk/testgtk.c (main): Add a check to see if we
6482           are being run from the correct directory and
6483           to quit nicely if we are not.
6484
6485         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
6486           static.
6487
6488 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
6489
6490         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
6491
6492         * gtk/gtkwindow.c:
6493         queue resizes unconditionally (gtk_widget_queue_resize will figure
6494         what to do if the window is not realized).
6495         (gtk_window_move_resize): only recenter the window
6496         for GTK_WIN_POS_CENTER_ALWAYS.
6497         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
6498         the same way as GTK_WIN_POS_CENTER.
6499
6500 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
6501
6502         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
6503         with (!(info->last_flags & GDK_HINT_POS)) instead of
6504         (!info->last_flags & GDK_HINT_POS).
6505
6506         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
6507         new_height unconditionally, because we use these values even if
6508         !default_size_changed && !hints_changed.
6509         comented the (default_size_changed || hints_changed) case with
6510         respect to resize rejects from the window manager.
6511
6512         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
6513         in the zvt condition hack, since this includes the window hints, set
6514         the hints after the handling_resize case.
6515
6516         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
6517         window is initially shown with to the geometry.
6518
6519 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
6520
6521         * gtk/gtkwindow.c (gtk_window_move_resize):
6522         s/size_changed/default_size_changed/g so i know what's
6523         really going on (frying brain on smaller flame now).
6524
6525 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
6526
6527         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
6528         we have size_changed upon handling_resize. this is a gross
6529         workaround for the broken zvt widget and should be removed in
6530         1.3 again (search for FIXME).
6531         Owen provided an accurate comment for this:
6532
6533         /* We could be here for two reasons
6534          *  1) We coincidentally got a resize while handling
6535          *     another resize.
6536          *  2) Our computation of size_changed was completely
6537          *     screwed up, probably because one of our children
6538          *     is broken. It's probably a zvt widget.
6539          *
6540          * For 1), we could just go ahead and ask for the
6541          * new size right now, but doing that for 2)
6542          * might well be fighting the user (and can even
6543          * trigger a loop). Since we really don't want to
6544          * do that, we requeue a resize in hopes that
6545          * by the time it gets handled, the child has seen
6546          * the light and is willing to go along with the
6547          * new size. (this happens for the zvt widget, since
6548          * the size_allocate() above will have stored the
6549          * requisition corresponding to the new size in the
6550          * zvt widget)
6551          *
6552          * This doesn't buy us anything for 1), but it shouldn't
6553          * hurt us too badly, since it is what would have
6554          * happened if we had gotten the configure event before
6555          * the new size had been set.
6556          */
6557
6558 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
6559
6560         * gtk/gtkrc.c: deal properly with the fact that RC
6561           style lists may include rc styles more than once.
6562
6563         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
6564           unused static function.
6565
6566         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
6567           stack of directories of RC files currently being
6568           parsed and implicitely add them to pixmap path.
6569           
6570           This fixes a bug where the directory would get
6571           appended then overwritten by pixmap_path declarations.
6572
6573           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
6574
6575         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
6576           theme's exit function. (Patch from Peter Wainwright,
6577           bug #1454)
6578
6579         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
6580           Add a destroy() handler to take care of removing
6581           group for menu item. (Fixes bug #1197)
6582
6583         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
6584           in warning message.
6585
6586 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
6587
6588         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
6589         roundtrip to figure window's width and height, since we know that
6590         anyways from widget->allocation.
6591
6592 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
6593
6594         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
6595           the hints after we request the new size.
6596
6597 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
6598
6599         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
6600           GTK_WIDGET_REALIZED() assertion - we can compute the
6601           hints before we are realized.
6602
6603         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
6604           hint changing so that we have a value of hints_changed
6605           when we decide whether to constrain the window size.
6606
6607         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
6608
6609         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
6610         change back to G_MAXINT.
6611
6612 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
6613
6614         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
6615         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
6616         contain uncluttered values.
6617         (gtk_window_compute_hints): simply assert that window is realized
6618         and that geometry_info is valid, since we rely on this anyways.
6619         (gtk_window_constrain_size): major cleanups to the code.
6620         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
6621         for the base size, instead of the minimums. use 32767 as max width
6622         and height (like in gtkwindow.c) instead of G_MAXINT.
6623
6624 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
6625
6626         * cleaned up the GtkContainer.need_resize flag handling mess, we
6627         only need to force resize requests when we were prematurely
6628         realized, or our widget tree was modified when we were temporarily
6629         hidden. handling these cases directly upon showing the window (i.e.
6630         while the GdkWindow is still unmapped) avoids the need to wait for
6631         a configure event response and therefore makes the GUI more snappier
6632         and avoids blank windows during the roundtrip.
6633
6634         * gtk/gtkwidget.c:
6635         (gtk_widget_hide): 
6636         (gtk_widget_show): don't queue resizes on toplevels, they know how
6637         to deal with matters.
6638
6639         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
6640         flag directly for not visible resize containers and spare us unecessary
6641         signal emissions.
6642
6643         * gtk/gtkwindow.c:
6644         (gtk_window_realize): if we need to enforce premature size allocation,
6645         queue a container resize so we are correctly resized later on.
6646         (gtk_window_init):
6647         (gtk_window_size_request):
6648         don't freak around with the ->need_resize flag,
6649         gtk_container_queue_resize() will care about that.
6650         (gtk_window_show):
6651         handle initial resizing issues here, we can handle matters better in
6652         this place, especially since we know that our GdkWindow is still
6653         unmapped.
6654         (gtk_window_move_resize):
6655         don't care about ->need_resize at all.
6656         handle size changes properly that occoured while we waited for a
6657         configure event.
6658
6659 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
6660
6661         * gtk/gtkwidget.c (gtk_widget_set_uposition):
6662         * gtk/gtkwindow.[hc] (gtk_window_reposition):
6663         Move the hint setting code from gtk_widget_set_uposition
6664         to here; set the hints so that we respect any previously
6665         set geometry hints.
6666
6667         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
6668         change the window hints here or move the window here,
6669         let that happen in gtk_window_move_resize().
6670
6671 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
6672
6673         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
6674         to already queued resizes (and therefore redraws) on a widget, check
6675         its anchestry as well.
6676
6677         * gtk/gtkcontainer.c:
6678         (gtk_container_queue_resize): clear resize widgets for resize
6679         containers before aborting prematurely. this is especially important
6680         for toplevels which may need imemdiate processing or their resize
6681         handler to be queued.
6682         (gtk_container_dequeue_resize_handler): added new internal function for
6683         gtkwindow.c.
6684
6685         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
6686         configure event, take possible changes in window position into account
6687         as well.
6688         if we request a new window size, queue up a resize handler that will
6689         last until the configure event response arrives.
6690         combined the ->need_resize case (initial show) with the general size
6691         (hints) changed case and added even more comments.
6692         if !auto_shrink, only revert to the old allocation if the new size
6693         is smaller than the current allocation.
6694
6695 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
6696
6697         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
6698                            gtk_window_set_geometry_hints
6699                            gtk_window_set_default_size):
6700         When hints are set, queue a resize so that the hints will
6701         be eventually reset on the toplevel.
6702
6703         * gtk/gtkwindow.c (gtk_window_show): Use
6704         gtk_window_compute_default_size(). Clear the need_resize flag
6705         on the initail map so that we don't unnecessarily trigger the
6706         resize code.
6707
6708         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
6709         into separate functions. Compare the hints we are setting
6710         with what we set last time so that we can accurately
6711         tell when we need to reset the hints.
6712
6713         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
6714         function to figure out the size from requisition
6715         and default_size.
6716
6717         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
6718         from fvwm to constrain a size to the geometry hints.
6719
6720         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
6721         to compare two sets of geometry hints.
6722
6723         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
6724         from gtk_window_set_hints(), just compute the hints,
6725         don't set them.
6726
6727         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
6728         code from gtk_window_move_resize() to separate function,
6729         rationalize a bit.
6730
6731 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
6732
6733         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
6734         structure into a new private structure.
6735
6736         * gtkrc.c: Split GtkRcStyle into public/private.
6737         In the private part, add a list of pointers to the
6738         RcStyle lists this RcStyle participates in.
6739
6740         * gtkrc.c: When a RcStyle is free, remove all
6741         lists referencing it from the 
6742         realized_style_ht hash, and free those lists.
6743         
6744         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
6745         gtk_rc_init(), since that adds the default styles
6746         to the list of parsed RC files again.
6747
6748         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
6749         
6750 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
6751
6752         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
6753         checks that ensure that a widget's allocation is at least 1 in width
6754         and height. (GNOME note: this doesn't affect old panel code anymore,
6755         because GtkSocket will request width and height of at least 1 since
6756         Fri Jul 23).
6757
6758         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
6759         allocated yet (happens if the user realizes the window prematurely),
6760         size request and allocate it.
6761         (gtk_window_size_allocate): guard against guint underflows.
6762
6763 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
6764
6765         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
6766         in gtk_built_sources, so gtk.defs gets built prior to all other
6767         sources.
6768
6769 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
6770
6771         * gtk/Makefile.am:
6772         invoke indent on gtkmarshal.*. 
6773         rewrote source generation rules, use COPYING as oldest source tag for
6774         a piggyback rule to generate all sources from (don't touch it ;).
6775         major cleanups, strip spaces on build rules for GNU Make.
6776
6777         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
6778         source and target files from commandline arguments. don't invoke indent.
6779
6780 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
6781
6782         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
6783         notebook after switch to avoid drawing problems.
6784         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
6785         
6786         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
6787         show them instead. 
6788         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
6789
6790 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
6791
6792         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
6793         notebook after switch to avoid drawing problems.
6794         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
6795         
6796         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
6797         show them instead. 
6798         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
6799
6800 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
6801
6802         * gtk/gtkwindow.c:
6803         we use window->need_resize from configure_event now, to indicate that
6804         the gtkwindow should keep its allocation (e.g. because the user resized
6805         the window through window manager handles). resize_count is now reliably
6806         used to figure whether we got the allocation we requested from the
6807         window manager.
6808         configure events get queued as resizes now, the real stuff (size
6809         computation and allocation) now only goes on in gtk_window_move_resize().
6810         GtkWindow's requisition now contains its *real* requisition (like all
6811         other widgets), *not* taking usize into account.
6812         geometry_info->last_{width|height} is now updated from set_hints() only
6813         so it always contains the last hints we set for the window manager.
6814         made some event handlers return TRUE instead of FALSE.
6815         the overall code should be much more straight forward now, and the
6816         significant code portions are accompanied by comments now.
6817         (gtk_window_set_hints):
6818         removed requisition argument and made it
6819         fetch the requisition through gtk_widget_get_child_requisition.
6820         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
6821         does that now.
6822         (gtk_window_show):
6823         ensure that the widget is realized before calling 
6824         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
6825         ensure that we got properly size requested and allocated before
6826         realization.
6827         (gtk_window_configure_event):
6828         ignore plain window moves, or reallocate the widget tree through the
6829         resize queue otherwise.
6830         (gtk_window_move_resize):
6831         mostly rewrote this function to figure window manager hints more
6832         reliably, coalesce window moves and resizes to reduce configure events
6833         and do actuall size allocations.
6834
6835 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
6836
6837         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
6838         that have a resize pending, because a redraw is already queued for them.
6839
6840         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
6841         hack to clear resize_widgets.
6842
6843         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
6844         for resize containers prior to size allocation. (this is also a bit
6845         ugly, but avoids side effects for stopped emissions and is thus more
6846         reliable).
6847         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
6848
6849         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
6850         function from gtk_tooltips_expose, as we connect to ::expose_event
6851         *and* ::draw now.
6852
6853 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
6854
6855         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
6856         checks.
6857         (gtk_target_list_unref): Likewise.
6858
6859         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
6860
6861 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
6862
6863         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
6864         guard against division by zero. (Fixes bug #1339)
6865
6866 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
6867
6868         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
6869         Prevent the trivial leak of information of allowing
6870         word motion when the entry is not visible.
6871
6872 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
6873
6874         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
6875         modality to error dialog as well as confirmation dialogs.
6876         (Bug #1803, reported by Rosanna Wing Sze Yuen)
6877
6878 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
6879
6880         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
6881         tree->view_lines.
6882         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
6883
6884         * gtk/Makefile.am (install-data-local): Solaris apparently
6885         has various troubles with ln -f; use rm first instead.
6886         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
6887
6888 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
6889
6890         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
6891         use `cp' followed by `rm' (the `rm' was already there).
6892
6893 July 30, 1999 Elliot Lee <sopwith@redhat.com>
6894         
6895         * configure.in: Fix autoconf warnings about cross compilation by
6896         trying to provide sane defaults for AC_TRY_RUN.
6897         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
6898         put them into $(srcdir) when generated. Also add a dependency of
6899         gtksignal.h on gtkmarshal.h for -j builds. 
6900         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
6901
6902 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
6903
6904         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
6905         GDK_THREADS_{LEAVE,ENTER} pair.
6906         (From Paul Fisher <pnfisher@redhat.com>)
6907
6908 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
6909
6910         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
6911         width and height are always >0 (owen).
6912
6913 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
6914
6915         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
6916         change that assured that a widget's allocated with and height are
6917         always >1, since this breaks *buggy* panel code. unfortunately this
6918         back-breaks the gimp's color selector.
6919
6920         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
6921         allocation is always >0 in width and height, before sending the
6922         configure event; this is a *gross* hack to get the gimp back to work.
6923         
6924         * marked both cases with TODO-1.3
6925
6926 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
6927
6928         * gtk/gtktext.c: Don't display wrap indicators when
6929         text is not editable and word wrap is on.
6930
6931 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
6932
6933         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
6934         option menus here as they are not derived from menu shell, assure that
6935         the option menu has a menu we can add items to.
6936
6937 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
6938
6939         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
6940         width/height to (gint) before calculations and check against < 0 to
6941         avoid guint wraparounds.
6942
6943 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
6944
6945         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
6946         width and height is never zero. sanity check both dimensions against
6947         32767 and issue a warning if the allocation is greater than that.
6948
6949 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
6950
6951         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
6952         to g_main_pending() as well.
6953
6954 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
6955
6956         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
6957         call to g_main_iteration() - since that will regrab
6958         GTK+ lock to process events.
6959
6960 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
6961
6962         * gtk/gtkwindow.c
6963         - Regularize with the rest of GTK+ by making widget->requisition
6964           not reflect the set_usize()
6965         - Always recompute geometry hints, then check if they
6966           changed before sending them to the X server. The
6967           previous checks for changes would fail in a number
6968           of circumstances. 
6969
6970 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
6971
6972         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
6973
6974 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
6975
6976         * gtk/gtkdnd.c:
6977         - Code cleanups
6978         - Instantaneously update on modifier key presses
6979         - Allow cancellation of the drag with Escape.
6980
6981 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
6982
6983         * gtk/testgtk.c (create_handle_box): Set the policy
6984         to auto_shrink - otherwise the appearance is rather
6985         strange when flipping between horizontal and vertical.
6986
6987 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
6988
6989         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
6990         (gtk_window_set_default_size): don't change a value if it's < 0.
6991         queue a resize.
6992
6993 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
6994
6995         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
6996
6997 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
6998
6999         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
7000         add an extra "/" when concating "/" + filename.
7001         (From Matt Grossman <mattg@oz.net>)
7002
7003 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
7004
7005         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
7006         for fg_gc if we set it for drawing pixmap.
7007
7008 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
7009
7010         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
7011         
7012         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
7013         already set, call old engine's destroy function and
7014         unref the old engine.
7015
7016 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
7017
7018         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
7019
7020 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
7021
7022         * gtk/gtkaccelgroup.h: mark certain functions as internal.
7023
7024 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
7025
7026         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
7027         expand behaviour changed.
7028
7029         * gtk/gtklabel.c (gtk_label_set_pattern):
7030         (gtk_label_set_justify):
7031         (gtk_label_set_line_wrap):
7032         don't bother invoking queue_clear, the reallocation does
7033         that for us, always free_words so the upcoming resize will
7034         relayout the label's contents.
7035
7036 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
7037
7038         * applied argument implementation patches from Elena Devdariani
7039         <elena@cogent.ca>.
7040
7041         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
7042         ::space_style, ::relief
7043         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
7044         * gtk/gtkpreview.c: ::expand
7045         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
7046         * gtk/gtknotebook.c: ::homogeneous
7047         * gtk/gtklabel.c: ::wrap
7048         * gtk/gtklist.c: ::selection_mode
7049         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
7050         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
7051         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
7052         * gtk/gtkclist.c: ::sort_type
7053         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
7054         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
7055
7056 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
7057
7058         * gtk/gtkstyle.c: Removed ill-thought-out part of last
7059         comment.
7060
7061 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
7062
7063         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
7064         counting right when we have to attach a new style
7065         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
7066
7067         * gtk/gtkstyle.c: Documented the refcounting
7068         peculularities of gtk_style_attach.
7069
7070 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
7071
7072         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
7073         window types.
7074
7075         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
7076         of GTK_TOPLEVEL for creating the window.
7077
7078 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
7079
7080         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
7081         the last argument (reported by Per Winkvist).
7082         
7083 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
7084
7085         Fixes for invisible XOR lines (Frank Loemker
7086         <floemker@TechFak.Uni-Bielefeld.DE>)
7087         
7088         * gtk/gtkclist.c (gtk_clist_realize): Always use
7089         a non-zero pixel for GDK_XOR.
7090
7091         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
7092         Use GDK_INVERT instead of GDK_XOR.
7093
7094 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
7095
7096         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
7097         signals if h/voffsets differ from adjustment values.
7098         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
7099
7100 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
7101
7102         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
7103         ::selection-done emissions up to the topmost menu shell.
7104
7105 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
7106
7107         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
7108         the user data on the window before destroying it.
7109
7110         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
7111         unrealize handler to take care of destroying 
7112         notebook->panel properly. 
7113         (Bug #1198 - Morten Welinder <terra@diku.dk>)
7114
7115         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
7116         of g_new and g_realloc to stop memory leak. (Actually,
7117         we could just use g_realloc(), but I'm not 100% sure
7118         that is portable).
7119         (Bug #1196 - Morten Welinder <terra@diku.dk>)
7120
7121 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
7122
7123         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
7124
7125         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
7126         for fontsets.
7127
7128         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
7129         with bin/button confusion.
7130
7131 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
7132
7133         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
7134         and show how preselection of radio items is done.
7135
7136 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
7137
7138         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
7139         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
7140         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
7141         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
7142         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
7143         * gtk/gtktable.c (gtk_table_attach): 
7144         * gtk/gtklist.c (gtk_list_insert_items): 
7145         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
7146         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
7147         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
7148         * gtk/gtkbin.c (gtk_bin_add): 
7149         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
7150         * gtk/gtkfixed.c (gtk_fixed_put): 
7151         * gtk/gtklayout.c (gtk_layout_put):
7152         general fixups to container_add logic. always realize child if
7153         child->parent is realized, only map the child and queue a resize
7154         if child and child->parent are both visible.
7155
7156 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
7157
7158         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
7159         instead of gtk_container_foreach to walk and unrealize children, so
7160         composite children get also unrealized.
7161         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
7162         (gtk_widget_map): assert that the widget is visible (basic constrain).
7163         (gtk_widget_real_map): assert that the widget is realized (basic
7164         constrain).
7165
7166 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
7167
7168         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
7169
7170 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
7171
7172         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
7173         file for iso-8859-2 locales.
7174
7175         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
7176
7177 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
7178
7179         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
7180          (Pointed out by andy@rz.uni-karlsruhe.de and others).
7181          Remove some suspicious and useless lines. 
7182
7183 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
7184
7185         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
7186         width,height = 0, 0 to mean - here to edge of window,
7187         instead of -1, -1, since the former is all we support.
7188
7189 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
7190
7191         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
7192         when removing from quit_functions list.
7193
7194 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
7195
7196         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
7197
7198 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
7199
7200         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
7201          When redrawing characters on non-visible entry, use appropriate
7202          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
7203
7204 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
7205
7206         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
7207         from drag coordinates.
7208         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
7209         use drag_dest_cell.
7210
7211         * gtk/gtktree (drag_dest_cell)
7212         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
7213         (Bug #1129)
7214
7215 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
7216
7217         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
7218         translate_* fields.
7219         (gtk_item_factory_finalize): invoke translate_notify independant from
7220         translate_data.
7221         (gtk_item_factory_set_translate_func): likewise.
7222         (gtk_item_factory_destroy): only remove ifactory pointer from those
7223         widgets that belong to us (stupid me).
7224
7225 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
7226
7227         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
7228         rc_style list when lookup succeeeds.
7229
7230 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
7231
7232         * gtk/gtkctree.c (resync_selection): 
7233         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
7234         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
7235         bug.
7236
7237 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
7238
7239         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
7240         Add some missing GDK_THREADS_ENTER()/LEAVE around
7241         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
7242
7243 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
7244
7245         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
7246         rather than emit_by_name.
7247
7248         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
7249         on the widget across multiple signal emissions.
7250         (gtk_editable_delete_text): same here.
7251         (gtk_editable_class_init): set widget_class->activate_signal after
7252         editable_signals[ACTIVATE] has been created.
7253
7254 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
7255
7256         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
7257         position here prematurely -- we might not have the
7258         right ->min_position and ->max_position yet.
7259
7260 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
7261
7262         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
7263         Add error traps so if the other end of the connection
7264         dies, we survive.
7265
7266         * gtk/gtkselection.c (gtk_selection_notify): Clean
7267         up properly when selection property retrieval fails.
7268         
7269         * gtk/gtkselection.c (gtk_selection_request): Correctly
7270         reject SelectionRequest notifies where the handler
7271         returns no data.
7272
7273 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
7274
7275         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
7276         when we've previously highlighted.
7277
7278         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
7279         emit two "drag_leave" signals for Motif drops.
7280
7281         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
7282         back the correct status messages when dropping from
7283         Motif onto a proxy window that is rejecting the
7284         drop.
7285
7286 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
7287
7288         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
7289         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
7290         to compare two argument values. added gtk_arg_to_valueloc() to set a
7291         variable from an arg through its location (pointer).
7292
7293         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
7294         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
7295         as gfloat*, uchars are collected as guchar*, ints are collected as
7296         gint*, etc...
7297
7298 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
7299
7300         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
7301         Include <string.h> instead of <strings.h>.
7302
7303         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
7304         (actually, a lot more duplicate includes occur if
7305          you trace through the sequence of #include's)
7306         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
7307         
7308 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
7309
7310         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
7311         gtk-a-higuti-990322-[0-3]
7312
7313         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
7314         that was causing -DX_LOCALE not to work.
7315
7316         * gtk/gtkrc.c (gtk_rc_init):
7317         X_LOCALE will never have LC_MESSAGES defined
7318
7319 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
7320
7321         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
7322         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
7323
7324         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
7325         left/right as well (gtk-michael-980726-0.patch.gz).
7326
7327         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
7328         for pointer values, use gchar instead of char. fixed uline allocation
7329         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
7330         chunks instead of G_ALLOC_ONLY.
7331         (gtk_label_size_request): always alter requisition as passed and leave
7332         widget->requisition alone.
7333         (gtk_label_set_text): allow NULL strings.
7334         (gtk_label_new): likewise.
7335
7336 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
7337
7338         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
7339
7340 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
7341
7342         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
7343         *and* mapped (i.e. drawable).
7344         (gtk_bin_expose): only send exposes to drawable children.
7345
7346         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
7347         (gtk_box_expose): only send exposes to drawable children.
7348
7349         * gtk/gtkhscale.c (gtk_hscale_draw): 
7350         * gtk/gtkvscale.c (gtk_vscale_draw):
7351         hm, this is an ugly one. we first compute the size of our trough area
7352         here (window relative) and then check intersection with the draw_area
7353         which is parent relative because we're a NO_WINDOW widget, so we need
7354         to offset the trough area by allocation.x and allocation.y before the
7355         check. (this must not be done for the background area though, since
7356         that's already computed parent relative).
7357
7358 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
7359
7360         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
7361         unrealize title buttons.
7362
7363 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
7364
7365         * gtk/gtkclist.c (gtk_clist_column_title_passive)
7366         (gtk_clist_column_title_active): 
7367         only connect/disconnect to GtkWidgetClass::event to block mouse events.
7368
7369         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
7370         zero initialize event, removed superfluous gdk_window_get_pointer call
7371
7372         * gtk/gtklist.c (gtk_list_vertical_timeout)
7373         (gtk_list_horizontal_timeout): removed superfluous
7374         gdk_window_get_pointer call
7375
7376 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
7377
7378         * plugging problems reported by "Bruce Mitchener, Jr."
7379         <bruce@puremagic.com> due to a purify session.
7380
7381         * gtk/gtkstyle.c:
7382         (gtk_style_ref): 
7383         (gtk_style_unref): assert ref_count to be > 0.
7384
7385         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
7386         the requisition.
7387         (gtk_clist_set_shift): likewise.
7388
7389         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
7390         adjustments.
7391
7392         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
7393         event before sending it and set send_event to TRUE (which needs to
7394         be done for *all* synthesized events).
7395         (gtk_list_vertical_timeout): likewise.
7396
7397         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
7398         leaks.
7399
7400         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
7401         to TRUE when synthesizing events.
7402
7403 [ *** end of merges from 1.2 *** ]      
7404         
7405 1999-11-21  Tor Lillqvist  <tml@iki.fi>
7406
7407         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
7408         (or copied from gdkconfig.h.win32 on Win32, sigh).
7409
7410         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
7411
7412         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
7413
7414         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
7415
7416         * gdk/gdkconfig.h.win32: New file.
7417
7418         * gdk/win32/makefile.cygwin: Build just a static archive here.
7419
7420         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
7421         for the DLL from the static archive built above.
7422
7423         * gdk/gdk.def: Moved here from the win32 subdirectory.
7424
7425         * gdk/win32/*: Adapt for the changed private struct organisation.
7426
7427         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
7428
7429 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
7430
7431         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
7432         for wheel mice (buttons 4 and 5).
7433
7434 1999-11-18  Tor Lillqvist  <tml@iki.fi>
7435
7436         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
7437         drawables use just the pixel field in the foreground and
7438         background GdkColor of the GdkGC.
7439
7440         gdk_gc_set_{fore,back}ground() are called in the GIMP with
7441         GdkColors containing uninitialized (red,green,blue) fields, and
7442         just the pixel field filled in, and furthermore in the
7443         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
7444         It thus turns out that we really don't need to have the full
7445         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
7446         it later to have just the pixel values.
7447
7448 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7449
7450         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
7451
7452 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
7453
7454         * docs/gtkfaq.sgml: threads example from Erik Mouw.
7455         New question on GtkLabel background colors.
7456
7457         * docs/gtk_tut.sgml:
7458           - Correct the example code callback
7459             function definitions.
7460           - Update the gtkdial example code, from Frans van Schaik.
7461           - Update setselection.c to current API.
7462
7463         * examples/Makefile examples/*/*.c: Update to code
7464         listed in tutorial.
7465
7466 1999-11-10  Tor Lillqvist  <tml@iki.fi>
7467
7468         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
7469         subrange table (from the "Developing International Software for
7470         WIndows 95 and Windows NT" book) was missing the Hangul syllable
7471         block... Get the loaded font's charset correctly.
7472
7473         (Note that this, and the other *-win32.c files, still really are
7474         the old ones, the win32 subdirectory is not ready for compilation
7475         yet after the reorg.)
7476
7477 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
7478
7479         * gtk/gtkclist.c: Fix off-by-one bug in parameter
7480         check.
7481
7482 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
7483
7484         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
7485         on results of XQueryDeviceState().
7486
7487 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
7488
7489         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
7490         we need to accesss only ->children. We need an accessor
7491         for the children.
7492
7493         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
7494         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
7495         to get rid of gdkx.h include.
7496         
7497         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
7498         and random references to 'None'.
7499
7500         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
7501         Get rid of unused #include <gdk/gdkx.h>
7502
7503         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
7504         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
7505         gdkconfig.h.
7506
7507 1999-11-08  Tor Lillqvist  <tml@iki.fi>
7508
7509         * gdk/win32/gdkdraw.c
7510         * gdk/win32/gdkfont.c
7511         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
7512         following yesterday's changes. (Unrelated to Owen's reorg.)
7513
7514 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
7515
7516         * gdk/x11/gdkinput-gxi.c: Add missing include,
7517           fix GdkWindowPrivate => GdkDrawablePrivate.
7518
7519         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
7520
7521         * gdk/x11/Makefile.am (xinput_sources): Add missing
7522         backslash to fix building with --with-xinput=none
7523
7524 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
7525
7526         Move all X specific code into the x11/ directory.
7527         Aside from shuffling things around, did the following:
7528
7529        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
7530          gdk_arg_context_* - a simple argument parsing system
7531          in the style of popt.
7532
7533        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
7534          gdk/x11/gdkprivate-x11.h:
7535          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
7536          add ->klass and ->klass_data fields. The klass_data
7537          field points to an auxilliary structure that is
7538          windowing system dependent.
7539
7540        * gdk/gdkfont.c: Make most of the measurement functions
7541          simply wrappers around gdk_text_extents().
7542
7543        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
7544          _gdk_font_strlen() function that hides the weird
7545          behavior in gtk+-1.[02] where a string is interpreted
7546          differently for 8-bit and 16-bit fonts.
7547
7548        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
7549          to store common code for synthesizing double/triple
7550          press events.
7551         
7552        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
7553          Make all the function that modify an existing GC
7554          simply wrappers around gdk_gc_set_values().
7555          
7556        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
7557          for throwing out later.
7558
7559        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
7560          GdkImagePrivate and GdkColormapPrivate to have a
7561          windowing system dependent part (GdkFontPrivateX etc.)
7562          that "derives" from the system-independent part.
7563
7564        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
7565          Got rid of the included-source-files for XInput in
7566          favor of automake conditionals. (Which didn't exist
7567          when XInput support was originally added.)
7568
7569        * gdk/gdkrgb.c: Remove the visual id from the debugging
7570          statements since that is X11 specific; print out
7571          type/depth info instead.
7572          
7573
7574 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
7575
7576         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
7577         loading duplicates of hashed fonts.
7578
7579         * gdk/gdk.c (gdk_keysym_convert_case): rename
7580         gdk_XConvertCase to gdk_keysym_convert_case, allow
7581         results to be NULL in the GTK+ style.
7582
7583         * gdk/gdkcompat.h: Started compatibility header
7584         for renames.
7585
7586 1999-11-07  Tor Lillqvist  <tml@iki.fi>
7587
7588         * gdk/win32/gdkprivate.h: New font private structures, related to
7589         fontsets.
7590
7591         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
7592         gdk_font_list_free(). On X11, will just be wrappers to
7593         XListFonts() and XFreeFontNames(). On Win32, the code previously
7594         in gtkfontsel.c is now here.
7595
7596         New function gdk_font_xlfd_create(). On X11 will get the FONT
7597         property of the font (for GDK_FONT_FONTs), or call
7598         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
7599         builds a XLFD style name from the font information in the LOGFONT
7600         struct(s).
7601
7602         New function gdk_font_xlfd_free(), which correspondingly frees the
7603         string returned by gdk_font_xlfd_create().
7604
7605         Implement fontsets on Win32. Add a function that iterates over a
7606         wide char string and calls a callback function for each substring
7607         of wide chars from the same Unicode subrange (and thus probably
7608         available in the same real font).
7609
7610         Improve the XLFD emulation a bit.
7611
7612         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
7613
7614         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
7615         Beta3, WM_IME_CHAR messages don't seem to contain the composed
7616         multi-byte char as with the Active IMM on Win9x. Oh well, handle
7617         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
7618         ImmGetCompositionStringW() to get the composed Unicode chars.
7619
7620         * gdk/win32/gdkgc.c
7621         * gdk/win32/gdkdraw.c: Changes needed because of the font private
7622         struct changes.
7623
7624         * gdk/win32/gdk.def: Add the new functions.
7625
7626 1999-11-04  Tor Lillqvist  <tml@iki.fi>
7627
7628         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
7629         get the Platform SDK to get <dimm.h>.
7630
7631         * gdk/win32/gdkevents.c: More event handling fixes and
7632         simplification. Never generate motion events with is_hint true. We
7633         used to do that on bogus grounds earlier. Windows sends
7634         WM_MOUSEMOVE messages on button events even if the mouse hasn't
7635         moved, ignore these.
7636
7637         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
7638
7639         * gdk/win32/gdkglobals.c
7640         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
7641         the TrackMouseEvent function, and use it.
7642
7643         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
7644         char before calling WideCharToMultiByte in order to get a string
7645         for the window title.
7646
7647         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
7648
7649         * gdk/win32/gdk.def: Remove obsolete functions.
7650
7651         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
7652         /nodefaultlib and /defaultlib switches.
7653
7654         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
7655
7656 1999-10-31  Tor Lillqvist  <tml@iki.fi>
7657
7658         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
7659         EuroSign).
7660
7661         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
7662         same type as GdkWChar, especially on Win32.
7663
7664         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
7665
7666         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
7667         before passing to Windows GDI for drawing etc. Convert to the
7668         system default codepage before passing to Windows as window
7669         titles.
7670
7671         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
7672         support changing input locale on the fly.
7673
7674         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
7675         on-the-fly changes. Convert incoming characters from the current
7676         codepage to Unicode (and then to a UTF-8 multi-byte string) based
7677         on the current input language. Use keysym<->Unicode mapping tables
7678         and functions borrowed from xterm sources.
7679
7680         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
7681         editions of Win9x, use the ActiveX-based Active IMM (Input Method
7682         Manager) if available. IMEs and the Active IMM are available under
7683         the disguise of Chinese, Korean and Japanese support for IE and
7684         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
7685         support is present in all editions (as long as you install it).
7686
7687         Call DispatchMessage from gdk_events_queue() (and thus
7688         gdk_WindowProc()), instead of duplicating the code in
7689         gdk_WindowProc().
7690
7691         Reworked the grab handling and propagation code, factored out
7692         duplicated code snippets into separate functions. Other cleanups,
7693         too.
7694
7695         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
7696         the <dimm.h> header describing the Active IMM.
7697
7698         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
7699         just do the same as for "single" fonts.
7700
7701         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
7702         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
7703         the new keysyms from gdkkeysyms.h.
7704
7705         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
7706         fontset, so that gtkentry uses wide characters.
7707
7708         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
7709         GTk+'s system directory "gtk+", not "gtk".
7710
7711 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
7712
7713         * docs/gtkfaq.sgml: FAQ update
7714
7715 1999-10-21  Tor Lillqvist  <tml@iki.fi>
7716
7717         * gdk/win32/gdkprivate.h: Add more font private data.
7718
7719         * gdk/win32/gdkfont.c
7720         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
7721         fonts and strings. Now works much better. You still have to
7722         have a correct font selected, though. No fontset emulation yet.
7723
7724 1999-10-19  Tor Lillqvist  <tml@iki.fi>
7725
7726         * gtk/maketypes.awk: Use G_OS_WIN32.
7727
7728         * gtk/gtk.def: Add some missing entry points. Also some non-public
7729         ones, but PyGTK porter claims to need them.
7730
7731         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
7732         built-in type generation.
7733
7734 1999-10-14  Tor Lillqvist  <tml@iki.fi>
7735
7736         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
7737         GDK_FONT_FONT fonts (which is all we have for now, we don't
7738         emulate fontsets). The X11 version uses plain XDrawString in that
7739         case, too. The string passed to gdk_draw_text_wc seems to be in
7740         fact (at least, when used by gtkentry and gtktext) either in a
7741         single-byte charset, or a DBCS. Not Unicode.
7742
7743         This fixes the problem in gtkfontsel, where even if you had
7744         selected a font with a non-Latin1 charset (windows-greek, for
7745         instance), the preview still used Latin-1 glyphs.
7746
7747         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
7748         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
7749         (gdk_font_load): Recognize the demibold etc weights, even if we
7750         don't have the corresponding constants in the headers.
7751         (gdk_font_hash_insert): Use same hash mechanism as in the X11
7752         version. Should save font resources a bit, when we don't have
7753         multiple HFONTs for the same font.
7754
7755         * gdk/win32/gdkprivate.h: Add the names field as in the X11
7756         version.
7757
7758 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
7759
7760         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
7761         X values
7762
7763 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
7764
7765         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
7766         layout support (as mentioned on
7767         http://www.jcinteractive.com/gnome-ui/software/widgets/)
7768
7769 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
7770
7771         * gtk/fnmatch.c
7772         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
7773
7774 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
7775
7776         * configure.in (ALL_LINGUAS): Added Galician (gl)
7777
7778 1999-10-05  Tor Lillqvist  <tml@iki.fi>
7779
7780         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
7781
7782         * gdk/win32/gdkcompat.c: New file, actually provide an
7783         implementation for the deprecated functions. (Just temporarily.)
7784
7785         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
7786
7787         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
7788
7789         * gdk/win32/gdk.def gtk/gtk.def: Updates.
7790
7791 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
7792
7793         * configure.in: Added "uk" to ALL_LINGUAS.
7794         
7795 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
7796
7797         * configure.in: correct checking for BeOS check
7798
7799         * gdk/gdktypes.h
7800         * gtk/fnmatch.c
7801         * gtk/gtkfilesel.c
7802         * gtk/gtkitemfactory.c
7803         * gtk/gtkmain.[ch]
7804         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
7805
7806 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
7807
7808         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
7809         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
7810         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
7811         by Bulgarian). 
7812
7813 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
7814
7815         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
7816         Fix a reference to window_private->destroyed.   
7817
7818         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
7819         (ugly) setting of an internal GdkWindow member to use
7820         a _slightly_ cleaner macro.
7821
7822         * gdk/gdkprivate.h: Split GdkWindowPrivate into
7823         GdkDrawablePrivate and GdkWindowPrivate.
7824         Add extra macros for accessing GDK_DRAWABLE_ components.
7825
7826         * *.[ch]: Massive adjustments for the above, use the
7827         new macros in a lot of places.
7828
7829 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
7830
7831         * gdk/gdktypes.h: Make GdkDrawable the base type,
7832         not GdkWindow.
7833
7834 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
7835
7836         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
7837
7838 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
7839
7840         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
7841
7842 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
7843
7844         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
7845         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
7846
7847         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
7848
7849         * docs/gtk-config.1: Now autogenerated.
7850         * docs/Changes-1.4.txt: started
7851         
7852 1999-10-03  Tor Lillqvist  <tml@iki.fi>
7853
7854         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
7855         to #ifdef also here.
7856
7857         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
7858         Owen did to the X11 backend.
7859
7860         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
7861         ScrollWindowEx when blitting inside a window, it can't be correct
7862         in the general case.
7863
7864         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
7865         WM_GETMINMAXINFO is easier.
7866
7867         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
7868         depth equal to the bitspixel value, not the visual's depth.
7869
7870         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
7871         to 24 even if the bitspixel value is 32.
7872
7873         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
7874         need to check for depth==32 when bpp==32, depth will always be 24.
7875
7876 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
7877
7878         * docs/Changes-1.4.txt: Started
7879         
7880         * gtk/Makefile.am (gdk_headers): Include all the new headers.
7881
7882         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
7883         
7884         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
7885         into C file.
7886         
7887         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
7888         header to gdkinputprivate.h.
7889
7890         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
7891         unused since before 1.2.
7892
7893 1999-09-30  Tor Lillqvist  <tml@iki.fi>
7894
7895         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
7896         expand possible hex escapes in the font family (put there by
7897         logfont_to_xlfd if the font name isn't a legal XLFD font family,
7898         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
7899         On Win32, add hex escapes here, too.
7900
7901 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
7902
7903         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
7904         to #ifdef GDK_WINDOWING_X11.
7905
7906 [ Merges from gtk-1-2 ]
7907
7908 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
7909
7910         * configure.in: fixed "GNU Make" check to pass with new make version
7911         3.77.95.
7912
7913 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
7914
7915         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
7916         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
7917         AM_PATH_GTK() macros don't get confused by the -pre1.
7918
7919 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
7920
7921         * configure.in (REBUILD): Change check for perl5
7922           to check explicitely for v >= 5.002. (5.001
7923           does not work with our scripts.)
7924
7925 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
7926
7927         * configure.in: evaluate $PERL for the perl version check. added
7928         --disable-rebuilds to give the user an option to completely disable
7929         any source autogeneration rules.
7930
7931 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
7932
7933         * configure.in: evaluate $ac_make when checking for GNU Make.
7934
7935 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
7936
7937         * docs/Makefile.am: added generation.txt.
7938
7939         * Makefile.am: require automake 1.4, build README from README.in and
7940         INSTALL from INSTALL.in in dist-hook.
7941         
7942         * README.in:
7943         * INSTALL.in: new files to autogenerate README and INSTALL from.
7944
7945         * configure.in: figure whether we have GNU Make
7946
7947         * docs/generation.txt: minor additions/corrections.
7948
7949 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
7950
7951         * docs/gtkfaq.sgml: FAQ Update
7952
7953 July 30, 1999 Elliot Lee <sopwith@redhat.com>
7954         
7955         * configure.in: Fix autoconf warnings about cross compilation by
7956         trying to provide sane defaults for AC_TRY_RUN.
7957
7958 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
7959
7960         * ltconfig
7961         * ltmain.sh: upgrade to libtool 1.3.3
7962
7963 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
7964
7965         * INSTALL: Indicate that the --with-glib= configure
7966         time flag is unsupported.
7967
7968 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
7969
7970         * docs/generation.txt: Added a file that gives
7971         documenation about the autogeneration process for
7972         various autogenerated files.
7973         
7974 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
7975
7976         * configure.in (LIBS): Look for libgmodule in the
7977         right location.
7978
7979 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
7980
7981         * docs/gtk_tut.sgml: Removed references to
7982         code examples in my directory on gtk.org as
7983         they should all be in the tutorial now.
7984
7985         * docs/gtk_tut.sgml: Added sources for dial-test
7986         and scribble-xinput programs that were previously
7987         missing.
7988
7989 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
7990
7991         * TODO: Added entry about menu keyboard navigation, removed
7992         some finished items.
7993
7994 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
7995
7996         * acinclude.m4: Standardize on func_dgettext
7997         not func_gettext, so that the checks for dgettext
7998         actually are paid attention to.
7999
8000 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
8001
8002         * configure.in (LIBS): Add $INTLLIBS into $LIBS
8003         directly, rather than repeating the checks for
8004         gettext.
8005
8006         * INSTALL: Added information about gettext and
8007         NLS support.
8008
8009         * acinclude.m4 (LIBM): Check for dgettext, not
8010         just gettext. This should hopefully fix things wrt
8011         systems with old versions of GNU gettext installed.
8012
8013 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
8014
8015         * configure.in (LIBS): Look for libgmodule in the
8016         right location.
8017
8018 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
8019
8020         * autogen.sh: add --enable-maintainer-mode
8021
8022         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
8023
8024 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
8025
8026         * docs/gtk-config.1.in:
8027           docs/Makefile.am:
8028           configure.in: gtk-config is now generated.
8029
8030         * docs/gtk-config.1: Removed, now generated.
8031
8032 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
8033
8034         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
8035         handle CreateNotify itself, still put out a debuging message for
8036         --gdk-debug=events. made the ReparentNotify debugging message more
8037         verbose.
8038         wrap xcoords translation for ConfigureEvents into an error trap,
8039         a destroy event may already be pending, and in that case, the
8040         actuall coordinate values are not at all critical.
8041
8042 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
8043
8044         * gdk/gdkcc.c: Stop leaking the color_hash all over
8045         the place. Simplify and improve the logic.
8046
8047 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
8048
8049         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
8050         for prototypes and function implementations consistent (reported
8051         by Tomas Ogren).
8052
8053 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
8054
8055         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
8056         send_event set in debugging output.
8057         (gdk_compress_exposures): default initialize the event so we don't
8058         operate on bogus values (namely send_event).
8059
8060 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
8061
8062         * gdk/gdkwindow.c: When we receive an unexpected
8063         destroy notify on one of our windows, don't just
8064         warn about it, also mark our windows as destroyed.
8065
8066 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
8067
8068         * gdk/gdkfont.c (gdk_font_hash_insert): Add
8069           name => font and name => fontset hashes. The 
8070           name => fontset hash is a _big_ win since we
8071           weren't previously caching fontsets at all and loading
8072           fontsets is expensive. The name => font hash
8073           is less of a win, but it does save us from doing
8074           repeated XQueryFont calls on the same font.
8075
8076         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
8077           list so we can remove font/fontset from hash.
8078
8079 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
8080
8081         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
8082           and slightly confusing test. [ XInternAtom (,,TRUE)
8083           will never return None ].
8084
8085 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
8086
8087         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
8088           gdk/gdkwindow.c (gdk_window_set_hints):
8089
8090         Don't omit setting the properties if flags == 0 -
8091         there may be an existing set of properties there
8092         already. (Very old bug. Would it be better to
8093         delete the property instead?)
8094
8095         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
8096           spelling error in comment.
8097
8098 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
8099
8100         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
8101           to avoid stomping over gdk_error_warnings.
8102
8103         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
8104           as (bits_per_pixel + 7) / 8. This gives the same
8105           result as before for multiples of 8, but actually
8106           a "reasonable" value for 1bit or 4bit displays.
8107
8108 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
8109
8110         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
8111         GNU Make.
8112
8113 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
8114
8115         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
8116         discarding configure events.
8117
8118 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
8119
8120         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
8121         refcount is greater than zero.
8122
8123         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
8124
8125         * gdk/gdkfont.c (gdk_font_unref): Likewise.
8126
8127         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
8128
8129         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
8130
8131 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
8132
8133         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
8134         that format 32 => sizeof(item) == 4. It really is
8135         sizeof(long).
8136
8137 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
8138
8139         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
8140         core dump at all on X IO errors, only core dump
8141         if --enable-debug for X errors.
8142
8143 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
8144
8145         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
8146         unknown window:" message. disabled ConfigureNotify discarding code,
8147         because it led to events being processed out of order.
8148
8149 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
8150
8151         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
8152
8153         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
8154         we export this function, supress error warnings and don't reset the
8155         error code in the first half of this function.
8156
8157         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
8158         code (instead of just -1) so gdk_error_trap_pop() reveals something
8159         actually informative about the error that happened.
8160
8161         * gdk/*.c:
8162         don't rely on gdk_error_code being -1 if an error occoured, but just
8163         gdk_error_code != 0.
8164
8165 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
8166
8167         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
8168         pointer *before* invoking the filter function, so we at least don't
8169         crash if a filter is removed that is currently executed. window filters
8170         *really* need to be made truely reentrant at some point.
8171
8172 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
8173
8174         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
8175         PropertyNotify debug messages.
8176
8177 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
8178         
8179         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
8180         
8181         * gdk/gdkim.c: Fix cut-and-paste errors for 
8182         x/y and PreeditAttributes/StatusAttributes.
8183
8184 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
8185
8186         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
8187         G_MAXINT to 2^16 to alleviate overflow problems in
8188         various window managers.
8189
8190 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
8191
8192         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
8193         for fontsets.
8194
8195 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
8196
8197         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
8198         Initialize size_hints.x and size_hints.y because kwm
8199         brokenly pays attention to them.
8200         (Bug #1181 -  Lars Heete <hel@admin.de>)
8201
8202 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
8203
8204         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
8205         return value of gdk_list_visuals(). 
8206         (Bug #1193 - Morten Welinder <terra@diku.dk>)
8207
8208 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
8209
8210         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
8211         XSetIMValues to (void *) when comparing to NULL, to workaround
8212         the problem of some compilers barfing since older X headers don't
8213         have the prototype for it.
8214
8215 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
8216
8217         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
8218         for pseudocolor where colormap->colors was double
8219         allocated.
8220
8221         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
8222         color value in the hash table with the pixel filled
8223         in so when we do later hash table lookups, the color
8224         value is correct.
8225         
8226 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
8227
8228         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
8229         making the call
8230
8231 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
8232
8233         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
8234         pointed out by Morten Welinder <terra@diku.dk>.
8235
8236 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
8237
8238         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
8239           default filter from the list
8240
8241 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
8242
8243         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
8244           default filter from the list
8245
8246 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
8247
8248         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
8249
8250         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
8251         g_strdup_printf instead of calcing the length separately
8252
8253 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
8254
8255         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
8256         that we don't do in many other places. (Fixing duplicate 
8257         #include of config.h)
8258
8259         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
8260         Otherwise, #ifndef XINPUT_NONE check in the latter
8261         doesn't work. (Bug #546)
8262
8263 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
8264
8265         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
8266         "None" case insensitive.
8267
8268 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
8269
8270         * gdk/gdkselection.c: 
8271         Add error traps so if the other end of the connection
8272         dies, we survive.
8273
8274 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
8275
8276         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
8277         dest_xid field into two fields - one for the window
8278         to send in messages, one to indicate the last looked
8279         up window for caching purposes. This is needed, so
8280         that Leave messages get the correct window.
8281
8282 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
8283
8284         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
8285         Fix warning created by people mucking around
8286         with the gsource API.
8287
8288         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
8289         Change mapping between GIOCondition and GdkInputCondition
8290         to match the way the Linux kernel does it. This should
8291         fix problems where closed pipes were no longer signalling
8292         GDK_INPUT_READ on systems with a native poll().
8293
8294 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
8295
8296         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
8297         explicitly for the string "None" - it is in the XPM
8298         spec and some servers treat unknown colors in odd ways
8299         (like asking the user!)
8300
8301 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
8302
8303         * gdk/gdkevents.c: made "->" into a "." of previous change so
8304         it compiles
8305
8306 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
8307
8308         * gdk/gdkevents.c (gdk_compress_exposures): Set the
8309         window field of the event structure before calling
8310         user filters.
8311
8312 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8313
8314         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
8315         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
8316
8317 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
8318
8319         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
8320         intermediate text property - prevents major memory
8321         leak when gdk_use_mb.
8322         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
8323
8324 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
8325
8326         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
8327         gtk-a-higuti-990322-[0-3]
8328
8329         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
8330         sizeof(wchar_t) != sizeof (GdkWChar)
8331
8332         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
8333         that was causing -DX_LOCALE not to work.
8334
8335         * gtk/gtkrc.c (gtk_rc_init):
8336         X_LOCALE will never have LC_MESSAGES defined
8337
8338         * gdk/gdk.c (gdk_init_check):
8339         Remove --xim-preedit and --xim-status from argv properly.
8340
8341         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
8342         that the client window is present on the X server
8343         before we pass it to the input method.
8344
8345 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
8346
8347         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
8348         if --display is specified on the command line, than
8349         the drag window will not be created on that display.
8350         
8351 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
8352
8353         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
8354         lookups with only_if_exists == TRUE were inserting
8355         bogus values into the atom cache.
8356
8357 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
8358
8359         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
8360         then reset it to NULL.
8361
8362         * gdk/gdkcolor.c:
8363         (gdk_colors_free): 
8364         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
8365         key for g_hash_table_remove() in both functions, this prevents us
8366         from accessing possibly uninitialized portions of a GdkColor structure
8367         where we are only interested in its pixel value.
8368
8369 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
8370
8371         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
8372         font hash table, if we have a GdkFontPrivate entry for this font
8373         already, simply increment its reference count, provided by Olaf Dietsche
8374         <olaf.dietsche+list.gtk@netcologne.de>.
8375
8376 1999-09-21  Tor Lillqvist  <tml@iki.fi>
8377
8378         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
8379         just to be sure.
8380
8381         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
8382         unused variables, leftovers from the X11 version.
8383
8384         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
8385
8386         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
8387         downcase fields on X11.
8388
8389 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
8390         
8391         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
8392         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
8393
8394 1999-09-17  Tor Lillqvist  <tml@iki.fi>
8395
8396         * gdk/win32/gdk.def: Add gdk_threads_mutex.
8397
8398         * gtk/makefile.msc: Correct path to libintl.
8399
8400         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
8401         use of gint vs. int, and gint vs. gboolean in headers and
8402         definitions. Use GtkType for the *_get_type functions. Note that
8403         these changes preserve binary compatibility.
8404
8405         * gdk/gdk.c
8406         * gdk/win32/gdk.c
8407         * gdk/gdk.h: Fix inconsistencies: gint vs int.
8408
8409         * gtk/gtkmain.c
8410         * gtk/gtkclist.c
8411         * gtk/gtkmenufactory.c
8412         * gtk/gtknotebook.c
8413         * gtk/gtkwidget.c: Fix inconsistencies, also gint
8414         vs. gboolean.
8415
8416         * gtk/gtkcolorsel.[ch]
8417         * gtk/gtkcombo.[ch]
8418         * gtk/gtkdrawingarea.[ch]
8419         * gtk/gtkgamma.[ch]
8420         * gtk/gtkhandlebox.[ch]
8421         * gtk/gtkhpaned.[ch]
8422         * gtk/gtkhruler.[ch]
8423         * gtk/gtkplug.[ch]
8424         * gtk/gtkpreview.[ch]
8425         * gtk/gtkruler.[ch]
8426         * gtk/gtksocket.[ch]
8427         * gtk/gtkstatusbar.[ch]
8428         * gtk/gtktoolbar.[ch]
8429         * gtk/gtkvbbox.[ch]
8430         * gtk/gtkvpaned.[ch]
8431         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
8432         functions.
8433
8434         * gtk/gtkgamma.h: Fix bug, missing () in call of
8435         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
8436
8437 1999-09-14  Tor Lillqvist  <tml@iki.fi>
8438
8439         * gdk/gdkcolor.c (gdk_colormap_new)
8440         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
8441         colormap->colors was allocated twice.
8442
8443         * gdk/win32/gdk.c: Remove some unused stuff.
8444
8445         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
8446         colormap.
8447
8448         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
8449         * gtk/gtklabel.h (gtk_label_get_type)
8450         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
8451         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
8452         in a couple of places, not guint.
8453
8454 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
8455
8456         * configure.in,po/et.po: added Estonian language file
8457
8458 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
8459
8460         * configure.in,po/da.po: added Danish file
8461
8462 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
8463
8464         * docs/gtkfaq.sgml: Minor FAQ Update
8465
8466 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
8467
8468         * docs/gtkfaq.sgml: FAQ update
8469
8470 1999-08-27  Tor Lillqvist  <tml@iki.fi>
8471
8472         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
8473         way to get window contents continually refreshed while resizing. I
8474         didn't like the effects myself, so it's not on by default.
8475
8476         * gdk/win32/gdkprivate.h: New flag variable
8477         gdk_event_func_from_window_proc, FALSE by default.
8478
8479         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
8480         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
8481         are passed --gdk-event-func-from-window-proc.
8482
8483         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
8484         and we have am event_func, call it instead of enqueing the event.
8485
8486 1999-08-23  Tor Lillqvist  <tml@iki.fi>
8487
8488         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
8489         Kelley: Set expose_count in GdkEventExposes correctly.
8490
8491         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
8492         MULTIPLE_WINDOW_CLASSES).
8493
8494         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
8495         for bug in NT, apparently NT *does* draw the end pixel, too, in
8496         LineTo with a one-pixel pen, so we don't have to do it ourselves.
8497
8498 1999-08-21  Tor Lillqvist  <tml@iki.fi>
8499
8500         Improvements by Hans Breuer: 
8501
8502         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
8503
8504         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
8505         CS_?REDRAW flags as they cause lots of (late) redraws when "show
8506         window contents while dragging" is turned on. Allocate at least
8507         one unique class for every GdkWindowType. If support for single
8508         window-specific icons is ever needed (eg. Dialog specific), every
8509         such window should get its own class.
8510
8511 1999-08-19  Tor Lillqvist  <tml@iki.fi>
8512
8513         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
8514         error that caused crashes.
8515
8516 1999-08-17  Tor Lillqvist  <tml@iki.fi>
8517
8518         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
8519         window, use ScrollWindowEx, and call UpdateWindow. This prevents
8520         bugs when for instance part of the window was outside the
8521         display. Thanks to Philippe Colantoni for finding and fixing this.
8522
8523 1999-08-16  Tor Lillqvist  <tml@iki.fi>
8524
8525         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
8526         endpoint calculations which were totally wrong. (A little RTFMing
8527         helps a lot ;-)
8528
8529         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
8530         from a separate directory, not from gettext, because of licensing
8531         issues (we want to use the LGPL version).
8532
8533         * README.win32: Mention the intl from glibc vs from gettext issue.
8534
8535 1999-08-13  Tor Lillqvist  <tml@iki.fi>
8536
8537         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
8538         in the key event handling: Now AltGr chars work again. Also,
8539         now Alt-digits are passed up as well as Control-digits.
8540         Pass keypad plus and minus as normal plus and minus.
8541
8542 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
8543
8544         * docs/gtkfaq.sgml: FAQ Update
8545
8546 1999-07-25  Tor Lillqvist  <tml@iki.fi>
8547
8548         * README.win32
8549         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
8550         the Wintab SDK.
8551
8552         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
8553         OK, but getting closer. Guard against bogus tilt data from Wacom
8554         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
8555         enable easier building without Wintab.
8556
8557         * gdk/win32/gdkinput.h
8558         * gdk/win32/gdkevents.c 
8559         * gdk/win32/gdkwindow.c: Minor changes related related to above.
8560         
8561         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
8562         code. As we have just one visual on Win32, no sense to have it in a
8563         table, and no need for the hash table.
8564
8565         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
8566         better on white background.
8567
8568 1999-07-21  Tor Lillqvist  <tml@iki.fi>
8569
8570         * README.win32: Update gcc build instructions. Mention gettext is
8571         GPL.
8572
8573         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
8574         supported cursor size with GetSystemMetrics.
8575
8576         * gdk/win32/gdkfont.c
8577         * gtk/gtkfontsel.c: Guard against some font weight and charset
8578         symbols being undefined (in mingw32 headers).
8579
8580         * gdk/win32/makefile.cygwin
8581         * gtk/makefile.cygwin
8582         * gtk/gtkthemes.c: No longer need to have differently named
8583         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
8584
8585 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
8586
8587         * docs/gtkfaq.sgml: Long awaited FAQ update.
8588
8589 1999-07-15  Tor Lillqvist  <tml@iki.fi>
8590
8591         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
8592         it. Obscure bit manipulation needed.
8593
8594         * gdk/win32/gdkevents.c: Logging.
8595         
8596         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
8597         style (file name include compiler name) for theme engines.
8598
8599 1999-07-13  Tor Lillqvist  <tml@iki.fi>
8600
8601         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
8602
8603         * gdk/win32/gdkevents.c: Fix long-standing bug in key
8604         events. The key.string wasn't zero-terminated, still we strdup'ed
8605         it in gdk_event_copy(). Synthesize crossing events for button
8606         events before possible propagation.
8607
8608         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
8609
8610         * gdk/win32/makefile.cygwin
8611         * gtk/makefile.cygwin: Use new DLL naming style for the
8612         GCC-compiled ones.
8613
8614         * gdk/win32/makefile.msc
8615         * gtk/makefile.msc: Cosmetics mostly.
8616
8617         * gtk/gtk.def: Add missing entry points.
8618
8619         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
8620
8621 1999-07-09  Tor Lillqvist  <tml@iki.fi>
8622
8623         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
8624         or height is zero. Don't print a warning if Pie or Arc fails, they
8625         always fail (?) for very narrow ellipses.
8626
8627         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
8628         the part or the destination window corresponding to source area
8629         outside of the source drawable's boundary.
8630
8631         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
8632         anything if less than two points.
8633
8634         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
8635         return NULL. Gtk cut-and-paste inside a single program works
8636         better this way. (It always gets the clipboard contents from
8637         Windows, not from its own copy, which is cleared anyway. I can't
8638         say I fully understand what happens... Emulating the X selection
8639         and property stuff is a bit of a mess.)
8640
8641         * gdk/win32/gdkevents.c
8642         * gdk/win32/gdkproperty.c: A bit more verbose logging.
8643
8644         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
8645         that never got deleted). Revamp gdk_region_shrink.
8646
8647         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
8648         after use.
8649
8650         * gtk/gtk.def: Add some missing entry points.
8651
8652         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
8653         component.
8654
8655 1999-07-04  Tor Lillqvist  <tml@iki.fi>
8656
8657         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
8658         Control-digits specially.
8659
8660 1999-07-03  Tor Lillqvist  <tml@iki.fi>
8661
8662         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
8663
8664 1999-06-28  Tor Lillqvist  <tml@iki.fi>
8665
8666         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
8667         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
8668         finding this.)
8669
8670 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
8671
8672         * gtk+.spec.in: Corrected some typos in files section.
8673         
8674 1999-06-15  Tor Lillqvist  <tml@iki.fi>
8675
8676         * README.win32: Mention using GNU gettext.
8677         * config.h.win32: Enable NLS stuff.
8678         * gtk/makefile.msc: Use GNU gettext.
8679         * gdk/win32/gdkdnd.c: Minor header reorg.
8680         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
8681         cosmetics.
8682         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
8683         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
8684
8685 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
8686
8687         * acinclude.m4
8688         * config.guess
8689         * config.status
8690         * ltconfig
8691         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
8692
8693 1999-05-30  Tor Lillqvist  <tml@iki.fi>
8694
8695         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
8696         SafeAdjustWindowRectEx. Don't override all calls to
8697         AdjustWindowRectEx by it, but use it only in two places: When
8698         creating a new top-level window and when moving a top-level
8699         window.
8700
8701         Use screen coordinate rectangle, not client rectangle, in
8702         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
8703         when we try to place a window so that the decoration (mainly,
8704         title bar) isn't visible.
8705
8706         These changes fix the bug that showed up for instance as the
8707         GIMP's saved top-level windows moving right and down (by an amount
8708         equal to the window decoration) for each session. This bug showed
8709         up also in testgtk's "Saved Position".
8710
8711         gdk_window_resize also redone a bit.
8712
8713 1999-05-25  Tor Lillqvist  <tml@iki.fi>
8714
8715         * gtk/testgtkrc: Add (commented out) Windows-style theme
8716         include line.
8717
8718         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
8719
8720 1999-05-18  Tor Lillqvist  <tml@iki.fi>
8721
8722         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
8723         gdkx.h to a gdk subdirectory, so that applications can include
8724         these with <gdk/*.h> without trouble.
8725
8726         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
8727         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
8728         have their bitmap destroyed.
8729
8730         * gdk/win32/gdk.def: Add gdk_root_parent.
8731
8732 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
8733
8734         * configure.in
8735           gtk-config.in
8736           ltconfig
8737           ltmain.sh     
8738           gtk/Makefile.am: changes to compile nicely (with xlib) 
8739           on BeOS
8740
8741 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
8742
8743         * acinclude.m4
8744         * config.guess
8745         * config.sub
8746         * ltconfig
8747         * ltmain.sh: upgrade to libtool 1.3
8748
8749 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
8750
8751         * gtk/gtkclist.c:
8752         * gtk/gtkctree.c: merges from gtk-1-2
8753
8754 1999-04-25  Tor Lillqvist  <tml@iki.fi>
8755
8756         Support added for building using a GNU toolchain on Win32,
8757         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
8758
8759         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
8760         * config.h.win32: Changes for gcc.
8761         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
8762         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
8763         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
8764         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
8765         Protect shl stuff unavaiilable with mingw32 headers.
8766         * gdk/win32/gdkevents.c: Fix typo.
8767         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
8768         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
8769         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
8770         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
8771         the mingw32 headers.
8772         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
8773         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
8774         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
8775         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
8776         Test for NATIVE_WIN32, not _MSC_VER.
8777         * gtk/gtkmain.c: No use warning about developer version on Win32,
8778         there aren't any non-developer versions anyhow.
8779         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
8780         * gtk/makefile.msc: Use pthread from another directory. Minor other
8781         changes. 
8782
8783 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
8784
8785         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
8786           default filter from the list
8787
8788 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
8789
8790         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
8791          when gtk_widget_grab_default() is called for a widget that
8792          is not within a GtkWindow.
8793
8794 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
8795
8796         * docs/gtk_tut.sgml, examples/clist.c: use a
8797           scrolled window in the clist example. Minor
8798           tutorial fixes.
8799
8800 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
8801
8802         * docs/gtk_tut.sgml: Style check from David King
8803           <dking@youvegotmail.net>
8804
8805 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
8806
8807         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
8808         compile with unknown value of GDK_WINDOWING
8809
8810 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
8811
8812         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
8813         after the rule is fired.
8814         (install-exec-local): Install gdkconfig.h only if the contents are
8815         different from the currently installed gdkconfig.h.
8816
8817 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
8818
8819         * gdk/Makefile.am (configexecincludedir): Rename from 
8820         configincludedir so that gdkconfig.h will be installed 
8821         as part of `make install-exec'. 
8822
8823 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
8824
8825         * acinclude.m4
8826         * config.guess
8827         * config.sub
8828         * ltconfig
8829         * ltmain.sh: upgrade to libtool 1.2f
8830
8831         * autogen.sh: libtool is not required to autogen gtk+
8832
8833         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
8834         needed)
8835
8836 1999-03-18  Tor Lillqvist  <tml@iki.fi>
8837
8838         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
8839         declaring gdk variables exported/imported from the DLL. New image
8840         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
8841         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
8842         GDK_DRAG_PROTO_OLE2.
8843
8844         * gdk/gdk.h: Merge in Win32 version: Two new functions,
8845         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
8846         declared only for the Win32 version, but could be in the X11
8847         version as well. (Needed for a Xlib-less gdk_imlib.)
8848         gdk_color_hash should have only one parameter. Declare
8849         gdk_threads_mutex with GDKVAR.
8850         
8851         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
8852         just one parameter.
8853
8854         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
8855         per pixel, not bits.
8856
8857         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
8858         Fetch bpp (which means bits-per-pixel here) from another place on
8859         Win32. Accept also depth==32 (which we might get on Win32) with
8860         bpp==32.
8861
8862         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
8863         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
8864         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
8865         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
8866         in the backend-dependent directory, not in the common gdk
8867         directory.
8868
8869         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
8870         headers.
8871
8872 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
8873
8874         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
8875         want to use the Gtk+ devel version (which is true, and yes - even i am
8876         currently working with the 1.2.x branch). so everyone reading this, you
8877         probably want to issue
8878         cvs checkout -r glib-1-2 glib
8879         and
8880         cvs checkout -r gtk-1-2 gtk+
8881         as your next two comands.
8882
8883 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
8884
8885         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
8886         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
8887
8888         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
8889         file. strongly deprecated the GTK_HAVE_* macros, we provide
8890         GTK_CHECK_VERSION() for people that need to check for certain
8891         Gtk+ versions.
8892
8893         * gtk/gtkcompat.h: removed this from CVS.
8894         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
8895         idea right from the start, it just didn't seem like that back then.
8896
8897 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
8898
8899         * merges from gtk-1-2:
8900
8901 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
8902
8903         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
8904         item factory class has been created.
8905         (gtk_item_factory_parse_rc): likewise.
8906
8907         * gtk/gtkmenu.c:
8908         keep proper references for old_active_menu_item.
8909         (gtk_menu_reparent): unset the usize of the new parent,
8910         so the menu can sanely be size requested and we don't get nasty screen
8911         artefacts upon next reparentation.
8912         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
8913         enter notify. only synthesize enter notifies if the pointer really is
8914         inside the event window.
8915         (gtk_menu_popdown): use gtk_menu_shell_deselect().
8916         (gtk_menu_popup): move the background setting stuff into
8917         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
8918
8919         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
8920         gtk_menu_shell_select_item() to select the new item.
8921         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
8922         do the right thing for deselection as well.
8923
8924 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
8925
8926         * gtk/gtkwidget.[hc]:
8927         (gtk_widget_accelerators_locked): return whether a widget's accelerators
8928         are locked.
8929
8930         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
8931         existing accelerators if the widget's accelerators are locked.
8932
8933 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
8934
8935         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
8936
8937         * gtk/gtkmenu.c: truely forward key press and key release events to
8938         the menu widget from the toplevel or tearoff window. we can't simply
8939         connect to that, we need to stop further processing of the events as
8940         well.
8941
8942 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
8943
8944         * gtk/gtkmenu.c:
8945         (gtk_menu_key_press): pass event->keyval, event->state to
8946         gtk_accelerator_valid, instead of event->keyval twice.
8947         refuse to install single letter accelerators for menus that use
8948         single letter shortcuts.
8949
8950         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
8951         gtk_menu_ensure_uline_accel_group().
8952
8953         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
8954         which will always return an uline accel group, made
8955         gtk_menu_get_uline_accel_group() return NULL if the group isn't
8956         yet created.
8957
8958 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
8959
8960         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
8961
8962         * gtk/gtkclist.c (gtk_clist_column_title_passive):
8963         Leave button sensitive, trap  button_press, button_release,
8964         motion_notify, enter_notify and leave_notify events instead.
8965         (gtk_clist_column_title_active): disconnect event handler.
8966         (gtk_clist_drag_data_get): fixed memory leak. Reported by
8967         Guillaume Laurent <glaurent@worldnet.fr>
8968
8969 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
8970
8971         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
8972         width/height mixups.
8973
8974         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
8975         if needed.
8976
8977 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
8978
8979         * gtk/testgtk.c (create_item_factory): unref the item factory after
8980         window's destruction.
8981
8982         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
8983         count on the menu shell around the menu item's activation, since the
8984         signal emission may cause menu shell destruction.
8985
8986         * gtk/gtkitemfactory.c:
8987         the previous code leaked one accel group per menu. we use
8988         gtk_menu_get_uline_accel_group() now to fix that, and with that
8989         also create the underline accelerator group of the menus only if
8990         required (i.e. an underline accelerator has been specified).
8991         (gtk_item_factory_construct):
8992         (gtk_item_factory_create_item): removed code that would create an
8993         extra accel group for the menu (and leak references).
8994         (gtk_item_factory_create_item): adapted the underline accelerator
8995         installation code to properly feature gtk_menu_get_uline_accel_group().
8996
8997         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
8998         menu->accel_group, this may return NULL if the accelerator group
8999         hasn't been set yet.
9000         added gtk_menu_get_uline_accel_group() to retrive the underline
9001         accelerator group of the menu, this will be created on demand
9002         and proper care is taken about its reference count.
9003
9004         * gtk/gtkitemfactory.h:
9005         * gtk/gtkitemfactory.c:
9006         dumped the approach of keeping a widgets by action list on the
9007         factory since the factory<->widget destroy negotiation didn't work
9008         and would be hard to get going at all. instead we keep a list of
9009         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
9010         persistant throughout a program's life time).
9011         also, i removed the static const gchar *key_* variables, and made
9012         them inline strings (they weren't actually used anyways).
9013         (gtk_item_factory_add_item): update ifactory->items.
9014         (gtk_item_factory_destroy): destroy ifactory->items (and remove
9015         the item factory pointer from the remaining ifactory widgets).
9016         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
9017         list to find the widget.
9018         (gtk_item_factory_get_item): new function that works around
9019         gtk_item_factory_get_widget() limitations, this function will only
9020         return menu items, even for <Branch> entries.
9021
9022 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
9023
9024         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
9025         font hash table, if we have a GdkFontPrivate entry for this font
9026         already, simply increment its reference count, provided by Olaf Dietsche
9027         <olaf.dietsche+list.gtk@netcologne.de>.
9028
9029         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
9030         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
9031
9032 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
9033
9034         * gtk/gtkcontainer.c:
9035         (gtk_container_add_with_args):
9036         (gtk_container_addv):
9037         (gtk_container_add): before adding a child to a conatiner, make sure
9038         it is (default) constructed, this is neccessary because under certain
9039         circumstances the child will get relized and mapped immediatedly, in
9040         which case it has to be constructed already.
9041
9042 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
9043
9044         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
9045         values > 1 as TRUE also.
9046
9047 1999-03-16  Tor Lillqvist  <tml@iki.fi>
9048
9049         * README.win32: New file.
9050                 
9051         * configure.in: Check for lstat.
9052
9053         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
9054         completeness.
9055
9056         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
9057
9058         * gtk/gtk.def: Removed CRs.
9059
9060         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
9061         ..\gdk\win32).
9062
9063         * gdk/win32/makefile.msc: Correct upwards relative paths.
9064         
9065 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
9066
9067         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
9068           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
9069           it was connecting a void function to expose_event and the int
9070           returning function to the draw signal
9071
9072 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
9073
9074         * configure.in:
9075         Use correct path to libgmodule.la when ref'ing uninstalled copy
9076         of glib.  (Already in stable branch, Bug #417)
9077
9078 1999-03-15  Tor Lillqvist  <tml@iki.fi>
9079
9080         Win32 merge and general portability stuff:
9081                 
9082         * acconfig.h,configure.in: Check for <sys/time.h>.
9083
9084         * gdk/win32: New directory (actually, been there for a while).
9085         
9086         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
9087         NATIVE_WIN32, and use these. Always case fold on Win32. No
9088         backslashed escapes on native Win32.
9089
9090         * gtk/{gtk.def,makefile.msc}: New files.
9091
9092         * gtk/Makefile.am: Add above new files.
9093         
9094         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
9095         instead of <strings.h>.
9096
9097         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
9098         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
9099         <unistd.h> appropriately.
9100
9101         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
9102         Use ABS() (from <glib.h>) instead of abs().
9103         
9104         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
9105         of gtk (and thus glib) headers, so that WIN32 will be
9106         defined. With MS C, include <direct.h> for mkdir prototype.
9107
9108         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
9109         some casts, needed by MS C.
9110
9111         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
9112         implemented).
9113
9114         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
9115         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
9116         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
9117
9118         * gtk/gtkmain.h: Mark variables for export/import on Win32.
9119                 
9120         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
9121         the event is not a hint, or its window is not the slider. Needed
9122         on Win32, at least.
9123
9124         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
9125         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
9126         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
9127         a subdirectory of the Windows directory as gtk system
9128         configuration directory.
9129
9130         * gtk/gtkselection.c: No chunks on Win32.
9131
9132         * gtk/gtksocket.c: Not implemented on Win32.
9133
9134         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
9135
9136         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
9137
9138         * gtk/maketypes.awk: Declare variables with a macro that expands to
9139         necessary export/import magic in the case of Win32.
9140                 
9141         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
9142
9143 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
9144
9145         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
9146         since those were meant only for gdki18n.h.  
9147         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
9148         for widechar tests.
9149         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
9150
9151 1999-03-13  Tor Lillqvist  <tml@iki.fi>
9152
9153         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
9154         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
9155
9156         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
9157         installed) to CFLAGS.
9158
9159         * gdk/Makefile.am: Add rules for gdkconfig.h.
9160
9161         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
9162         APIs.
9163
9164         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
9165         gdkx.h anyway when compiling for X11.
9166         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
9167         general): Merge in Win32 version.
9168         
9169         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
9170         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
9171         expansion (if we don't have HAVE_PWD_H), allow for drive
9172         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
9173         included code from Craig Setera's port to Win32 (the one that uses
9174         X11, and the cygwin dll), even if it probably will be abandoned.
9175
9176         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
9177         the user entered one herself.  This way one can complete *.h and
9178         don't get matches on any .help files, for instance.
9179         
9180 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
9181
9182         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
9183         font hash table, if we have a GdkFontPrivate entry for this font
9184         already, simply increment its reference count, provided by Olaf Dietsche
9185         <olaf.dietsche+list.gtk@netcologne.de>.
9186
9187         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
9188         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
9189
9190 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
9191
9192         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
9193         the number of calls to gdk_draw_point() (and thus to X) by
9194         clipping the points by hand.
9195
9196         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
9197         the clip parameter.
9198         (gtk_handle_box_paint): Only paint the handle if the expose area
9199         intersects it.
9200
9201 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
9202
9203         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
9204
9205 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
9206
9207         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
9208         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
9209
9210 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
9211
9212         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
9213          textmode (O_TEXT) for OS/2 version.
9214
9215 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
9216
9217         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
9218         GtkSpinButton, "input" and "output", to make the output more flexible.
9219         The user has to provide a mapping between adjustment->value and the
9220         output string (and vice versa, if the spin button is editable). 
9221         See testgtk for examples.
9222
9223 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
9224
9225         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
9226         new one.
9227         
9228         * configure.in: set gtk+ version to 1.3.0.