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