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