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