]> Pileus Git - ~andy/gtk/blob - ChangeLog
Fixes for (#124212, Marco Pesenti Gritti):
[~andy/gtk] / ChangeLog
1 Fri Oct 10 22:50:05 2003  Matthias Clasen  <maclas@gmx.de>
2
3         Fixes for (#124212, Marco Pesenti Gritti):
4         
5         * gtk/gtkuimanager.c (update_smart_separators): Don't spit 
6         warnings for popups.
7         (_gtk_menu_is_empty): Return FALSE for non-menus.
8
9 Fri Oct 10 19:10:12 2003  Kristian Rietveld  <kris@gtk.org>
10
11         * gtk/gtkcombo.h: Deprecate.
12         * gtk/gtkoptionmenu.h: Ditto.
13
14         * gtk/gtkcombobox.c (gtk_combo_box_size_request),
15         (gtk_combo_box_size_allocate): Rework, things behave better now. Still
16         needs some work on requesting enough size when taking the items in
17         the list into account.
18
19         * gtk/gtkfilesel.c: put gtkoptionmenu.h include inside "enable
20         deprecated" guards.
21         * gtk/gtkinputdialog.c: ditto.
22         * gtk/gtkitemfactory.c: ditto.
23         * gtk/gtkoptionmenu.c: ditto.
24
25         * demos/gtk-demo/menus.c: remove the option menu.
26         * demos/gtk-demo/sizegroup.c: replace the option menus with
27         GtkComboBox.
28         * demos/gtk-demo/textview.c: ditto.
29         (A general GtkComboBox demo will be added later on).
30
31 Wed Oct  8 00:06:17 2003  Matthias Clasen  <maclas@gmx.de>
32
33         * demos/gtk-demo/ui_manager.c (activate_radio_action): New
34         callback to propertly report radio actions.
35
36         * demos/gtk-demo/ui_manager.c (do_ui_manager): Use it here.
37
38 Tue Oct  7 23:23:05 2003  Matthias Clasen  <maclas@gmx.de>
39
40         * gtk/gtkplug.c (xembed_set_info): Put the supported protocol
41         version in in the right field of the _XEMBED_INFO property.  
42         (#123885, Denis Mikhalkin)
43
44 Mon Oct  6 14:18:47 2003  Jonathan Blandford  <jrb@redhat.com>
45
46         * gtk/gtkexpander.c (gtk_expander_animation_timeout): only show
47         the child if we have one.
48
49         (gtk_expander_button_release): use
50         gtk_widget_activate instead.
51
52 Mon Oct  6 21:05:46 2003  Matthias Clasen  <maclas@gmx.de>
53
54         * gtk/gtktable.c (gtk_table_class_init): Start the blurb for 
55         "right_attach" with a capital.  (#123945, Christian Rose)
56
57 Sun Oct  5 23:59:03 2003  Matthias Clasen  <maclas@gmx.de>
58
59         * tests/testsocket.c (child_read_watch): Remove an
60         extraneous unref.  (#122336, Frederic Crozat)
61
62 Sun Oct  5 22:38:22 2003  Matthias Clasen  <maclas@gmx.de>
63
64         * gtk/gtkeventbox.c (gtk_event_box_class_init): Trim 
65         whitespace in "visible-window" blurb.  (#123910, Christian Rose)
66
67 Sun Oct  5 00:53:15 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
68
69         * gtk/gtktoolbar.c (gtk_toolbar_list_children_in_focus_order):
70         focus arrow before pack_end items (#123851, Matthias Clasen)
71
72 Fri Oct  3 20:50:48 2003  Kristian Rietveld  <kris@gtk.org>
73
74         * gtk/gtkcombobox.c (gtk_combo_box_set_model): only set the model
75         on ->priv->cell_view if ->priv->cell_view is non-NULL.
76
77         * gtk/gtkcomboboxentry.c: include gtkintl.h, add text_renderer
78         field to GtkComboBoxEntryPrivate,
79         (gtk_combo_box_entry_class_init), (gtk_combo_box_entry_init),
80         (gtk_combo_box_entry_set_property), (gtk_combo_box_entry_get_property),
81         (gtk_combo_box_entry_set_text_column), (gtk_combo_box_entry_new): add
82         a construct-only "text_column" property and reorder code to use it
83         and support inheriting this widget.
84
85 Thu Oct  2 23:28:02 2003  Kristian Rietveld  <kris@gtk.org>
86
87         * gtk/gtkcombobox.c: Added API doc comments.
88
89         * gtk/gtkcomboboxentry.c: Ditto.
90
91 2003-10-02  Matthias Clasen  <maclas@gmx.de>
92
93         * gtk/gtktoggleaction.c: Documentation tweaks.
94
95 Wed Oct  1 22:43:40 2003  Kristian Rietveld  <kris@gtk.org>
96
97         * gtk/gtkcellview.[ch]: implement the GtkCellLayout interface, drop
98         packing/attribute/cell data functions from the header,
99         (gtk_cell_view_set_cell_data): added support for cell data funcs.
100
101         * gtk/gtkcombobox.[ch]: implement the GtkCellLayout interface, drop
102         packing/attribute/cell data functions from the header, implemented
103         cell data func support.
104
105         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new): updated
106         for the move to GtkCellLayout.
107
108         * tests/testcombo.c (create_combo_box_grid_demo), (main): ditto.
109
110 2003-10-01  Matthias Clasen  <maclas@gmx.de>
111
112         * gtk/gtkaction.c (gtk_action_class_init): 
113         (gtk_action_[gs]et_property): Introduce a separate
114         "hide_if_empty" property for empty menu handling.
115         (_gtk_action_sync_menu_visible): ...and use it here.
116
117         * tests/testmerge.c (main): ...and here.
118
119         * gtk/gtktoolitem.c (gtk_tool_item_class_init): Fix signal doc 
120         comments to pacify gtk-doc.
121
122         * gtk/gtkmain.c: Doc formatting tweaks.
123
124         * gtk/gtktoolitem.c (gtk_tool_item_set_is_important): Fix a typo.
125
126         * gtk/gtkcheckmenuitem.h (gtk_check_menu_item_set_draw_as_radio): 
127         Use the same parameter names as in .c file, to pacify gtk-doc.
128
129         * gtk/gtktoggletoolbutton.[hc]: 
130         * gtk/gtktoolbutton.[hc]: 
131         * gtk/gtktoolitem.[hc]:
132         * gtk/gtktoolbar.[hc]: 
133         * gtk/gtkcolorbutton.[hc]: 
134         * gtk/gtkfontbutton.[hc]: 
135         * gtk/gtkalignment.[hc]: Define GET_PRIVATE macros in the 
136         source, not in the header.
137
138         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_[sg]et_draw_as_radio): 
139         Document these as 2.4 API additions.
140
141 Tue Sep 30 23:42:56 2003  Kristian Rietveld  <kris@gtk.org>
142
143         * gtk/gtkentry.c (gtk_entry_set_completion),
144         (gtk_entry_get_completion): Add API doc comments.
145
146         * gtk/gtkentrycompletion.c: Fix #includes and add API doc comments.
147
148 Tue Sep 30 23:12:34 2003  Kristian Rietveld  <kris@gtk.org>
149
150         * gtk/gtktreemodelfilter.c: Add "Since: 2.4" to all API doc comments.
151
152 Tue Sep 30 22:59:58 2003  Kristian Rietveld  <kris@gtk.org>
153
154         * gtk/gtktreeviewcolumn.c: Some API doc comment fixes.
155
156         * gtk/gtkcellayout.c: Fix #include and oooooh API doc comments!
157
158 2003-09-30  Matthias Clasen  <maclas@gmx.de>
159
160         * tests/merge-*.ui: 
161         * tests/testmerge.c: Test handling of empty menus.
162
163         * gtk/gtkuimanager.c (_gtk_menu_is_empty): New function to determine
164         whether a menu is empty. Used in gtkaction.c.
165         (update_smart_separators): Also update the visibility of empty menus.
166         (update_node): When creating a new menu proxy, insert an "Empty" menu 
167         item which only gets shown if the menu is empty. 
168
169         * gtk/gtkaction.c (gtk_action_class_init): Document the meaning of
170         "is_important" for menu proxies.
171         (_gtk_action_sync_menu_visible): New function to sync the visibility
172         of menu proxies. Used in gtkuimanager.c.
173         (gtk_action_sync_visible): New function to sync the visibility of 
174         proxies.
175
176 Tue Sep 30 21:43:34 2003  Kristian Rietveld  <kris@gtk.org>
177
178         * gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): set
179         popup_in_progress to TRUE,
180         (gtk_combo_box_menu_show): and back to FALSE here; the menu now
181         won't disappear on the first button release. (Reported by Matthias
182         Clasen).
183
184 Tue Sep 30 21:08:43 2003  Kristian Rietveld  <kris@gtk.org>
185
186         * gtk/gtkcombobox.c (gtk_combo_box_init): actually show the child.
187
188         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): ditto. (#123543,
189         Marco Pesenti Gritti).
190
191 2003-09-30  Murray Cumming  <murrayc@usa.net>
192  
193         * gtk/gtkcellrenderer.h: The render vfunc takes a GdkDrawable*
194         instead of a GdkWindow*, because that what it is given. The 
195         documentation was already correct. This should cause no API/ABI
196         breakage with C compilers.
197         * gtk/gtkcellrenderertext.c, gtkcellrendererpixbuf.c, 
198         gtkcellrenderertogger.c: Updated the declarations of the render vfunc
199         implementation accordingly.
200
201 2003-09-30  Matthias Clasen  <maclas@gmx.de>
202
203         * gdk/gdkkeys.c (gdk_keymap_class_init): Document the
204         "direction-changed" and "keys-changed" signals.
205
206         * gdk/gdkscreen.c (gdk_screen_class_init): Document the 
207         "size-changed" signal.
208
209         * gdk/gdkdisplaymanager.c (gdk_display_manager_class_init): 
210         Document the "display-opened" signal.
211
212         * gdk/gdkdisplay.c (gdk_display_close): Doc tweak.
213         (gdk_display_class_init): Document the "closed" signal.
214
215 Sat Sep 27 16:02:40 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
216
217         * gtk/gtktextview.[ch]: rename property tab_moves_focus to
218         accepts_tab. (#122709 again).
219
220 2003-09-27  Matthias Clasen  <maclas@gmx.de>
221
222         * gtk/gtkwindow.c (gtk_window_new):
223         * gtk/gtkitemfactory.c (gtk_item_factory_new): Document 
224         the fact that the newly created object does not come with 
225         a floating reference.  (#103068, patch by Frederic Lespez)
226         
227         * gtk/gtkitemfactory.h: Deprecate GtkItemFactory in favor 
228         of GtkUIManager. Just leave GtkTranslateFunc undeprecated, 
229         since GtkActionGroup uses it.
230
231         * tests/testtext.c: Turn off GTK_DISABLE_DEPRECATED, since
232         this test uses the soon-to-be-deprecated GtkItemFactory.
233
234         * demos/gtk-demo/Makefile.am (demos): Add ui_manager.c,
235         remove item_factory.c
236
237         * demos/gtk-demo/ui_manager.c: Duplicate of item_factory.c 
238         using GtkUIManager instead of GtkItemFactory.
239
240         * tests/testmerge.c: Demonstrate the use of the 
241         connect-proxy signal.
242
243         * gtk/gtkaction.c (connect_proxy): Add connect-proxy and 
244         disconnect-proxy signals to do small customizations 
245         like displaying tooltips in the statusbar without 
246         custom actions.  (#122894, Philip Langdale)
247
248         * gtk/gtkuimanager.c (update_node): Don't leak tooltip.
249
250 Fri Sep 26 23:49:44 2003  Kristian Rietveld  <kris@gtk.org>
251
252         Landing the new ComboBox. Note that only gtkcombobox.h and
253         gtkcomboboxentry.h are public.
254
255         * gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
256         gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files.
257
258         * gtk/Makefile.am, gtk/gtk.h: adding the new files.
259
260         * tests/testcombo.c: and a new test.
261
262         * tests/Makefile.am: adding the new test.
263
264 2003-09-25  Tor Lillqvist  <tml@iki.fi>
265
266         * demos/gtk-demo/main.c: Don't use hardcoded DEMOCODEDIR on Windows.
267
268 2003-09-21  Tor Lillqvist  <tml@iki.fi>
269
270         * gdk/win32/gdkevents-win32.c (handle_wm_paint): New
271         function. Code split out from gdk_event_translate(). Needed
272         because gdk_event_get_graphics_expose() couldn't do anything
273         sensible otherwise. (Not that I think graphics exposes work anyway
274         in gdk/win32, but at least now the code could work.)
275
276         (gdk_event_get_graphics_expose): Call handle_wm_paint() instead of
277         gdk_event_translate(), which couldn't have worked as it doesn't
278         take any pre-allocated GdkEvent parameter any longer.
279         
280         (gdk_event_translate): Handle WM_MOUSEACTIVATE: Don't let
281         GDK_WINDOW_TEMP windows be activated. (#122578, John Ehresman)
282
283 2003-09-24  Matthias Clasen  <maclas@gmx.de>
284
285         * demos/gtk-demo/appwindow.c (do_appwindow): Demonstrate tooltips
286         on toolitems.
287
288         * gtk/gtkaction.c (connect_proxy): Sync tooltips on toolitems.
289
290         * gtk/gtkuimanager.c (update_node): Don't complain about missing
291         actions on popups. Re-set "tooltip" property on toolitems after
292         adding them to parent to trigger proxy update.
293
294 2003-09-22  Matthias Clasen  <maclas@gmx.de>
295
296         * tests/testmerge.c (main): Initially activate the JUSTIFY_RIGHT
297         group member to test the fix for #122904.
298
299         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
300         Add the action to the group before activating it, otherwise we
301         may end up with multiple active group members.  (#122904, Marco
302         Pesenti Gritti)
303
304 2003-09-21  Matthias Clasen  <maclas@gmx.de>
305
306         Changes to make cross-process merging feasible:
307         
308         * gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the
309         merged UI definition. Remove the "changed" signal, since its role
310         is now filled by "notify::ui". Instead add a "actions-changed" signal
311         which gets emitted when the set of actions changes.
312
313         * gtk/gtktoggleactionprivate.h:
314         * gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio):
315         Add a "draw_as_radio" property to toggle actions so that they can be
316         used as proxies for radio actions much like the "draw_as_radio" 
317         property on check menu items enables them to operate as proxies for
318         radio actions.
319
320         Prevent the "show_all" trap for action-based menus (see
321         http://mail.gnome.org/archives/gtk-devel-list/2003-September/
322         msg00260.html):
323
324         * gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail()
325         calls from static functions.
326
327         * gtk/gtkuimanager.c (update_node): 
328         * gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed
329         widgets whose visibility is externally controlled.
330
331         * gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean 
332         "no_show_all" property with setter and getter. When TRUE, it keeps
333         gtk_widget_{hide,show}_all() from modifying the visibility of the 
334         widget and its children.
335
336 Sun Sep 21 23:13:37 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
337
338         * gtk/gtktextview.[ch]: Add new "tab moves focus" property (#122709)
339
340 2003-09-20  Tor Lillqvist  <tml@iki.fi>
341
342         * gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
343         including editor backup files. List files we want explicitly.
344
345         * gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
346         calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
347         LC_ALL, LC_CTYPE and LANG environment variables, than calls
348         g_win32_getlocale().
349
350         (gtk_get_default_language): Code snippet moved to above function,
351         call it.
352
353         * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
354         * gtk/gtkrc.c (gtk_rc_context_parse_file): Call
355         _gtk_get_lc_ctype() instead of setlocale().
356
357 Fri Sep 19 18:15:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
358
359         * gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping
360         (#96632)
361
362 Fri Sep 19 13:24:54 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
363
364         * gtk/gtktreeview.c (gtk_tree_view_get_cursor): Improve
365         documentation. (#117306, Steve Chaplin)
366
367 2003-09-19  Tor Lillqvist  <tml@iki.fi>
368
369         * gdk/win32/gdkkeys-win32.c (update_keymap): Handle dead keysyms
370         present on the US-International keyboard. For clarity, order
371         keysyms in case statement according to numeric value.
372
373         (gdk_keymap_translate_keyboard_state): Handle Caps Lock
374         correctly. (#120176, Ken Rastatter and Owen Taylor)
375
376 2003-09-18  Matthias Clasen  <maclas@gmx.de>
377
378         * gtk/gtkaction.c (gtk_action_finalize): Call g_closure_unref() to
379         unref a closure, not g_object_unref().  (#122637, Marco Pesenti Gritti)
380
381         Install accelerators on actions, not on proxies, support
382         accelerator-only actions:
383         
384         * gtk/gtkmenu.c (get_accel_path): New function to get the accel path
385         and its lock status either via _gtk_widget_get_accel_path() or by 
386         looking at the accel_path stored in the menu item itself and determining
387         its lock status by peeking into the contained accel label. This was
388         already (accidentally) committed a week ago.
389
390         * gtk/gtkaction.h (gtk_action_set_accel_group):
391         (gtk_action_[dis]connect_accelerator): New functions.
392
393         * gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group,
394         accel_closure and accel_count. We must have a reference to the 
395         accel_group, since we need it in connect_proxy. The count is necessary
396         to ensure that the accelerator isn't removed before the last proxy 
397         requesting it has been unmerged.
398         (connect_proxy): Connect the accelerator to the 
399         action now, only set the accel_path on the menuitem.
400         (remove_proxy): Disconnect the accelerator from the action, not from
401         the menuitem.
402         (gtk_action_set_accel_group): Set the accel group. 
403         (gtk_action_[dis]connect_accelerator): Count the number of times
404         this functions have been called and install/remove the accelerator if
405         the count leaves/reaches zero.
406
407         * gtk/gtkuimanager.h (GtkUIManagerItemType): Add 
408         GTK_UI_MANAGER_ACCELERATOR.
409
410         * gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR.
411         (start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from
412         <accelerator> elements.
413         (gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when
414         type is GTK_UI_MANAGER_ACCELERATOR.
415         (update_node): Set the accel group on actions before creating their
416         proxies. Don't set the accel group on created menus. For 
417         NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator.
418         (print_node): Also emit <accelerator> elements.
419
420         * tests/testmerge.c (dump_accels): Add a "Dump Accels" button. 
421
422         * gtk/gtkuimanager.c (update_node): Robustness improvements.
423
424 2003-09-17  Matthias Clasen  <maclas@gmx.de>
425
426         * gtk/gtkuimanager.c (text_handler): Report unexpected character
427         data as error from the GMarkup parser, otherwise things like
428         gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error) 
429         pass unexpectedly.
430
431 Wed Sep 17 02:38:53 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
432
433         * gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
434         committed redraw_on_allocate change.
435
436 Tue Sep 16 10:42:00 2003  Eric Warmenhoven  <eric@warmenhoven.org>
437
438         * gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_set_keep_{above,below}
439         stubs to fix compilation
440
441         * gdk/linux-fb/gdkrender-fb.c: Add gdk_shadow_fb_stop_updates stub for
442         when shadowfb is disabled. Patch from pjm@cctechnol.com (#120847).
443
444         * gdk/linux-fb/gdkmouse-fb.c: Add GDK_MOUSE_DEVICE environment
445         variable. Patch from Marc Welz (#121347).
446
447 2003-09-16  Matthias Clasen  <maclas@gmx.de>
448
449         * gtk/gtkaction.h: Apply egtk-format-protos.
450
451 2003-09-15  Matthias Clasen  <maclas@gmx.de>
452
453         * gtk/gtkuimanager.c: Doc tweaks.
454
455         Smart separators; see 
456         http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00133.html:
457         
458         * gtk/gtkuimanager.c (update_smart_separators): New function which 
459         implements "smart" separators by iterating once over the entries of a 
460         menu, hiding and showing separators as necessary.
461         (update_node): Mark separators used as fences of placeholders as
462         hidden. Explicitly added separators are marked as smart. Call 
463         update_smart_separators after updating a menu or toolbar node. 
464         Connect update_smart_separators to "notify::visible" signal on menu
465         and tool items.
466         
467         * tests/merge-[12].ui: Test smart separators.
468
469         Changes to allow setting action state before connecting signal; see
470         the thread starting at 
471         http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00140.html:
472         
473         * gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions):
474         (gtk_action_group_add_radio_actions_full): Add value parameter to allow
475         setting the currently selected group member before connecting signals.
476         (GtkToggleActionEntry): Separate struct for constructing toggle actions,
477         including a boolean to initialize the action state before connecting
478         signals.
479         (gtk_action_group_add_toggle_actions):
480         (gtk_action_group_add_toggle_actions_full): New functions to construct
481         toggle actions from an array of GtkToggleActionEntries.
482
483         * demos/gtk-demo/appwindow.c: 
484         * tests/testactions.c: 
485         * tests/testmerge.c: Adjust to new action group API.
486
487 Sun Sep 14 16:59:52 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
488
489         * gtk/gtktoolbar.c (gtk_toolbar_init): Name the arrow 
490         "gtk-toolbar-arrow" so themes can special-case it.
491
492 Sun Sep 14 16:07:49 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
493
494         * gtk/Makefile.am (gtk_c_sources): sort the list of files.
495
496 Sun Sep 14 15:49:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
497
498         * gtk/gtktoolbar.c (toolbar_item_is_homogeneous): Unref the
499         PangoFontMetrics. Patch from Steve Chaplin (#122257).
500
501 2003-09-14  Tor Lillqvist  <tml@iki.fi>
502
503         * gdk/win32/gdkwindow-win32.c (show_window_internal): Remove
504         special-case code for WS_EX_TRANSPARENT (GDK_INPUT_ONLY) windows,
505         the usefulness of which was already in doubt. Removing it fixes
506         bugs #118575 and #121851.
507
508 Fri Sep 12 16:32:53 2003  Jonathan Blandford  <jrb@redhat.com>
509
510         Merge from stable.
511
512         * gtk/gtktreeview.c (gtk_tree_view_button_press): only save the
513         pressed button (used to determine if we want to initiate a drag later
514         on) if the current grab widget is either NULL or tree_view (Reported
515         by Jeroen Zwartepoorte).
516
517 2003-09-12  Matthias Clasen  <maclas@gmx.de>
518
519         * gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text) 
520         (gdk_draw_text_wc): Add deprecation notes.  (#121955, Martin Pool)
521
522 2003-09-11  Matthias Clasen  <maclas@gmx.de>
523
524         * gdk/gdkpango.c: Doc tweaks.
525
526         * tests/testgtk.c: Add table menu tests.
527
528         * gtk/gtkmenu.c (gtk_menu_free_private): Don't forget to free the 
529         GtkMenuPrivate struct itself. Pointed out by valgrind.
530
531         * gtk/gtkuimanager.c (gtk_ui_manager_finalize): Clean up 
532         properly.  (#121998)
533
534 Wed Sep 10 22:25:04 2003  Kristian Rietveld  <kris@gtk.org>
535
536         The table menu patch! Turns GtkMenu into a table, so you can attach
537         menu items in numerous new ways! Be creative!
538
539         Contains some bug fixes and RTL adaptions from Matthias Clasen.
540
541         * gtk/gtkmenu.c [toplevel]: introduce ATTACH_INFO_KEY, extend
542         GtkMenuPrivate, introduce AttachInfo, add child properties enum,
543         (gtk_menu_free_private), (gtk_menu_get_private): we have to free
544         the heights array in the private struct,
545         (gtk_menu_class_init): reorder code a bit, install child properties,
546         (get_attach_info), (get_child_attach): new utility functions,
547         (gtk_menu_set_child_property), (gtk_menu_get_child_property): introduce
548         child properties, for the attach info,
549         (gtk_menu_remove): remove AttachInfo from menu item,
550         (gtk_menu_real_insert): implemented algorithm to automagically place
551         inserted menu items at the correct place in the table,
552         (gtk_menu_size_request), (gtk_menu_size_allocate),
553         (compute_child_offset): reworked/rewritten to support table menus,
554         (gtk_menu_attach): new function,
555         (find_child_containing), (gtk_menu_move_current): new functions to
556         get table menu keynav right.
557
558         * gtk/gtkmenu.h: add gtk_menu_attach() prototype.
559
560 2003-09-10  Matthias Clasen  <maclas@gmx.de>
561
562         * gtk/gtksocket.c (gtk_socket_filter_func): Only remove 
563         PropertyNotify events from the stream if they have been handled,
564         in order to enable extending the plug<->socket communication via
565         properties.
566
567 Wed Sep 10 01:06:44 2003  Kristian Rietveld  <kris@gtk.org>
568
569         Big TreeView DnD fixage, makes drops on empty models work, makes
570         TreeStore DnD work and gets rid of gtk-tree-model-drop-append.
571         Related bugs #95362 and #113314. I don't want to touch this code
572         ever again.
573
574         * gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field.
575
576         * gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check
577         for selection_data->length.
578
579         * gtk/gtktreeview.c (struct DestRow), (dest_row_free),
580         (set_dest_row), (get_dest_row): we don't store just the row ref
581         anymore, but a struct with the row ref and additional info,
582         (set_destination_row): handle drops on empty space and some
583         style fixes,
584         (get_logical_dest_row): also return path_down_mode/drop_append_mode
585         flags, handle dropping childs on their new parents, rewrite
586         drop append handling into something saner,
587         (gtk_tree_view_drag_motion): show a "drop possible arrow" on empty
588         spaces,
589         (gtk_tree_view_drag_drop): updates for updated backend,
590         (gtk_tree_view_drag_data_received): updates for updated backend,
591         path down mode (treestore DnD) handling,
592         (gtk_tree_view_set_drag_dest_row): set empty_view_drop flag,
593         when we are trying to drop a row on an empty model,
594         (gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag.
595
596         * gtk/gtkliststore.c (gtk_list_store_drag_data_received),
597         (gtk_list_store_row_drop_possible): style and drop-append fixes.
598
599         * gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto.
600
601 2003-09-08  Alexander Larsson  <alexl@redhat.com>
602
603         * gtk/gtkeventbox.[hc]:
604         Implement gtk_event_box_get/set_input_only()
605         
606         * tests/testgtk.c:
607         Tests for the new input only event boxes
608
609 Mon Sep  8 21:44:20 2003  Kristian Rietveld  <kris@gtk.org>
610
611         Fixes from David Hampton <hampton@employees.org> via gtk-devel-list.
612
613         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_elt_get_path): fix
614         the call to gtk_tree_model_filter_add_root,
615         (gtk_tree_model_filter_row_changed): bail out if c_path is not above
616         the virtual root, allow building levels on the second try to convert
617         the child path to a filter path,
618         (gtk_tree_model_filter_convert_iter_to_child_iter): pass the virtual
619         root when calling gtk_tree_model_filter_elt_get_path.
620
621 2003-09-07  Matthias Clasen  <maclas@gmx.de>
622
623         * gtk/gtkuimanager.c (update_node): Fix a C99ism.  (#121640,
624         Josh Beam)
625
626         Fixes for accelerator handling during (un)merging:
627         
628         * gtk/gtkuimanager.c (update_node): Move setting info-action
629         after the switch, since the old action is needed in some cases.
630         In cases of proxy type mismatch, disconnect the old proxy from
631         the old action.
632
633         * gtk/gtkaction.c (remove_proxy): Renamed from 
634         gtk_action_remove_proxy(). Move unsetting of the accelerator
635         here from disconnect_proxy() in order to catch all cases of 
636         removing a proxy.
637         (gtk_action_disconnect_proxy): Fix logic in g_return_if_fail()
638         to fail if proxy isn't a proxy of action.
639
640 2003-09-07  Pablo Saratxaga  <pablo@mandrakesoft.com>
641
642         * configure.in: Added Uzbek latin (uz) and cyrillic (uz@Cyrl) to
643         ALL_LINGUAS
644
645 2003-09-07  Matthias Clasen  <maclas@gmx.de>
646
647         * gtk/gtkaction.c (disconnect_proxy): Make disconnect work
648         for toolitems.
649
650 2003-09-06  Matthias Clasen  <maclas@gmx.de>
651
652         * gtk/gtkaction.c (gtk_action_connect_proxy): Disconnect from 
653         prev_action, not from action.  (Fix by David Hampton)
654
655 Fri Sep  5 14:15:10 2003  Owen Taylor  <otaylor@redhat.com>
656  
657         * Back out locale-dependent interpretation of
658         KP_Decimal, the official XFree86 interpretation
659         is that KP_Decimal => . KP_Separator => ,
660         always, independent of locale. 
661         (#105161, Frederic Crozat, 
662         http://bugs.xfree86.org/show_bug.cgi?id=534)
663  
664 2003-09-04  Matthias Clasen  <maclas@gmx.de>
665
666         * tests/testmerge.c: Test buttons and toggle buttons as proxies.
667
668         * gtk/gtktoggleaction.c (connect_proxy): 
669         (gtk_toggle_action_real_toggled): Support toggle buttons as proxies. Note 
670         that a "draw_as_radio" property is needed for check buttons similar to 
671         check menu items, in order to fully support button proxies for radio actions.
672
673         * gtk/gtkaction.c (connect_proxy): Allow buttons as proxies.
674
675         * tests/testmerge.c (toggle_dynamic): Test gtk_ui_manager_add_ui(). 
676
677         * gtk/gtkuimanager.h: Add GtkUIManagerItemType enum which is needed for the
678         'type' argument of gtk_ui_manager_add_ui().
679
680         * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui): Add 'type' and 'top' arguments
681         to make this function as powerful as the XML methods of adding UI.  (#120647)
682
683 Thu Sep  4 19:11:23 2003  Kristian Rietveld  <kris@gtk.org>
684
685         Merge from stable.
686
687         * docs/RELEASE-HOWTO: updates.
688
689 2003-09-04  Matthias Clasen  <maclas@gmx.de>
690
691         * tests/merge-2.ui: Use "position" instead of "pos".
692
693         * gtk/gtkuimanager.c (start_element_handler): No need 
694         to be terse: Change the name of the "pos" attribute
695         to "position".
696
697 2003-09-04  Matthias Clasen  <maclas@gmx.de>
698
699         * gtk/gtkuimanager.c: Un-prefix GtkUIManagerNodeType and 
700         GtkUIManagerNode to shorten the names and to make the
701         GTK_UI_MANAGER_<TYPE> names available for a public enum.
702
703         * gtk/gtkactiongroup.c:
704         * gtk/gtkuimanager.c: Various doc tweaks.       
705
706         * gtk/gtkuimanager.c (start_element_handler):
707         (end_element_handler): Improve error reporting. 
708
709 Wed Sep  3 23:18:17 2003  Kristian Rietveld  <kris@gtk.org>
710
711         Merge from stable.
712
713         * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case,
714         use end_position - page_size instead of G_MAXINT, since
715         gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237,
716         reported by Havoc Pennington).
717
718 Wed Sep  3 21:58:03 2003  Kristian Rietveld  <kris@gtk.org>
719
720         Merge from stable.
721
722         * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL,
723         unref it. (Fixes memleak, patch from Kjartan Maraas).
724
725 Wed Sep  3 21:38:26 2003  Kristian Rietveld  <kris@gtk.org>
726
727         * gdk/Makefile.am, gdk/linux-fb/gdkfbmanager.c, gdk/x11/gdkcolor-x11.c,
728         gdk-pixbuf/io-gif.c, gtk/Makefile.am, gtk/gtkcalendar.c,
729         gtk/gtkclist.c, gtk/gtkctree.c, gtk/gtkdnd.c, gtk/gtkentry.c,
730         gtk/gtkhandlebox.c, gtk/gtkitemfactory.c, gtk/gtkmenu.c,
731         gtk/gtknotebook.c, gtk/gtkrange.c, gtk/gtkrc.h, gtk/gtktree.c,
732         gtk/gtktypeutils.h: big patch from Kjartan Maraas
733         to fix numerous typos.
734
735 Wed Sep  3 17:38:01 BST 2003  Tony Gale <gale@gtk.org>
736
737         * docs/faq/gtk-faq.sgml: Correct compile line for threads example.
738
739 2003-09-02  Tor Lillqvist  <tml@iki.fi>
740
741         * gdk/win32/gdkdisplay-win32.c (gdk_display_open): Don't call
742         CloseHandle() on the HMODULE returned from GetModuleHandle().
743         Didn't cause any harm, but didn't do anything useful either. When
744         running a GTK+ program under MS's debugger, the CloseHandle() call
745         would cause a "first-chance exception" in ntdll.dll to show up.
746         (The exception is caught appropriately if you let it proceed, but
747         it confuses the person using the debugger). Thanks to Bruce
748         Hochstetler for noticing.
749
750 Tue Sep  2 21:01:19 2003  Kristian Rietveld  <kris@gtk.org>
751
752         Merge from stable.
753
754         * gtk/gtktreeview.c (gtk_tree_view_button_press): revert the change
755         to only select when button 1 is pressed introduced in the fix of
756         bug #120187.
757
758 2003-09-02  Matthias Clasen  <maclas@gmx.de>
759
760         * gtk/gtkactiongroup.c (gtk_action_group_new): Doc addition.
761
762         * gtk/gtkuimanager.c: Shorten the names of some static 
763         functions.
764
765         Support adding and removing merge nodes dynamically (#120647, 
766         Anders Carlsson):
767         
768         * gtk/gtkuimanager.[ch] (gtk_ui_manager_new_merge_id): Renamed 
769         gtk_ui_manager_next_merge_id to gtk_ui_manager_new_merge_id 
770         and made it public.
771         (gtk_ui_manager_add_ui): New function to add UI elements
772         without juggling XML fragments, currently restricted to menuitems,
773         toolitems and separators. Actions still come from registered 
774         action groups.
775
776 Mon Sep  1 19:39:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
777
778         * gdk/gdkwindow.c (gdk_window_get_bg_gc): Fix bug where the
779         background pixmap was being offset twice, once by the ts_origin in
780         gdk_window_get_bg_gc(), and once by gdk_draw_rectangle().
781
782 2003-09-01  Matthias Clasen  <maclas@gmx.de>
783
784         * gtk/gtkuimanager.[ch] (gtk_ui_manager_ensure_update): Make
785         this public again, since it's occasionally useful.  (#121128,
786         Marco Pesenti Gritti)
787
788         * gtk/gtkaction.c: Add an "is_important" property and propagate
789         it to toolitem proxies.  (#121058, Marco Pesenti Gritti)
790
791 Mon Sep  1 00:32:30 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
792
793         * tests/testtoolbar.c (main): connect to "delete_event" so the
794         application will actually quit when you close the window
795
796 2003-09-01  Matthias Clasen  <maclas@gmx.de>
797
798         * gtk/gtkuimanager.c (gtk_ui_manager_get_widget) 
799         (gtk_ui_manager_get_action): g_return_if_fail() if
800         path is NULL.
801         (gtk_ui_manager_get_node): Avoid a segfault if path is empty.
802         (gtk_ui_manager_finalize): Remove the idle on finalize. (#121125, 
803         Marco Pesenti Gritti)
804
805 2003-08-31  Matthias Clasen  <maclas@gmx.de>
806
807         * gtk/gtktoolitem.c: Fix some typos in docs.
808
809         * gtk/gtkuimanager.[ch] (gtk_ui_manager_get_action): New function,
810         replaces gtk_ui_manager_activate().  (#120658)
811
812         * tests/testmerge.c: Use gtk_ui_manager_get_action() instead of
813         gtk_ui_manager_activate().
814
815         * gtk/gtkaction.c: 
816         * gtk/gtkactiongroup.c: Some doc tweaks.
817
818         * gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
819         wasn't emitted anyway. Some doc tweaks.
820
821 2003-08-30  Matthias Clasen  <maclas@gmx.de>
822
823         * tests/testmerge.c (add_widget): Connect to "destroy" on toolbar,
824         rather than to "remove" on handlebox. 
825
826         * gtk/gtkuimanager.[hc] (gtk_ui_manager_activate): New method to
827         activate an action found by following a path.  (#120658)
828
829         * tests/testmerge.c: Add a button to test gtk_ui_manager_activate().
830
831         * tests/testmerge.c (add_widget): Put toolbars in handleboxes.
832
833         * gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with 
834         setter and getter. If it is set, add tearoff menu items to regular 
835         menus, but not to popups. Add a signal "changed", which gets emitted
836         when the merged ui has changed.  (#120649, #120656)
837
838         * tests/testmerge.c: Add button to test the generation of tearoff 
839         menu items.
840
841 2003-08-29  Matthias Clasen  <maclas@gmx.de>
842
843         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
844         Actually group the actions together rather than putting each in its 
845         own group.
846
847         * gtk/gtkradioaction.c (create_menu_item): Set "draw_as_radio" on 
848         proxy menu items for radio actions.
849
850         * gtk/gtkgamma.c (gamma_ok_callback): Use g_strtod instead of strtod.
851
852 Fri Aug 29 21:40:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
853
854         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
855         Fix use of uninitialized variable.
856
857         * gtk/gtktextutil.c
858         (_gtk_text_util_append_special_char_menuitems): add const cast to
859         get rid of warning
860
861 2003-08-29  Matthias Clasen  <maclas@gmx.de>
862
863         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Install 
864         "draw_as_radio" as a separate property, not as an alias of 
865         "inconsistent".
866         (gtk_check_menu_item_get_property): 
867         (gtk_check_menu_item_set_property): Also support "draw_as_radio".
868
869 Fri Aug 29 20:32:07 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
870
871         * gtk/gtktoolbar.c: Only treat buttons as homogeneous when they
872         are narrower than 13 time the estimated character width of the
873         font. (#107781, David Bordoley)
874
875         * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): Check
876         here if the GtkToggleButton is active. This may be the case if it
877         is a radio button.
878
879         * gtk/gtktoolbar.c: Clarify documentation wrt. GtkSignalFunc
880         vs. void (*) (GtkWidget, gpointer). (#107495, Mariano
881         Suarez-Alvarez).
882
883         * gtk/gtkcheckmenuitem.[ch]: new "draw_as_radio"
884         property. (#111207, David Bordoley).
885
886         * gtk/gtktoggletoolbutton.c
887         (gtk_toggle_tool_button_create_menu_proxy): use new
888         "draw_as_radio" property on the menu item when the item is a radio
889         tool button
890
891         * gtk/gtktoolbutton.c (gtk_tool_button_create_menu_proxy): Fixes
892         to only pay attention to the "use_underline" property when the
893         button label comes from the "label" property.
894
895 2003-08-29  Laurent Dhima  <laurenti@alblinux.net>
896
897         * configure.in: Added "sq" to ALL_LINGUAS.
898         
899 2003-08-28  Matthias Clasen  <maclas@gmx.de>
900
901         * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Markup
902         fix in the docs.
903
904         * gtk/gtkuimanager.c: Change the XML format:
905         <Root> element is replaced by <ui>,
906         <menu> element is replaced by <menubar>,
907         <submenu> element is replaced by <menu>,
908         <dockitem> element is replaced by <toolbar>,
909         <popups> element is gone,
910         verb attribute is replaced by action,
911         name defaults to action or the element name. 
912
913         * gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by 
914         GtkActionEntry and GtkRadioActionEntry. GtkActionEntry is simplified 
915         by removing the user_data, entry_type and extra_data fields, 
916         GtkRadioActionEntry is further simplified by removing the callback. 
917         The user_data can now be specified as an argument to 
918         gtk_action_group_add_actions(). There is a new method 
919         gtk_action_group_add_radio_actions(), which is similar to 
920         gtk_action_group_add_actions(), but takes GtkRadioActionEntrys
921         and a callback parameter in addition to the user_data. The callback
922         is connected to the ::changed signal of the first group member.
923         There are _full() variants taking a GDestroyNotify of 
924         gtk_action_group_add_[radio_]actions().
925
926         * gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted 
927         on every member of the radio group when the active member is changed. 
928         Add an integer property "value", and a getter for the value of "value"
929         on the currently active group member. 
930
931         * tests/testactions.c: 
932         * tests/testmerge.c: 
933         * tests/merge-[123].ui:  
934         * demos/gtk-demo/appwindow.c: Adjust to these changes.
935
936         * gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix.
937
938 2003-08-27  Anders Carlsson  <andersca@gnome.org>
939
940         * demos/gtk-demo/appwindow.c (do_appwindow): Focus the
941         text view, so the tool bar won't have focus.
942
943 Tue Aug 26 09:57:38 2003  Owen Taylor  <otaylor@redhat.com>
944
945         * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix variable
946         declaration not at start of block. (#120371, Damien Carbery)
947
948 2003-08-26  Matthias Clasen  <maclas@gmx.de>
949
950         * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui_from_string): Use gssize 
951         for length, not gsize.
952
953         * gtk/gtkuimanager.c: Refactor the XML format a bit: rename <Root> to 
954         <ui> and make it optional in strings. Rename verb to action, <dockitem> 
955         to <toolbar>, <menu> to <menubar>, <submenu> to <menu>.
956
957         * demos/gtk-demo/appwindow.c: 
958         * tests/testactions.c: 
959         * tests/testmerge.c:
960         * tests/merge-1.ui:
961         * tests/merge-2.ui:
962         * tests/merge-3.ui: Adjust to the new XML format.
963
964 Mon Aug 25 19:55:55 2003  Owen Taylor  <otaylor@redhat.com>
965
966         * gtk/gtktextview.c (gtk_text_view_update_layout_width): 
967         Since we add one to the layout's reported width to
968         account for the cursor, we need to subtract one when
969         setting the wrap width for the layout. (Fixes infinite
970         loop (#120325, Frederic Crozat)
971
972         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
973         Be a bit more careful about rounding when converting
974         wrapped width from Pango units to pixels.
975
976 2003-08-26  Matthias Clasen  <maclas@gmx.de>
977
978         Rename GtkMenuMerge to GtkUIManager. 
979         
980         * gtk/gtkuimanager.[hc]: New files. 
981         * gtk/gtkmenumerge.[hc]: Removed. 
982
983         * gtk/Makefile.am: 
984         * gtk/gtk.h:
985         * tests/testmerge.c: 
986         * tests/testactions.c: 
987         * demos/gtk-demo/appwindow.c: Replace all uses of GtkMenuMerge by 
988         GtkUIManager.
989
990         * demos/gtk-demo/appwindow.c: Make GtkMenuMerge demo less intimidating: 
991         add comments to entries array, remove newlines from ui definition. Don't 
992         use the ::add_widget signal.
993
994 Mon Aug 25 17:28:04 2003  Owen Taylor  <otaylor@redhat.com>
995
996         * gtk/gtknotebook.c (gtk_notebook_forall): Don't
997         include page->menu_label - causes various problems,
998         including #12047.
999
1000 Mon Aug 25 23:21:43 2003  Kristian Rietveld  <kris@gtk.org>
1001
1002         Merge from stable.
1003
1004         Fixes #115871, reported by Michael Natterer.
1005
1006         * gtk/gtktreeprivate.h: added GtkTreeSelectMode enum,
1007         added ctrl_pressed and shift_pressed bitfields,
1008         (_gtk_tree_selection_internal_select_node): replace GdkModifierType
1009         arg with GtkTreeSelectMode.
1010
1011         * gtk/gtktreeselection.c (gtk_tree_selection_set_mode),
1012         (gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path),
1013         (_gtk_tree_selection_internal_select_node): all updated for
1014         GdkModifierType -> GtkTreeSelectMode move.
1015
1016         * gtk/gtktreeview.c (gtk_tree_view_button_press): set ctrl_pressed
1017         and shift_pressed around selection handling block,
1018         (gtk_tree_view_real_select_cursor_row),
1019         (gtk_tree_view_real_toggle_cursor_row),
1020         (gtk_tree_view_real_selection_cursor_parent),
1021         (gtk_tree_view_real_set_cursor): use ctrl_pressed and shift_pressed,
1022         instead of checking the event state. And also updates for the
1023         GdkModifierType -> GtkTreeSelectMode move.
1024
1025 Wed Aug 20 21:26:49 2003  Owen Taylor  <otaylor@redhat.com>
1026
1027         * gtk/gtkplug.c (gtk_plug_focus): Send the focus on
1028         to the parent when there was no focus widget before
1029         and no focus widget after - that is, when there are
1030         no focusable widgets. (#108678, help tracking it
1031         down from Padraig O'Briain, Federico Mena Quintero, )
1032
1033         * gtk/gtkxembed.[ch]: Move various shared utilities
1034         for the XEMBED protocol eused by GtkPlug and GtkSocket 
1035         here.
1036
1037         * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement
1038         a flag bit that is sent with focus mesages to indicate
1039         that the focus has wrapped around on the toplevel;
1040         use this bit to catch infinite loops when there is no
1041         focusable widget at ll in the entire toplevel.
1042
1043         * tests/testsocket.c (child_read_watch): Remove an
1044         extraneous unref.
1045
1046         * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h: 
1047         Up XEMBED protocol version to 1, add logic for 
1048         sending the right version in XEMBED_EMBEDDED_NOTIFY.
1049
1050         * gtk/gtksocket.c (gtk_socket_add_window): Send
1051         the embedder window in the XEMBED_EMBEDDED_NOTIFY
1052         as the spec requires.
1053
1054 Mon Aug 25 16:15:41 2003  Owen Taylor  <otaylor@redhat.com>
1055
1056         * gdk/x11/gdkkeys-x11.c: Fix up CapsLock and 
1057         NumLock handling for non-XKB. Add a special case
1058         hack for NumLock on Sun servers. (Patch from
1059         Robert Basch, #115819)
1060
1061 2003-08-25  Matthias Clasen  <maclas@gmx.de>
1062
1063         * gtk/gtkactiongroup.c (gtk_action_group_add_actions): Remove C99isms. (Morten 
1064         Welinder)
1065
1066         * gtk/gtkactiongroup.[hc] (gtk_action_group_set_translate_func,
1067         gtk_action_group_set_translation_domain): Hooks for translation of
1068         label and tooltip in GtkActionGroupEntries.  (#120620)
1069
1070 2003-08-25  Matthias Clasen  <maclas@gmx.de>
1071
1072         * gtk/gtkactiongroup.h (GtkActionGroupEntryType): Namespace the enum
1073         values properly. Sorry about the resize grip trouble, Owen.  (#120621)
1074         
1075         * gtk/gtkactiongroup.c: 
1076         * demos/gtk-demo/appwindow.c: 
1077         * tests/testmerge.c: 
1078         * tests/testactions.c: Use new GtkActionGroupEntryType enum.  
1079
1080 Sun Aug 24 17:14:44 2003  Owen Taylor  <otaylor@redhat.com>
1081
1082         * gtk/gtk.h: Remove reference to gtkresizegrip.h.
1083
1084 Sun Aug 24 17:03:44 2003  Owen Taylor  <otaylor@redhat.com>
1085
1086         * gtk/Makefile.am: Fix accidental commit of references
1087         to gtkresizegrip.[ch]
1088
1089 Sun Aug 24 17:00:03 2003  Owen Taylor  <otaylor@redhat.com>
1090
1091         * gtk/gtkrc.c: Fix some missing initializations of
1092         rc_file->directory.
1093
1094 2003-08-24  Matthias Clasen  <maclas@gmx.de>
1095
1096         * gtk/gtkaction.[ch]: 
1097         * gtk/gtktoggleaction.[ch]: 
1098         * gtk/gtktoggleactionprivate.h: 
1099         * gtk/gtkradioaction.[ch]: 
1100         * gtk/gtkactiongroup.[ch]: 
1101         * gtk/gtkmenumerge.[ch]: A model-view separation for menus and
1102         toolbars, using the EggMenu code by James Henstridge.
1103
1104         * gtk/gtk.h: Include new headers.
1105         * gtk/Makefile.am: Add new files.
1106
1107         * tests/testactions.c: Test for actions.
1108         * tests/testmerge.c: Test for menu merging.
1109         * tests/merge-[123].ui: Test data for testmerge. 
1110         * tests/Makefile.am: Add testactions and testmerge.
1111
1112         * demos/gtk-demo/appwindow.c: Use GtkMenuMerge to construct the 
1113         menubar and toolbar.
1114         
1115 Sat Aug 23 21:40:18 2003  Owen Taylor  <otaylor@redhat.com>
1116  
1117         * gtk/gtkrc.c (gtk_rc_context_parse_one_file): Fix 
1118         problem where rc_file->directory wasn't always getting
1119         set. (#120549, Luis Villa)
1120  
1121 2003-08-22  Christian Rose  <menthos@menthos.com>
1122
1123         * configure.in: Added "ne" to ALL_LINGUAS.
1124
1125 Thu Aug 21 16:00:36 2003  Owen Taylor  <otaylor@redhat.com>
1126  
1127         * gtk/gtkrc.c: Keep a list of current GtkRcFiles
1128         being parsed, not just the directories for those
1129         files. Use that to catch recursion. (Part of
1130         #114988)
1131  
1132 Thu Aug 21 21:27:45 2003  Kristian Rietveld  <kris@gtk.org>
1133
1134         Merge from stable.
1135
1136         Fix option menu scrolling (#119821, Owen Taylor).
1137
1138         * gtk/gtkmenu.c (gtk_menu_scroll_to): remove logic introduced
1139         by #80484 and the CLAMP,
1140         (get_menu_height): new function,
1141         (gtk_menu_real_move_scroll): sort of moved the CLAMP here to correct
1142         new_offset to handle page up/down right.
1143
1144 Thu Aug 21 15:17:42 2003  Owen Taylor  <otaylor@redhat.com>
1145
1146         * gdk/x11/gdkkeys-x11.c: Change the interpretation
1147         of consumed_modifiers so that it contains:
1148          - Modifiers combinations actually found in
1149            state.
1150          - Single modifier modifier combinations.
1151         But not multi-modifier combinations that aren't
1152         in event->state. Document. (#100439)
1153
1154 Thu Aug 21 20:53:46 2003  Kristian Rietveld  <kris@gtk.org>
1155
1156         Slightly modified patch from Yann Rouillard to improve selection
1157         behavior with the mouse. Fixes #120187.
1158
1159         * gtk/gtktreeview.c (gtk_tree_view_button_press): only
1160         select/deselect items on the first button press of button 1,
1161         expand checks for row_activated to include triple clicks.
1162
1163 Thu Aug 21 01:33:51 2003  Kristian Rietveld  <kris@gtk.org>
1164
1165         Merge from stable.
1166
1167         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): always round
1168         approximate digit widths up, to avoid truncation, convert to
1169         pango pixels when we have the full string width instead of converting
1170         the approx digit width to pango pixels, take inner border and
1171         interior focus into account correctly. (Fixes #116368, patch from
1172         Morten Welinder).
1173
1174 2003-08-20  Noah Levitt  <nlevitt@columbia.edu>
1175
1176         * gtk/queryimmodules.c: Don't look at the same directory twice (in
1177         simple cases). (#120342)
1178
1179 Wed Aug 20 22:04:47 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1180
1181         * gdk/gdkwindow.c: Make the layers in the paint stack have their
1182         own pixmap instead of sharing one. (#118317)
1183
1184         * tests/testgtk.c (create_get_image): Fixes to make the window fit
1185         on an 800x600 screen
1186
1187 Wed Aug 20 22:03:25 2003  Kristian Rietveld  <kris@gtk.org>
1188
1189         Merged from stable.
1190
1191         * gtk/gtkspinbutton.c (start_spinning): change the type of step
1192         to gdouble, since it gets it's data from a gdouble (Fixes #113547).
1193
1194 Mon Aug 18 17:19:12 2003  Owen Taylor  <otaylor@redhat.com>
1195
1196         * modules/input/gtkimcontextxim.[ch]: Substantially
1197         rework the handling of status windows:
1198         
1199          - Store the current StatusWindow in the 
1200            GtkIMContextXIM structure and vice-versa, so we
1201            don't have to hunt the window hierarchy on
1202            cleanup.
1203          - Use the Gtkidget hierarchy instead of/or as well
1204            as the GdkWindow hierarchy when finding the toplevel;
1205            this helps for things like GtkHandlebox
1206          - Watch GtkWidget::hierarchy_changed to catch 
1207            changes in the toplevel without changes in the
1208            GdkWindow (reparenting)
1209          - Never create the GtkWindow for the status window
1210            unless we have text to display.
1211          - Various cleanups, add lots of comments.
1212
1213         (#115077, much help from Takuro Ashie and Hidetoshi
1214         Tajima in tracking this down and figuring out a fix.)
1215
1216         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_focus_in): 
1217
1218         * modules/input/gtkimcontextxim.c: Track the current
1219         screen for each toplevel so that we show the status
1220         window on the right screen. (#116340, James Su)
1221
1222         * modules/input/gtkimcontextxim.c: If create a new IC
1223         when we currently have the focus, call XSetICFocus()
1224         on it.
1225         
1226         * modules/input/gtkimcontextxim.c (get_im): Fix bug
1227         with multiple open screens.
1228
1229 Tue Aug 19 14:37:46 2003  Owen Taylor  <otaylor@redhat.com>
1230
1231         * gtk/gtkimmulticontext.[ch] (struct _GtkIMMulticontext): 
1232         Replace client_window field with 'priv' pointer,
1233         retaining binary compatibility.
1234
1235         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave): 
1236         save use_preedit/cursor_location/focus status and set
1237         up the new slave appropriately. (#118651, Botond Botyanszki)
1238
1239 Tue Aug 19 13:58:50 2003  Owen Taylor  <otaylor@redhat.com>
1240
1241         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
1242         Don't use impl->position_info.clip_rect for toplevels.
1243         (#107068, reported by Thomas Mirlacher)
1244
1245 Mon Aug 18 11:48:51 2003  Owen Taylor  <otaylor@redhat.com>
1246
1247         * gdk/x11/gdkdrawable-x11.c (convert_to_format): 
1248         Add a fallback for unaligned source data for
1249         FORMAT_ARGB_MASK. (#117217)
1250
1251 Mon Aug 18 10:51:57 2003  Owen Taylor  <otaylor@redhat.com>
1252
1253         * configure.in: Rework handling of REBUILD_PNGS,
1254         so that we also don't try to REBUILD_PNGS when
1255         cross-compiling and there is no gdk-pixbuf-csource.
1256         But give an error if gtk/stock-icons/gtkstockpixbufs.h
1257         is not in the source tree. (Note that REBUILDS_PNG
1258         was set backwards before, which is why you always
1259         had to manually recreate gtkstockpixbufs.h!)
1260
1261 Mon Aug 18 10:19:55 2003  Owen Taylor  <otaylor@redhat.com>
1262
1263         * gtk+-2.0-uninstalled.pc.in: Add a missing gtk/ in the
1264         path to libgtk.la. (#120080, Benedikt Spranger)
1265
1266 Sat Aug 16 10:34:49 2003  Owen Taylor  <otaylor@redhat.com>
1267
1268         * modules/input/imcedilla.c: Make the list of default
1269         languages more comprehensive. (Suggestion of
1270         Fco. Javier F. Serrador)
1271
1272 Sat Aug  9 12:47:11 2003  Owen Taylor  <otaylor@redhat.com>
1273
1274         * gdk/gdk.c (gdk_arg_context_parse): Fix broken 
1275         parentheses when skipping args.
1276
1277 Sat Aug 16 16:22:23 2003  Kristian Rietveld  <kris@gtk.org>
1278
1279         Fix major bug in row ref handling, so the new combo box
1280         will actually work right (:. Bug #107748. Patch written
1281         with help from Tim Janik.
1282
1283         The basic idea is to update the row refs in a closure,
1284         before the actual signal is emitted (rather than having
1285         the model connect signal handlers).
1286
1287         * gtk/gtktreemodel.c (gtk_tree_model_base_init): change
1288         g_signal_new calls for row_inserted, row_deleted and
1289         rows_reordered to use the new marshallers,
1290         (row_inserted_marshall), (row_deleted_marshall),
1291         (rows_reordered_marshall): the new marshallers,
1292         (gtk_tree_row_ref_inserted_callback): renamed to
1293         gtk_tree_row_ref_inserted since it isn't a callback
1294         anymore and gets called by the marshaller now,
1295         (gtk_tree_row_ref_deleted_callback): likewise,
1296         (gtk_tree_row_ref_reordered_callback): likewise,
1297         (connect_ref_callbacks), (disconnect_ref_callbacks):
1298         removed,
1299         (gtk_tree_row_reference_new_proxy),
1300         (gtk_tree_row_reference_free),
1301         (gtk_tree_row_reference_inserted),
1302         (gtk_tree_row_reference_deleted),
1303         (gtk_tree_row_reference_reordered): updated.
1304
1305 Fri Aug 15 16:54:39 2003  Owen Taylor  <otaylor@redhat.com>
1306
1307         Improve Cedilla handling - based on a patch from Gustavo 
1308         De Nardin, #111334
1309
1310         * modules/input/imcedilla.c po/POTFILES.in: Input method that 
1311         produces C_WITH_CEDILLA rather than C_WITH_ACUTE for 
1312         dead_acute+c combinations. Make this the default for
1313         fr and pt.
1314
1315         * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave): 
1316         Use LC_CTYPE instead of LC_MESSAGES to pick the default
1317         input method.
1318
1319 Fri Aug 15 17:00:19 2003  Owen Taylor  <otaylor@redhat.com>
1320
1321         * gtk/gtkimcontextsimple.c: Fix missing compose sequence
1322         for Multi_key+c+apostrophe.
1323
1324 Fri Aug 15 21:57:34 2003  Kristian Rietveld  <kris@gtk.org>
1325
1326         Merged from stable.
1327
1328         * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): stop editing
1329         on vertical scrolling. (#108035, reported by Tim Janik).
1330
1331 Fri Aug 15 20:06:42 2003  Kristian Rietveld  <kris@gtk.org>
1332
1333         Merged from stable.
1334
1335         * gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
1336         (gtk_tree_model_sort_level_find_insert),
1337         (gtk_tree_model_sort_insert_value): fix off-by-one error.
1338         (#109292 continued, patch from Yann Rouillard).
1339
1340 Fri Aug 15 19:43:14 2003  Kristian Rietveld  <kris@gtk.org>
1341
1342         (Note: This is not exactly the same as the patch which went in
1343          gtk-2-2).
1344
1345         * gtk/gtktreeview.c (gtk_tree_view_class_init),
1346         (gtk_tree_view_key_press), (gtk_tree_view_search_key_press_event):
1347         Also support the up, down, left, right, home, end, page up and
1348         page down keys on the numpad. (#119419, reported by Alex Larsson).
1349
1350 Fri Aug 15 12:34:04 2003  Owen Taylor  <otaylor@redhat.com>
1351
1352         Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai):
1353
1354         * configure.in (GDK_DEP_LIBS_FOR_X): Make sure that
1355         we link libgtk against X explicitely, since we
1356         make GTK+ calls for plug/socket.
1357
1358         * gtk/queryimmodules.c: Use USE_LA_MODULES and 
1359         G_MODULE_SUFFIX here. 
1360
1361         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_image): Protect
1362         XShmPutImage with #ifdef USE_SHM.
1363
1364 Thu Aug 14 18:25:39 2003  Owen Taylor  <otaylor@redhat.com>
1365
1366         * gtk/gtkfilesel.c (gtk_file_selection_populate):
1367         Don't reposition the cursor when we aren't trying
1368         to complete. (Fixes problems with selection on
1369         startup, #108433, reported by Mark Finlay.)
1370
1371         * gtk/gtkfilesel.c (gtk_file_selection_populate): Remove
1372         code that tried to position the cursor after the common
1373         prefix when there was one, it wasn't working, and
1374         would be hard to fix. Just always put the cursor
1375         at the end when completing.
1376
1377 Thu Aug 14 17:58:23 2003  Owen Taylor  <otaylor@redhat.com>
1378
1379         * gtk/gtkfilesel.c (get_current_dir_utf8): If getting
1380         the current directory fails because of encoding
1381         conversion problems, walk up textually to parent
1382         directories until we can convert. (#113627)
1383
1384 Wed Aug 13 17:01:49 2003  Owen Taylor  <otaylor@redhat.com>
1385
1386         * gtk/gtkmenushell.[ch] (gtk_menu_shell_enter_notify):
1387         Remove usage of menu_shell->ignore leave which was
1388         to deal with stray events we no longer get because
1389         we do grabbing differently. Comment it as unused in
1390         the header. (#115837, Keith Bissett)
1391
1392 Wed Aug 13 16:32:43 2003  Owen Taylor  <otaylor@redhat.com>
1393
1394         * gtk/gtkmenu.c (gtk_menu_position, gtk_menu_window_size_request): 
1395         Fix some places that weren't properly Xinerama-ified.
1396
1397         * gtk/gtkmenu.c: Fix problem with windows that scroll
1398         at the top of the screen.
1399
1400 Wed Aug 13 11:34:53 2003  Owen Taylor  <otaylor@redhat.com>
1401
1402         * gtk/gtkcombo.c (gtk_combo_init): connect_after() to 
1403         key-press-event on the entry, so input methods get access to 
1404         key presses before GtkCombo customization.
1405         (#115451, Botond Botyanszki)
1406
1407 2003-08-13  Anders Carlsson  <andersca@gnome.org>
1408
1409         * tests/testtoolbar.c: (set_important_func), (important_toggled),
1410         (create_items_list):
1411         Add an important column.
1412         
1413 Tue Aug 12 15:00:15 2003  Owen Taylor  <otaylor@redhat.com>
1414
1415         * gtk/gtkwindow.c (gtk_window_real_set_focus): Protect
1416         against reentrancy from ::focus-out handlers. 
1417         (#118129, Felipe Heidrich)
1418
1419 Tue Aug 12 14:27:42 2003  Owen Taylor  <otaylor@redhat.com>
1420
1421         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Remove
1422         GDK_LOCK_MASK before calling
1423         gdk_keymap_translate_keyboard_state so bindings 
1424         and accelerators are independent of the Caps-lock
1425         key. (#115384, reported by Toni Willberg)
1426
1427 Mon Aug 11 12:07:14 2003  Owen Taylor  <otaylor@redhat.com>
1428
1429         * gdk/x11/gdkevents-x11.c (get_real_window): Add missing
1430         break statements (#119494, Soeren Sandmann)
1431
1432 Mon Aug 11 11:10:07 2003  Owen Taylor  <otaylor@redhat.com>
1433
1434         * gtk/gtkwidget.h: Mark parent public as well; it's
1435         extensively accessed in existing code, so there is
1436         no advantage in making people use get_parent().
1437         (Tweak to #119463 fix)
1438
1439 2003-08-11  Matthias Clasen  <maclas@gmx.de>
1440
1441         Add support for EWMH "Above" and "Below" window states.  (105100,
1442         Manuel Clos)
1443         
1444         * tests/testgtk.c: Add "Above" and "Below" to the the "Window
1445         State" demo.
1446
1447         * gtk/gtkwindow.h: Add gtk_window_set_keep_above and
1448         gtk_window_set_keep_below.
1449
1450         * gtk/gtk.def: Add gtk_window_set_keep_above and
1451         gtk_window_set_keep_below.
1452
1453         * gtk/gtkwindow.c (gtk_window_set_keep_below):
1454         (gtk_window_set_keep_above): New functions, call the corresponding
1455         gdk functions.
1456
1457         * gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_below): New
1458         function, sets _NET_WM_STATE_BELOW.
1459         (gdk_window_set_keep_above): New function, sets
1460         _NET_WM_STATE_ABOVE.
1461
1462         * gdk/gdkwindow.h: Add gdk_window_set_keep_above and
1463         gdk_window_set_keep_below.
1464
1465         * gdk/gdkevents.h (GdkWindowState): Add GDK_WINDOW_STATE_ABOVE and
1466         GDK_WINDOW_STATE_BELOW.
1467
1468         * gdk/gdk.def: Add gdk_window_set_keep_above and
1469         gdk_window_set_keep_below.
1470
1471         * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and
1472         JH_PATH_XML_CATALOG from gtk-doc to enable configuring without
1473         xmlcatalog in PATH.  (#119115)
1474
1475 2003-08-10  Matthias Clasen  <maclas@gmx.de>
1476
1477         * gtk/gtkwidget.h (struct _GtkWidget): Mark some members as
1478         public.  (#119463)
1479
1480 2003-08-09  Noah Levitt  <nlevitt@columbia.edu>
1481
1482         * gdk/gdkevents.h:
1483         * docs/reference/gdk/tmpl/windows.sgml: Elaborate a bit more in the
1484         docs on GdkFilterFunc and GdkFilterReturn.
1485
1486 2003-08-09  Matthias Clasen  <maclas@gmx.de>
1487
1488         * gtk/gtkcalendar.c:  Add and hook in gtk_calendar_scroll,
1489         to let the mouse wheels select the month. Scrolling down
1490         moves forward in time. (#53134, Abigail Brady) 
1491
1492         * gtk/gtkcalendar.c: Complete the RTL flipping support for
1493         GtkCalendar, make it possible to flip the headings using the
1494         "magic translated string" technique.  Translators, note the
1495         comment in gtk_calendar_init() explaining this.  (#102416)
1496
1497         * gtk/gtkcalendar.c: Get the information about the first day of
1498         the week from the locale using another instance of the "magic
1499         translated string" technique.  Ignore the display option
1500         GTK_CALENDAR_WEEK_START_MONDAY with a warning.  (#87977)
1501
1502         * gtk/gtkcalendar.c: Add DND support to GtkCalendar. The selected
1503         date is dragged as text, formatted via strftime %x. Text drops are
1504         accepted if g_date_set_parse() can make sense of the text. A
1505         dedicated data format for date DND has not been introduced yet,
1506         since there didn't seem to be sufficient consensus on such a
1507         format on xdg-list.  (#117297)
1508         
1509 2003-08-08  Matthias Clasen  <maclas@gmx.de>
1510
1511         * gdk/gdkregion-generic.c (gdk_region_spans_intersect_foreach):
1512         Fix a segfault.  (#115284, Jan Kratochvil)
1513
1514 2003-08-08  Tor Lillqvist  <tml@iki.fi>
1515
1516         * gdk/win32/gdkevents-win32.c (print_event): Print also the root
1517         coordinates for events that have such. Print coordinates for enter
1518         and leave events.
1519
1520         (gdk_event_translate): Don't use event uninitialixed in the
1521         return_exposes branch of the WM_PAINT handler.
1522
1523         * gdk/win32/gdkwindow-win32.c (gdk_window_new,
1524         _gdk_windowing_window_get_pointer, _gdk_windowing_window_at_pointer): 
1525         Must offset top-level window coordinates here, too.
1526
1527 2003-08-08  Matthias Clasen  <maclas@gmx.de>
1528
1529         * demos/gtk-demo/appwindow.c (do_appwindow): Hide the resize grip
1530         when maximized or fullscreen.
1531
1532 2003-08-07  Tor Lillqvist  <tml@iki.fi>
1533
1534         * gdk/win32/gdkinput-win32.h
1535         * gdk/win32/gdkinput-win32.c (_gdk_input_configure_event,
1536         _gdk_input_enter_event): Drop the GdkEvent* parameter, it wasn't
1537         used.
1538
1539         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Adapt caller
1540         accordingly, in fact an uninitialised variable was dereferenced.
1541         
1542
1543         [Win32] Add support for multiple monitors. 
1544         
1545         * gdk/win32/gdkprivate-win32.h
1546         * gdk/win32/gdkglobals-win32.c: New global variables for
1547         multiple-monitor info: _gdk_num_monitors, _gdk_monitors, and
1548         _gdk_offset_x and _gdk_offset_y.
1549         
1550         * gdk/win32/gdkdisplay-win32.c (count_monitor, enum_monitor): New
1551         functions, enumeration functions passed to EnumDisplayMonitors().
1552
1553         (gdk_display_open): If the EnumDisplayMonitors() and
1554         GetMonitorInfo() API is present (on Win98, Win2000 and newer), use
1555         if to find out monitor info.
1556
1557         Calculate the offset between Win32 coordinates (relative to the
1558         primary monitor's origin (and thus negative on monitors to the
1559         left of or above it), and GDK's (visible coordinates should be
1560         non-negative).
1561         
1562         * gdk/win32/gdkscreen-win32 (gdk_screen_get_n_monitors,
1563         gdk_screen_get_monitor_geometry): Use information collected above.
1564
1565         (gdk_window_move, gdk_window_move_resize_window_get_geometry):
1566         Subtract _gdk_offset_{x,y} from GDK root window coordinates.
1567
1568         (gdk_window_get_geometry, gdk_window_get_origin,
1569         gdk_window_get_frame_extents): For top-level windows, add
1570         _gdk_offset_{x,y} to GDK root window coordinates
1571
1572         Still need to handle multiple monitors in
1573         gdk_window_fullscreen(). Probably should make the window
1574         fullscreen on the monitor where the cursor is?
1575
1576         * gdk/win32/gdkevents-win32.c: Add _gdk_offset_{x,y} to all GDK
1577         root window coordinates in GdkEvents.
1578
1579         
1580         [Win32] Fix geometry hint handling. Add support for resize
1581         increment and base size, and aspect ratio geometry hints. The
1582         "gridded geometry" test in testgtk now works beautifully.
1583
1584         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
1585         Turns out this function shouldn't actually ever modify the
1586         window's size, just store the hints. (Old code kept for a while
1587         inside #if 0.)
1588
1589         (gdk_window_set_hints): Remove presumably broken code that handles
1590         the position hints, this function is obsolete anyway.
1591
1592         * gdk/win32/gdkevents-win32.c: Drop the current_{x,y}_root
1593         variables, not used.
1594
1595         (adjust_drag): New function, used to implement resize increment
1596         hints.
1597
1598         (gdk_event_translate): Handle WM_SIZING, implement resize
1599         increment and base size, and aspect ratio geometry hints here. The
1600         WM_GETMINMAXINFO handler takes care of the minimum and maximum
1601         size hints as before. Fix the WM_GETMINMAXINFO handler to take
1602         into account window decorations. No need to modify the
1603         ptMaxPosition and ptMaxSize fields in the MINMAXINFO struct,
1604         the defaults are fine.
1605         
1606         * gdk/win32/gdkprivate-win32.h 
1607         * gdk/win32/gdkwindow-win32.c (_gdk_win32_adjust_client_rect,
1608         _gdk_win32_get_adjusted_client_rect): New helper functions.
1609
1610 2003-08-07  Matthias Clasen  <maclas@gmx.de>
1611
1612         * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Reset the
1613         toplevel->have_* flags before iterating over the _NET_WM_STATE 
1614         atoms.  (#119217) 
1615
1616 Thu Aug  7 16:49:29 2003  Owen Taylor  <otaylor@redhat.com>
1617  
1618         * gtk/gtkwidget.c (gtk_widget_set_style_internal): 
1619         Fix a bug where on theme change, resize/redraw wasn't
1620         properly getting queued on toplevel windows. (#116346,
1621         Rajkumar Siva)
1622  
1623         * gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows): 
1624         Fix bug where wrong coordinates were used for toplevel
1625         window.
1626  
1627 Thu Aug  7 16:40:21 2003  Owen Taylor  <otaylor@redhat.com>
1628
1629         * gtk/gtknotebook.c (gtk_notebook_remove): Remove leftover
1630         page_num variable (Archit Baweja)
1631
1632 2003-08-07  Matthias Clasen  <maclas@gmx.de>
1633
1634         * gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod() to
1635         cope with C libraries with crippled locale support.  (#115293)
1636
1637 2003-08-07  Hans Breuer  <hans@breuer.org>
1638
1639         * gdk/win32/gdkevents-win32.c : finally use TrackMouseEvent
1640         (only if the new window not known to Gdk) to get proper
1641         leave notification, and get rid of the wrong placed 
1642         tooltips, bug #102283
1643  
1644         (gdk_event_translate) : small code reordering to not get
1645         GDK_MOTION_NOTIFY for still mouse and get back tooltips on 
1646         menus, bug #117367
1647
1648 2003-08-07  Tor Lillqvist  <tml@iki.fi>
1649
1650         * gdk/gdk.def
1651         * gdk/win32/gdkfont-win32.c (gdk_fontset_load_for_display): Add
1652         missing function, trivially implement.
1653
1654 2003-08-07  Matthias Clasen  <maclas@gmx.de>
1655
1656         * gtk/gtkctree.c (draw_row): Don't cut descenders when 
1657         rendering.  (#118646, Charles Kerr) 
1658
1659 2003-08-06  Hans Breuer  <hans@breuer.org>
1660
1661         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) :
1662         initialize bits to 0 (probably default on NT)
1663
1664         * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
1665         now it works as intended ;-)
1666
1667 2003-08-04  Hans Breuer  <hans@breuer.org>
1668
1669         * gdk/win32/gdkwindow-win32.c(gdk_window_set_modal_hint) :
1670         set HWND_NOTOPMOST for modal==FALSE, fixes bug #118435
1671
1672         * gdk/win32/gdkwindow-win32.c : implement gdk_window_[un]fullscreen
1673         (gdk_window_{move,resize,move_rezize})) : noop if FULLSCREEN
1674
1675         * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
1676         against all expectations it is basically ony a call with WM_SETICON
1677         needed (the visual effect is there, though colors or mask are
1678         still somewhat wrong).
1679         * gdk/win32/gdkwindow-win32.h : place to store the HICON
1680
1681         * gdk/win32/gdkdrawabke.win32.c : readded the conditional end
1682         pixel drawing as it was fixed at 1999-08-23
1683
1684         gtk/gtk.def : updated
1685
1686 Tue Aug  5 10:07:08 2003  Owen Taylor  <otaylor@redhat.com>
1687
1688         * gtk/gtkmessagedialog.c (gtk_message_dialog_get_property): 
1689         Add a missing break. (#119156, Callum McKenzie)
1690
1691 Tue Aug  5 00:24:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1692
1693         * gtk/gtkmenu.c (gtk_menu_position): New positioning
1694         algorithm.(#116649)
1695
1696 Fri Aug  1 15:26:46 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1697
1698         * gtk/gtktoolbar.c, gtk/toolitem.c: add new "is_important"
1699         property
1700         
1701         * gtk/gtkradiotoolbutton.c
1702         (gtk_radio_tool_button_new_from_widget): Don't take a stock id
1703
1704         * gtk/gtkradiotoolbutton.c
1705         (gtk_radio_tool_button_new_with_stock_from_widget): make this
1706         function take a stock_id.
1707
1708         * gtk/toolbar: documentation
1709
1710 Mon Aug  4 14:53:46 2003  Owen Taylor  <otaylor@redhat.com>
1711
1712         * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): 
1713         Fix problem where use_xshm was getting set wrong if
1714         MIT_SHM wasn't found. (George Lebel)
1715
1716 2003-08-04  Tor Lillqvist  <tml@iki.fi
1717
1718         * gdk/win32/gdkevents-win32.c (apply_filters): Fix braino:
1719         actually use the passed-in filter list. The function also needs a
1720         GdkWindow parameter, as filter functions expect
1721         GdkEvent::any.window to be valid. (#119034, Hans Breuer)
1722
1723 2003-08-03  Matthias Clasen  <maclas@gmx.de>
1724
1725         * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): 
1726         (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid
1727         the term "virtual screen".  (#119030, Tor Lillquist)
1728
1729 2003-08-02  Matthias Clasen  <maclas@gmx.de>
1730
1731         * tests/testtext.c (test_init): 
1732         * tests/testgtk.c (test_init): 
1733         * tests/testdnd.c (test_init): 
1734         * demos/pixbuf-init.c (pixbuf_init): 
1735         * demos/gtk-demo/main.c (main): Use g_setenv().
1736
1737         * gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Use
1738         g_unsetenv(). 
1739
1740 Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>
1741
1742         * configure.in: Requires glib-2.3.0, pango-1.2.0.
1743
1744         * configure.in: Require Xft version 2,
1745         remove code for handling older versions of pango and Xft.
1746         Many miscellaneous improvements to X checks
1747
1748         * acinclude.m4: Add GTK_ADD_LIB() macro for adding 
1749         a library to a variable, avoiding dups.
1750
1751         * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): 
1752         Always load "fixed"
1753
1754         * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
1755         for pangox.
1756
1757 2003-08-02  Matthias Clasen  <maclas@gmx.de>
1758
1759         * gtk/gtkcolorsel.c (color_sample_drop_handle) 
1760         (palette_drop_handle): 
1761         * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  Accept
1762         drops with the wrong format, since the KDE color chooser incorrectly
1763         drops application/x-color with format 8.  (#118810)
1764
1765         * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): 
1766         * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  
1767         Accept drops with the wrong format, since the KDE color chooser 
1768         incorrectly drops application/x-color with format 8.  (#118810)
1769
1770 2003-08-02  Tor Lillqvist  <tml@iki.fi>
1771
1772         Fix gdk/win32 window geometry handling again. The window position
1773         in a GDK_CONFIGURE event should be that of the client area, not of
1774         the window decorations. (I was confused by the term "window
1775         border" in X11. It does *not* mean the window manager
1776         decorations. There are no X11-style window borders in Win32.)
1777         Also, this time do take the geometry hints into account
1778         appropriately when moving windows. Now testgtk's gravity test's
1779         move buttons work OK. There are stil problems with taking gravity
1780         into account when showing a hidden window.
1781
1782         * gdk/win32/gdkwindow-win32.h: Keep a whole GdkGeometry as hints
1783         instead of separate fields.
1784         
1785         * gdk/win32/gdkevents-win32.c (handle_configure_event): Don't
1786         adjust for decorations.
1787
1788         * gdk/win32/gdkwindow-win32.c (get_outer_rect,
1789         adjust_for_gravity_hints): New functions.
1790         (gdk_window_move, gdk_window_resize, gdk_window_move_resize): Use
1791         above functions, take geometry hints into account.
1792         (gdk_window_set_geometry_hints): Size hints specicy client area,
1793         not including decorations.
1794
1795 Fri Aug  1 17:10:22 2003  Owen Taylor  <otaylor@redhat.com>
1796
1797         * gtk/gtkfilesel.c (cmpl_completion_fullname): Always
1798         return an absolute path (#115590), fix a problem where
1799         you could crash the file selector with a looong name
1800         by returning a newly allocated buffer.
1801
1802 Fri Aug  1 16:44:51 2003  Owen Taylor  <otaylor@redhat.com>
1803
1804         * gtk/gtkfilesel.c (update_cmpl): Fix obvious reallocation
1805         bug in rarely or never hit code path (#118071,
1806         Tor Lillqvist)
1807
1808 Fri Aug  1 16:30:13 2003  Owen Taylor  <otaylor@redhat.com>
1809
1810         * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render): 
1811         If the check for missing depths, try actually creating pixmaps
1812         of the depths to deal with Xinerama not reporting
1813         all the depths it should. (#115822)
1814
1815 Fri Aug  1 15:33:59 2003  Owen Taylor  <otaylor@redhat.com>
1816
1817         * gtk/gtksocket.c: Patch from Denis Mikhalkin to
1818         forward KeyRelease events as well as KeyPress events.
1819         (#115597)
1820
1821 Fri Aug  1 15:06:25 2003  Owen Taylor  <otaylor@redhat.com>
1822  
1823         * gdk/gdk.c (gdk_parse_args): g_set_prgname("<unknown>")
1824         if argc is 0 as well, instead of leaving it unset.
1825         (#116023, Michael Meeks)
1826  
1827 Thu Jul 31 23:09:02 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1828
1829         * gtk/gtktoolbar.c (gtk_toolbar_class_init): make show_arrow
1830         default to TRUE; ignore the property when api_mode != NEW_API
1831
1832 2003-07-31  Matthias Clasen  <maclas@gmx.de>
1833
1834         * gtk/gtkwindow.c (gtk_window_set_default_icon): Rename parameter pixbuf
1835         to icon, to pacify gtk-doc.
1836
1837         * gtk/gtkwidget.c (gtk_widget_class_init): Fix formatting of drag-motion 
1838         example. 
1839
1840 Thu Jul 31 15:33:33 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1841
1842         * gtk/gtk*tool*.h: add padding to subclasses of GtkToolItem
1843
1844 Thu Jul 31 15:29:28 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1845
1846         * gtk/gtktoolitem.c (struct _GtkToolItemPrivate): remove unused
1847         overflow_item field.
1848
1849 Wed Jul 30 21:11:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1850
1851         * gtk/gtktoolitem.h: make _gtk_tool_item_toolbar_reconfigured()
1852         an internal function
1853
1854         * gtk/gtktoolitem.h: remove unused declaration of
1855         _gtk_tool_item_get_drag_window().
1856
1857 Wed Jul 30 17:03:58 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1858
1859         * gtk/gtktoolbutton.[ch]:
1860         (gtk_tool_button_new): swap icon_widget and label arguments to
1861         match BonoboUIToolbarButton.
1862
1863         * gtk/gtktoolbar.h: un-deprecate gtk_toolbar_{set|unset}_style().
1864
1865 2003-07-30  Matthias Clasen  <maclas@gmx.de>
1866
1867         * gtk/gtkwidget.c (gtk_widget_class_init): Some updates to the DND
1868         signal docs. 
1869
1870 2003-07-29  Tor Lillqvist  <tml@iki.fi>
1871
1872         Fix for #108007, #112402, #117042: There was confusion in
1873         gdk/win32 at various places whether a window position refers to
1874         the decoration position or the client area position. Also whether
1875         window size includes decorations or not.
1876         
1877         The correct interpretation apparently is that in GDK (like in
1878         X11), a top-level window position means the decoration's position,
1879         but size means the window's inner size (client area size). In the
1880         Win32 API, the window size usually includes the decorations,
1881         though.
1882         
1883         * gdk/win32/gdkevents-win32.c (decode_key_lparam): Move inside
1884         #ifdef G_ENABLE_DEBUG.
1885         (handle_configure_event): New function, generates GDK_CONFIGURE
1886         events from WM_SIZE and WM_MOVE messages. Even if no event is
1887         generated because of the event mask, still set the private
1888         position and size fields. Calculate position and size correctly.
1889         (gdk_event_translate): Call handle_configure_event().
1890
1891         * gdk/win32/gdkgeometry-win32.c: Cosmetics.
1892
1893         * gdk/win32/gdkwindow-win32.c: Use GDI_CALL() and API_CALL()
1894         macros. Cosmetic debugging output changes.
1895         (SafeAdjustWindowRectEx): Remove. If an application wants to
1896         locate a window outside of the screen, it's not GDK's business to
1897         prevent it. And anyway, with multiple monitors, negative
1898         coordinates are perfectly normal.
1899         (gdk_window_new): Adjust the window size for decorations after
1900         _gdk_window_init_position() has done its job. (But the big window
1901         code currently is presumably broken on Win32 anyway.)
1902         (gdk_window_move): The position passed in is supposed to be that
1903         of the window border, so don't need to adjust for decorations.
1904         (gdk_window_resize, gdk_window_move_resize): Simplify somewhat.
1905
1906 Tue Jul 29 13:55:44 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1907
1908         * gtk/gtktoolbar.c (gtk_toolbar_set_style,
1909         gtk_toolbar_prepend_element, gtk_toolbar_append_element,
1910         gtk_toolbar_insert_space, gtk_toolbar_prepend_space,
1911         gtk_toolbar_append_space, gtk_toolbar_insert_item,
1912         gtk_toolbar_prepend_item, gtk_toolbar_append_item,
1913         gtk_toolbar_set_tooltips, gtk_toolbar_set_orientation,
1914         gtk_toolbar_new, gtk_toolbar_prepend_item):
1915
1916         Move documentation inline from template files.
1917
1918         * gtk/gtktoolbar.c (gtk_toolbar_insert_element,
1919         gtk_toolbar_insert_widget, gtk_toolbar_prepend_widget,
1920         gtk_toolbar_append_widget, gtk_toolbar_remove_space,
1921         gtk_toolbar_insert_stock, gtk_toolbar_unset_icon_size,
1922         gtk_toolbar_get_icon_size, gtk_toolbar_set_icon_size,
1923         gtk_toolbar_get_tooltips, gtk_toolbar_unset_style,
1924         gtk_toolbar_get_style, gtk_toolbar_get_orientation)
1925
1926         Copy documentation from stable that was added after the EggToolbar
1927         branched.
1928
1929         * gtk/gtktoolbar.h: deprecate gtk_toolbar_unset_icon_size()
1930
1931 Mon Jul 28 18:21:34 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1932
1933         * gtk+/docs/: Commit autogenerated changes, so patches will make
1934         sense.
1935
1936 2003-07-27  Tor Lillqvist  <tml@iki.fi>
1937
1938         * gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
1939         the keyboard state returned by GetKeyboardState() doesn't
1940         distinguish between the left and right Control and Alt keys. Thus
1941         we cannot detect AltGr (which is supposed to be left Control +
1942         right Alt) the same way as on NT-based systems, but have to accept
1943         either Control + either Alt as AltGr.
1944
1945 2003-07-27  Matthias Clasen  <maclas@gmx.de>
1946
1947         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
1948         Fix function name in warning message.  (#118156, Tim-Philipp
1949         Mller)
1950
1951         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
1952         is-expander and is-expanded are boolean properties, not ints.
1953         (#118359, Josh Parsons)
1954
1955 Sat Jul 26 15:21:27 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1956
1957         * gtk/gtkimagemenuitem.c
1958         (gtk_image_menu_item_toggle_size_request): don't request
1959         toggle_space when the image width is 0.
1960
1961 2003-07-25  Tor Lillqvist  <tml@iki.fi>
1962
1963         * gdk/win32/gdkprivate-win32.h
1964         * gdk/win32/gdkglobals-win32.c: New flags _gdk_input_locale_is_ime
1965         and _gdk_keyboard_has_altgr.
1966         
1967         * gdk/win32/gdkevents-win32.c: Lots of changes. Most important
1968         ones detailled here.
1969
1970         Code that has been ifdeffed out for a long time removed. Remove
1971         some really old doc comments that were left behind for some public
1972         functions, the official ones are in the X11 backend anyway. Change
1973         GDK_WINDOW_OBJECT() calls to GdkWindowObject casts. Reformat
1974         multi-line boolean expressions to have the operators at ends of
1975         lines.
1976
1977         As mouse capture with SetCapture() indeed seems to work OK, no
1978         need to have the correspoinding macro USE_SETCAPTURE and ifdefs.
1979
1980         Ifdef out the gdk-ping-msg stuff. I don't remember why it was
1981         needed at some time, and things seem to work fine now without
1982         (knock on wood).
1983
1984         Ifdef out the search for some Latin locale keyboard layout being
1985         loaded. Not used currently, but might be needed after all, if we
1986         decide that we want to be able to generate ASCII control character
1987         events with a non-Latin keyboard.
1988
1989         (assign_object): New helper function, handles the g_object_ref()
1990         and unref() calls when assigning GObject pointers.
1991                 
1992         (generate_crossing_events): Also generate the GDK_NOTIFY_INTERIOR
1993         enter event when the pointer has moved to an ancestor window. Was
1994         left out by mistake.
1995
1996         (gdk_window_is_ancestor): Renamed from gdk_window_is_child().
1997
1998         (gdk_pointer_grab, gdk_pointer_ungrab): Implement the confine_to
1999         functionality, using ClipCursor().
2000                 
2001         (find_window_for_mouse_event): Splice part of code into new
2002         function find_real_window_for_grabbed_mouse_event().
2003
2004         (fixup_event, append_event, apply_filters): New functions, code
2005         refactored out from elsewhere.
2006
2007         (synthesize_enter_or_leave_event, synthesize_leave_event,
2008         synthesize_enter_event,
2009         synthesize_leave_events,synthesize_enter_events): Also take a
2010         GdkCrossingMode parameter, in preparation to generating
2011         GDK_CROSSING_GRAB and GDK_CROSSING_UNGRAB events.
2012
2013         (fixup_event, append_event, fill_key_event_string): New functions,
2014         code refactoring.
2015
2016         (vk_from_char, build_keypress_event, build_keyrelease_event):
2017         Removed as part of dropping WM_CHAR handling.
2018
2019         (build_key_event_state,gdk_event_translate): Call
2020         GetKeyboardState(), once, for each keyboard message, instead of
2021         several calls to GetKeyState() here and there.
2022
2023         (gdk_event_translate): Fix bugs #104516, #104662, #115902. While
2024         at it, do some major refactoring, and some fixes for potential
2025         problems noticed while going through the code.
2026
2027         Don't handle WM_CHAR at all. Only handle WM_KEYDOWN and
2028         WM_KEYUP. Don't need the state variables related to whether to
2029         wait for WM_CHAR or not, and whether the current key is
2030         AltGr. Remove lots of complexity. Thus don't need the
2031         use_ime_composition flag.
2032
2033         Not handling WM_CHAR means dead key handling will have to be taken
2034         care of by GTK, but that seems to work fine, so no worry.
2035
2036         Another side-effect is that Alt+keypad digits don't work any
2037         longer, but it's better to learn to use GTK's ISO14755 support is
2038         anyway.
2039
2040         Be more careful in checking whether AltGr is involved. Only
2041         attempt to handle it if the keyboard actually has it. And
2042         explicitly check for *left* Control plus *right* Alt being
2043         pressed. Still, allow (left) Alt and/or (right) Control with AltGr
2044         chars.
2045
2046         Handle keys using similar code as in the X11 backend. As we have
2047         built a keymap in gdkkeys-win32.c anyway, use it by calling
2048         gdk_keymap_translate_keyboard_state() to look up the keysym from
2049         the virtual key code and keyboard state. Build the key event
2050         string in exactly the same way as the X11 backend.
2051
2052         If an IME is being used, don't generate GDK events for keys
2053         between receiving WM_IME_STARTCOMPOSITION and
2054         WM_IME_ENDCOMPOSITION, as those keys are for the IME.
2055         
2056         For WM_IME_COMPOSITION, handle all the Unicode chars returned from
2057         the IME, not just the first one.
2058
2059         gdk_event_translate() is still quite complex, could split the
2060         message handler cases out into separate functions.
2061
2062         On mouse events, when the mouse is grabbed, use
2063         find_real_window_for_grabbed_mouse_event() in order to be able to
2064         generate correct crossing events.
2065         
2066         No longer take a pre-allocated GdkEvent as parameter. Instead,
2067         allocate events as needed and append them to the queue. (This is
2068         different from how gdk_event_translate() in the X11 backend
2069         works.) This change made the code much clearer, especially in the
2070         cases where we have to generate several GDK events for one Windows
2071         message.  Return FALSE if DefWindowProc() should be called, TRUE
2072         if not. If DefWindowProc() should not be called, also return the
2073         value to be returned from the window procedure.
2074
2075         (Previously, the interaction with gdk_event_translate()'s caller
2076         was much more complex, when we had to indicate whether the
2077         already-queued event should be left in the queue or removed, and
2078         in addition also had to indicate whether to call DefWindowProc()
2079         or not, and what value to return from the window procedure if
2080         not.)
2081
2082         Don't use a separate "private" variable required to be pointing to
2083         the GdkWindowObject of the "window" variable at all times. Just
2084         use casts, even if looks a bit uglier.
2085
2086         Notice destroyed windows as early as possible, and break out of
2087         the messsage switch.
2088
2089         Use _gdk_pointer_root as current_window when the pointer is
2090         outside GDK's top-level windows.
2091         
2092         On WM_INPUTLANGCHANGE, set _gdk_input_locale_is_ime as
2093         appropriate, based on ImmIsIME().
2094         
2095         (gdk_event_translate, gdk_event_send_client_message_for_display,
2096         gdk_screen_broadcast_client_message): Implement client messages.
2097         Use a registered Windows message to pass GDK client messages. Note
2098         that the amount of user data is restricted to four bytes, as it is
2099         carried in the LPARAM. (The WPARAM is used for the message type
2100         "atom".)
2101         
2102         (real_window_procedure): Adapt for new gdk_event_translate()
2103         interface.
2104
2105         * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Set
2106         _gdk_input_locale_is_ime initially.
2107
2108         * gdk/win32/gdkwindow-win32.c: Use g_object_ref()/unref() instead
2109         of g_colormap_ref()/unref().
2110
2111         (gdk_window_new): Made code a bit more like the X11 one, pretend
2112         to handle screens (although we just have one for now).
2113
2114         * gdk/x11/gdkevents-x11.c
2115         (gdk_event_send_client_message_for_display,
2116         gdk_screen_broadcast_client_message): Document the user data
2117         limitation on Win32.
2118
2119         * gdk/win32/gdkevents-win32.c (print_event): More complete enter
2120         and leave notify detail output.
2121
2122         * gdk/win32/gdkkeys-win32.c (update_keymap): Make dead keys
2123         visible to GDK and GTK. Store the corresponding GDK_dead_* keysym
2124         for those, so that the GtkIMContextCimple compose tables will
2125         work. Deduce if the keyboard layout has the AltGr key, and set the
2126         above flag accordingly.
2127
2128 2003-07-26  Matthias Clasen  <maclas@gmx.de>
2129
2130         * gtk/gtkwidget.c: Document DND signals.
2131
2132 2003-07-24  Matthias Clasen  <maclas@gmx.de>
2133
2134         * gtk/gtktextview.c (popup_targets_received): Make the "Input Methods"
2135         insensitive when editing isn't possible.  (#118150)
2136
2137 2003-07-23  Matthias Clasen  <maclas@gmx.de>
2138
2139         * gtk/gtkcolorsel.c (gtk_color_selection_init): Make the hue 
2140         spinbutton wrap.  (#118097, John Darrington)
2141
2142         * docs/faq/gtk-faq.sgml: Mention Xnest as a way to debug GTK+ apps. 
2143
2144 2003-07-20  Hans Breuer  <hans@breuer.org>
2145
2146         * makefile.msc : new file to build it all
2147         * Makefile.am : ... added to EXTRA_DIST
2148
2149         * gdk/makefile.msc gtk/stock-icons/makefile.msc 
2150           gtk/makefile.msc.in tests/makefile.msc : updated
2151
2152         * gdk/gdk.def gtk/gtk.def : export a bunch of new 
2153         functions
2154
2155         * gtk/gtkbbox.c : use g_return_val_if_fail() if
2156         there is a value to return
2157
2158         * gtk/gtkfontsel.c gtk/gtkiconfactory.c :
2159         static correctness
2160
2161         * gtk/gtkicontheme.c : ported to use GTimeVal instead of
2162         struct timeval and GTK_DATA_PREFIX instead of GTK_DATADIR
2163
2164         * gtk/gtkicontheme.c : use HAVE_LC_MESSAGES
2165
2166         * gtk/gtkimmulticontext.c : use gtkprivate.h
2167
2168         * gtk/stock-icons/stock_color_picker_25.png
2169           gtk/stock-icons/stock_jump_to_rtl_16.png
2170           gtk/stock-icons/stock_jump_to_rtl_24.png
2171           gtk/stock-icons/stock_redo_rtl_16.png
2172           gtk/stock-icons/stock_redo_rtl_24.png
2173           gtk/stock-icons/stock_undelete_rtl_16.png
2174           gtk/stock-icons/stock_undelete_rtl_24.png
2175           gtk/stock-icons/stock_undo_rtl_16.png :
2176           gtk/stock-icons/stock_undo_rtl_24.png :
2177         readded as binary
2178
2179 Sat Jul 19 22:39:24 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2180
2181         * gtk/gtktoolitem.c (gtk_tool_item_size_request): remove
2182         leftover request of {xy}thickness
2183
2184 Sat Jul 19 16:26:02 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2185
2186         * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): don't
2187         attempt to add a NULL icon to the box.
2188
2189 Sat Jul 19 12:13:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2190
2191         * gtk/gtknotebook.c (gtk_notebook_focus_in|out): only redraw tabs
2192         on focus in/out.
2193
2194 2003-07-19  Matthias Clasen  <maclas@gmx.de>
2195
2196         * gtk/gtkstock.h (GTK_STOCK_DIALOG_AUTHENTICATION): New stock id. 
2197         * gtk/gtkiconfactory.c (get_default_icons): Add
2198         stock_dialog_authentication_48.  (#65765) 
2199         * gtk/stock-icons/Makefile.am (VARIABLES2, IMAGES): Here too.
2200         * gtk/stock-icons/stock_dialog_authentication_48.png: New image.
2201
2202         * gtk/gtkbbox.h: 
2203         * gtk/gtkbbox.c (gtk_button_box_get_child_secondary): New
2204         function. (#64562) 
2205
2206 Sat Jul 19 00:18:40 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2207
2208         * gtk/gtkwindow.c (gtk_window_set_default_icon): Fix C99
2209         declaration
2210
2211         * gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): new function
2212         (gtk_widget_real_focus_{in|out}_event): queue shallow draws
2213         instead of full draws.
2214
2215 2003-07-18  Matthias Clasen  <maclas@gmx.de>
2216
2217         * gtk/gtkwindow.c: Add properties decorated and gravity.  (#80234) 
2218
2219         * gtk/gtktextview.c (gtk_text_view_class_init): Add a new keybinding
2220         signal, move_viewport. 
2221         (gtk_text_view_move_viewport): New function which implements the
2222         move_viewport functionality. 
2223         (gtk_text_view_move_cursor_internal): If the cursor is not visible, move
2224         the viewport. (#78669) 
2225
2226         * gtk/gtkenums.h (GtkScrollStep): New enumeration, used for
2227         move_viewport argument. 
2228
2229         * gtk/gtkstatusbar.c (gtk_statusbar_class_init): Add a has_resize_grip
2230         property.  (#111779) 
2231
2232         * gtk/gtkwindow.h: 
2233         * gtk/gtkwindow.c (gtk_window_set_default_icon): New method.  (#95816)
2234
2235         * gtk/gtkmessagedialog.h:
2236         * gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons): New method.  
2237         (#65501, Sebastian Rittau)
2238
2239 Fri Jul 18 20:06:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2240
2241         * gtk/gtktextview.c (changed_handler): use
2242         gtk_widget_queue_resize_noredraw().
2243
2244 2003-07-16  Jody Goldberg <jody@gnome.org>
2245
2246         * gdk/x11/gdkwindow-x11.c (gdk_window_focus) : fix cut-n-paste-o
2247
2248 Fri Jul 18 19:55:50 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2249
2250         * gtk/gtkwidget.c (gtk_widget_queue_resize_no_redraw): Add this
2251         API. 
2252
2253 Fri Jul 18 18:43:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2254
2255         By popular request give toolbuttons a border.
2256         
2257         * gtk/gtktoolitem.c
2258         (gtk_tool_item_size_allocate):
2259         (gtk_tool_item_size_request): don't request and allocate a border
2260         around the child
2261
2262         * gtk/gtktoolbutton.c 
2263         (gtk_tool_button_size_allocate):
2264         (gtk_tool_button_size_request): remove these functions
2265
2266         * gtk/gtktoolbar.c 
2267         (gtk_toolbar_size_request):
2268         (gtk_toolbar_size_allocate): request and allocate a border if we
2269         have a shadow.
2270
2271 Thu Jul 17 19:24:51 2003  Kristian Rietveld  <kris@gtk.org>
2272
2273         Merged from stable.
2274
2275         Fixes issues pointed out by Morten Welinder in #115140.
2276
2277         * gtk/gtktreeview.c (gtk_tree_view_size_request): fix comment,
2278         (do_validate_rows): update validated_area with a logic OR instead
2279         of a bitwise OR,
2280         (validate_rows_handler): make the if statement match the one in
2281         validate_rows(), so we don't leak the timeout.
2282
2283 Thu Jul 17 19:12:02 2003  Kristian Rietveld  <kris@gtk.org>
2284
2285         Merged from stable.
2286
2287         * gtk/gtktreeview.c (gtk_tree_view_remove_widget): the treeview
2288         should only grab focus back if the "cell_editable" widget still
2289         has focus. (Fixes #110104, testcase provided by Marco Pesenti
2290         Gritti).
2291
2292 Thu Jul 17 19:06:34 2003  Kristian Rietveld  <kris@gtk.org>
2293
2294         Merged from stable.
2295
2296         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
2297         Don't set attr.event_mask twice, those things were meant to be
2298         ORred. (#115139, pointed out by Morten Welinder).
2299
2300 Thu Jul 17 16:11:21 2003  Kristian Rietveld  <kris@gtk.org>
2301
2302         Merged from stable.
2303
2304         * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): stop editing
2305         if needed. (Fixes #115869, reported by Michael Natterer).
2306
2307 2003-07-15  Matthias Clasen  <maclas@gmx.de>
2308
2309         * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
2310         Fight against gtk-doc stupidity.
2311
2312 2003-07-13  Matthias Clasen  <maclas@gmx.de>
2313
2314         * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to 
2315         targets, to pacify gtk-doc.
2316
2317 Sun Jul 13 15:57:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2318
2319         * gtk/gtktoolbutton.c (gtk_tool_button_finalize): Fix leaks of
2320         label_text, label_widget and icon_widget. (#117312, 
2321         Christian Persch)
2322         
2323 Sun Jul 13 01:37:51 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2324
2325         * gtk/gtkmenu.c (gtk_menu_class_init): new properties
2326         "horizontal-offset" and "vertical-offset" that determines the
2327         position of the menu when it is a submenu. 
2328
2329         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): position
2330         submenus according to new vertical- and horizontal-offset
2331         properties.
2332
2333 Sat Jul 12 16:16:04 2003  Kristian Rietveld  <kris@gtk.org>
2334
2335         Merged from stable.
2336
2337         * gtk/gtktreeview.c (gtk_tree_view_drag_data_received): special
2338         case drags to "0", scroll to the top after dropping. (Fixes #94968,
2339         reported by Alp Toker).
2340
2341 Sat Jul 12 16:08:32 2003  Kristian Rietveld  <kris@gtk.org>
2342
2343         Merged from stable.
2344
2345         * demos/gtk-demo/editable_cells.c (cell_edited): fixup bad
2346         code (#115784, Owen Taylor).
2347
2348 Sat Jul 12 16:01:03 2003  Kristian Rietveld  <kris@gtk.org>
2349
2350         Merged from stable.
2351
2352         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
2353         free the old text and extra_attrs *after* we parsed the new
2354         markup string. (Fixes #114485, reported by Owen Taylor).
2355
2356 Sat Jul 12 15:51:33 2003  Kristian Rietveld  <kris@gtk.org>
2357
2358         Merged from stable.
2359
2360         Fixes #113904, testcase provided by Rene Seindal.
2361
2362         * gtk/gtktreeview.c (gtk_tree_view_button_press): set
2363         pressed_button to -1 when a row has been activated,
2364         (gtk_tree_view_motion_bin_window): only start a drag if there's
2365         a button being pressed.
2366
2367 Sat Jul 12 15:51:18 2003  Kristian Rietveld  <kris@gtk.org>
2368
2369         Merged from stable.
2370
2371         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): use
2372         gdk_window_get_pointer instead of gdk_display_get_window_at_pointer
2373         to avoid a roundtrip (#110272, Owen Taylor).
2374
2375 Sat Jul 12 15:28:26 2003  Kristian Rietveld  <kris@gtk.org>
2376
2377         Merged from stable.
2378
2379         This patch really really fixes scrolling. Related bugs: #81627,
2380         testcase provided by Timo Sirainen, #111500, testcase provided by
2381         manu, #113241, reported by Pedro Gimeno/Michael Natterer.
2382
2383         * gtk/gtktreeview.c (validate_visible_area): scrolling to a dy
2384         which is equal to the lower border of the window means scrolling
2385         to an invisible row, always update the dy when scrolling to an
2386         invisible row, corrected area_above/below calculations for
2387         invisible rows, when walking the tree correct the size
2388         subtracted for invalidated rows, fix wrong logic in comment.
2389
2390 2003-07-11  Matthias Clasen  <maclas@gmx.de>
2391
2392         * gtk/gtkicontheme.c (pixbuf_supports_svg): Use g_strfreev() to free
2393         mime_types.  (#117219, Steve Chaplin)
2394
2395 Tue Jul  8 20:11:04 2003  Owen Taylor  <otaylor@redhat.com>
2396
2397         * gdk/x11/gdkevents-x11.c (get_real_window)
2398         gdk/x11/gdkinput-x11.c (_gdk_input_common_init)
2399         gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init)
2400         gdk/x11/gdkprivate-x11.h (_gdk_windowing_image_init)
2401         Don't assume that all events start with XEventAny - Xkb events
2402         don't! (#105745). So, only do that for core events, and for
2403         non-core events, add a system for registering event types
2404         that start with XEventAny.
2405
2406         * gdk/x11/gdkevents-x11.c (gdk_event_translate):
2407         Check to see if the result of gdk_window_lookup_for_display()
2408         is actually a window.
2409
2410 Fri Jul 11 20:48:14 2003  Kristian Rietveld  <kris@gtk.org>
2411
2412         * gtk/gtktreemodel.c (gtk_tree_path_free): make the path != NULL
2413         check a silent assert, so it follows the g_free() behaviour.
2414
2415 2003-07-11  Matthias Clasen  <maclas@gmx.de>
2416
2417         * gtk/gtkstatusbar.c (gtk_statusbar_init): Center statusbar contents 
2418         vertically.  (#109823, Joe Shaw)
2419
2420 2003-07-11  Morten Welinder  <terra@gnome.org>
2421
2422         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixbuf): Fix memory
2423         access error.  (#69436)
2424
2425 Fri Jul 11 14:32:43 2003  Kristian Rietveld  <kris@gtk.org>
2426
2427         Landing GtkTreeModelFilter and the completion code. (Test program
2428         and documentation will follow next week).
2429
2430         * gtk/gtkcellayout.[ch], gtk/gtkentrycompletion.[ch],
2431         gtk/gtktreemodelfilter.[ch], gtk/gtkentryprivate.h: new files.
2432
2433         * gtkentry.[ch]: added gtk_entry_{get,set}_completion, wrote
2434         necessary code to hook up completion.
2435
2436         * gtktreeviewcolumn.c: made GtkTreeViewColumn implement the new
2437         GtkCellLayout interface.
2438
2439         * gtkmarshalers.list: added BOOLEAN:OBJECT,BOXED.
2440
2441         * gtk/gtk.h, gtk/Makefile.am, po/POTFILES.in: all updated for the new
2442         source files.
2443
2444 Wed Jul  9 19:48:26 2003  Kristian Rietveld  <kris@gtk.org>
2445
2446         Merge from stable.
2447
2448         * gdk/gdkdisplay.c (gdk_display_get_window_at_pointer): don't
2449         directly return from ->window_at_pointer, but set win_x and win_y
2450         first if needed. (Fixes #110166, reported by Arno Charlet).
2451
2452         * gdk/gdkwindow.c (gdk_window_get_composite_drawable): change
2453         function to accept GdkDrawables and not just GdkWindows. This was
2454         already done in some other functions a while back, but this patch
2455         got lost for some reason.
2456
2457 2003-07-09  Matthias Clasen  <maclas@gmx.de>
2458
2459         * gtk/gtkcontainer.c (gtk_container_focus_sort_tab): Consider the text
2460         direction when sorting children.  (#116540, Soeren Sandmann)
2461
2462 Tue Jul  8 17:36:21 2003  Owen Taylor  <otaylor@redhat.com>
2463
2464         * gdk/x11/gdkasync.[ch] gdk/gdkdnd-x11.c: 
2465         Change _gdk_x11_send_xevent_async() to 
2466         _gdk_x11_send_client_message_async() avoid using Xlib
2467         internals that are different on Solaris. 
2468         (#116917, Morten Welinder)
2469
2470 2003-07-08  Matthias Clasen  <maclas@gmx.de>
2471
2472         * gtk/gtkcontainer.c (gtk_container_remove): Doc addition.
2473         (#116501, Doug Quale)
2474
2475 Tue Jul  8 21:35:22 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2476
2477         * gtk/gtktoggletoolbutton.h: remove strange #define
2478         * gtk/gtktoolbutton.h: fix cut'n'paste error
2479         * gtk/gtktoolbutton.c (gtk_tool_button_init): use instance
2480         private data
2481         * gtk/gtktoolitem.c (gtk_tool_item_class_init): use instance
2482         private data instead of g_new0()
2483         * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): use
2484         instance private data
2485
2486 Tue Jul  8 21:10:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2487
2488         * gtk/gtkbutton.c (gtk_button_realize): remove GDK_EXPOSURE_MASK
2489         for INPUT_ONLY window
2490         * gtk/gtkmenuitem.c (gtk_menu_item_realize): same
2491         * gtk/gtknotebook.c (gtk_notebook_realize): same
2492         * gtk/gtkexpander.c (gtk_expander_realize): same
2493         * gtk/gtkrange.c (gtk_range_realize): same
2494
2495         Fix #116303
2496
2497 Tue Jul  8 19:57:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2498
2499         * gtk/gtkstyle.c (gtk_default_draw_arrow): remove correction on x
2500         when detail is "menuitem". With the new menu look is isn't needed
2501         anymore.
2502
2503         * gtk/gtktoolitem.c (gtk_tool_item_toolbar_reconfigured): queue a
2504         resize here, so that tool items will get a chance to relayout
2505         themselves based on the toolbar configuration.
2506
2507         change DEFAULT_SPACE_SIZE to 4 instead of 5
2508
2509         * gtk/gtktoolbar.c 
2510         Get rid of "!GTK_BIN (item)->child means separator". Separators
2511         are widgets in their own right
2512
2513         change DEFAULT_SPACE_SIZE to 4 instead of 5
2514         
2515         (get_space_size): remove this function
2516         (toolbar_item_is_homogeneous): new function
2517
2518         * gtk/gtkseparatortoolitem.c
2519         (gtk_separator_tool_item_size_request): new function.
2520
2521 Tue Jul  8 14:10:35 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2522
2523         * gtk/gtktoggletoolbutton.h: use private data, add new
2524         internal function _gtk_toggle_tool_button_get_button()
2525
2526         * gtk/gtktoolbutton.h: move to private data
2527
2528         * gtk/gtkradiotoolbutton.c, gtk/gtktoolbutton.c: updates for new
2529         private data.
2530
2531 Tue Jul  8 12:50:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2532
2533         * gtk/gtktoolbutton.c (gtk_tool_button_get_icon_widget): fix a
2534         type check, (#116947, Krasimir Angelov)
2535
2536         * gtk/gtktoolbar.c: Use new GtkToolItem accessors.
2537         
2538         * gtk/gtktoolitem.[ch]: Use a private struct to hold the instance
2539         data. Not instance private data yet, because of bug 116921.
2540
2541         * gtk/gtktoolitem.h: new accessors:
2542                 gtk_tool_item_get_homogeneous ()
2543                 gtk_tool_item_get_expand ()
2544                 gtk_tool_item_get_pack_end ()
2545                 gtk_tool_item_get_use_drag_window ()
2546
2547 Mon Jul  7 16:50:32 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2548
2549         * gtk/gtkcellrenderertext.c
2550         (gtk_cell_renderer_text_class_init): remove accidentally committed
2551         debugging spew
2552
2553         * gtk/gtktoolbar.c
2554         (gtk_toolbar_paint_space_line): remove this function
2555         (gtk_toolbar_expose): always propagate expose, even if the item is
2556         a separator item
2557
2558         * gtk/gtkseparatortoolitem.c
2559         (gtk_separator_tool_item_expose): moved here from gtktoolbar.c
2560         (get_space_size): new function.
2561         (get_space_style): new function
2562
2563 Sun Jul  6 13:00:20 2003  Owen Taylor  <otaylor@redhat.com>
2564
2565         * gtk/gtkdnd.c (_gtk_drag_source_handle_event)
2566         * gtk/gtkdnd.c (gtk_drag_begin_internal):  Remove use
2567         of GDK_POINTER_MOTION_HINT_MASK.
2568
2569         * gtk/gtkdnd.c (gtk_drag_update_idle): Move updating
2570         of the drag into an idle as a superior form of 
2571         expose compression.
2572
2573         * gtk/gtkdnd.c (gtk_drag_begin_internal): Move default icon
2574         creation here, so that we have an icon at the start
2575         of the drag (e.g., when retrieving the window cache
2576         information.)
2577
2578 Sun Jul  6 17:21:23 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2579
2580         * docs/widget_geometry.txt: better drawing of GtkMenuItem
2581         * docs/widget_geometry.txt: add notes about GtkMenu
2582         * gtk/gtkstyle.c: remove leftover "#include "gtkhandlebox.h""
2583
2584 Sat Jul  5 10:34:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2585
2586         * gtk/gtkmenu.c: add vertical_padding style property.
2587         
2588         * gtk/gtkmenuitem.c: add style properties toggle_spacing,
2589         arrow_spacing and horizontal_padding. Also center separators and
2590         make them a bit taller.
2591
2592         * gtk/*menuitem.c: use new style properties.
2593         
2594         * docs/widget_geometry.txt: Add note about GtkMenuItem
2595
2596         * gtk/gtkstyle.c 
2597         (gtk_default_draw_vline, gtk_default_draw_hline):
2598         fix +/-1 errors. 
2599
2600         (gtk_default_draw_shadow): draw a black border around menus.
2601
2602         * gtk/gtkvseparator, gtk/gtkhseparator.c, gtk/gtkmenuitem.c: fix
2603         calls to gtk_paint_hline() and gtk_paint_vline() (they take x1,
2604         x2 and y1, y2 respectively, not x, width and y, height).
2605
2606 Sat Jul  5 09:55:38 2003  Owen Taylor  <otaylor@redhat.com>
2607
2608         * gdk/x11/gdkdnd-x11.c (precache_target_list): Lookup
2609         all the atoms in the target list at once.
2610
2611         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display):
2612         Local drag short-circuit.
2613
2614         * gdk/x11/gdkdnd-x11.c (gdk_drag_motion): For the
2615         local case, poke the actions in directly instead of
2616         going through xdnd_set_actions.
2617
2618         * gdk/x11/gdkdnd-x11.c (xdnd_read_actions): Short-circuit
2619         the local case.
2620
2621         * gdk/x11/gdkdnd-x11.c (xdnd_manage_source_filter): Don't
2622         XSelectInput()/add a filter if the drag is local.
2623
2624         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_selection): 
2625         Simplify handling of "XdndSelection".
2626
2627         * gdk/x11/gdkevents-x11.c
2628         (gdk_event_send_client_message_to_all_recurse): Somehow,  
2629         a WM_STATE => _NET_WM_STATE change hand been made here.
2630
2631         * gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Free
2632         xatom_names, not atom_names.
2633
2634         * tests/testdnd.c (target_drag_motion): Make the trashcan
2635         open again. (Got lost in deprecation cleanup.)
2636
2637 Sat Jul  5 00:49:32 2003  Owen Taylor  <otaylor@redhat.com>
2638
2639         * gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up
2640         earlier, so we don't get a big pile of uncompressed
2641         motion events before the grab takes effect.
2642
2643         * gtk/gtkdnd.c (gtk_drag_update_icon): Call 
2644         gdk_window_process_all_updates() so that the area
2645         we are dragging over gets a change to redraw.
2646
2647         * gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use 
2648         gdk_window_get_position(), not gdk_window_get_origin().
2649
2650         * gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext)
2651         gdkdisplay-x11.h: use XShapeQueryExtension to 
2652         avoid duplicate XQueryExtension when we actually
2653         use it. Remove unnecessary caching in GdkDisplayX11.
2654
2655 Fri Jul  4 23:49:22 2003  Owen Taylor  <otaylor@redhat.com>
2656
2657         * gdk/x11/gdkasync.[ch] (_gdk_x11_get_window_child_info): 
2658         Function to get a range of information about all the
2659         children of a window in a single pass.
2660
2661         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse)
2662         gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Use
2663         _gdk_x11_get_window_child_info() to greatly reduce
2664         the number of roundtrips.
2665
2666 Fri Jul  4 22:57:18 2003  Owen Taylor  <otaylor@redhat.com>
2667
2668         * gdk/x11/gdkasync.[ch] (_gdk_send_xevent_async): Add
2669         a function to XSendEvent() and call a calback on
2670         failure/success.
2671
2672         * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Short-circuit
2673         messages to the same process, use _gdk_send_xevent_async().
2674
2675 Fri Jul  4 22:26:27 2003  Owen Taylor  <otaylor@redhat.com>
2676
2677         * gdk/x11/gdkwindow-x11.[ch] gdkevents-x11.c: Split
2678         toplevel-specific pieces of GdkWindowImplX11 into
2679         a separate GdkToplevelX11 structure.
2680
2681 Fri Jul  4 22:05:09 2003  Owen Taylor  <otaylor@redhat.com>
2682
2683         * gdk/x11/gdkasync.c (struct _SetInputFocusState): Fix
2684         some leftover fields.
2685
2686 Fri Jul  4 15:57:52 2003  Owen Taylor  <otaylor@redhat.com>
2687
2688         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
2689         Use asynchronously _gdk_x11_set_input_focus_safe
2690         to avoid having to trap errors and XSync().
2691
2692         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use
2693         _gdk_x11_set_input_focus_safe() here as well.
2694
2695         * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
2696         Rework handling of property notifies on _NET_WM_STATE
2697         so that we ignore _NET_WM_DESKTOP notifies unless we
2698         really care.
2699
2700         * gdk/x11/gdkimage-x11.c (gdk_image_check_xshm): Use
2701         XShmQueryExtension() rather than XQueryExtension() to
2702         avoid extra rountrip.
2703
2704         * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
2705         Remove unused call to XGetWindowAttributes()
2706         
2707         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Remove
2708         unused call to XGetKeyboardControl().
2709
2710         * gdk/x11/gdkdisplay-x11.c gdk/gdk.def (gdk_display_flush):
2711         Add (#99571)
2712
2713         * gdk/win32/gdkevents-win32.c gdk/linux-fb/gdkevents-fb.c 
2714         No-op implementations of gdk_display_flush().
2715
2716         * gdk/gdkwindow.c (gdk_window_process_all_updates): Use
2717         gdk_display_flush() rather than gdk_flush() to avoid
2718         XSync().
2719         
2720         * gdk/x11/gdkwindow-x11.c (update_wm_hints)
2721         gdk/x11/gdkwindow-x11.h: Centralize all handling of WM_HINTS here
2722         so that we don't have to get the property back from the server.
2723
2724         * gdk/x11/gdkwindow-x11.c (show_window_internal): Store
2725         the serial of when we map a toplevel to allow optimizing
2726         out notifies on _NET_WM_STATE/_NET_WM_DESKTOP.
2727
2728         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Don't
2729         XTranslateCoordinates() for override-redirect windows.
2730
2731 Fri Jul  4 15:59:27 2003  Owen Taylor  <otaylor@redhat.com>
2732
2733         * gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Remove comment
2734         about setting window group after the window is mapped from docs
2735         - nothing the ICCCM forbids that.
2736
2737         * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
2738         Fix g_return_val_if_fail() in void return function.
2739
2740         * configure.in: Fix misplaced comma that was resulting
2741         in XShm always being disabled.
2742
2743 Fri Jul  4 19:55:49 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2744
2745         * tests/stresstest-toolbar: remove this accidentally committed
2746         file.
2747         
2748         * tests/stresstest-toolbar.c: really add this new test
2749
2750 Fri Jul  4 19:06:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2751
2752         * tests/stresstest-toolbar.c: new test for removing items
2753         
2754         * tests/testtoolbar.c: add a popup menu
2755
2756         * gtk/gtkcontainer.c (gtk_container_remove): add hack to avoid
2757           assert widget->parent == container when the container is a
2758           toolbar.
2759
2760         * gtk/gtktoolbar.c (gtk_toolbar_remove_tool_item): Make much
2761         simpler. Also make correct.
2762
2763         * gtk/gtktoolbar.c (gtk_toolbar_button_press): make
2764         popup_context_menu a boolean handled signal.
2765
2766 2003-07-04  Tor Lillqvist  <tml@iki.fi>
2767
2768         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_polygon,
2769         gdk_win32_draw_segments, gdk_win32_draw_lines): We can calculate
2770         the width and height of the bounding rectangle only after the
2771         minumum x and y have been found, and need a separate loop for
2772         it. Thanks to Bruce Hochstetler for providing a sample program
2773         exhibiting the bug.
2774
2775 2003-07-03  Tor Lillqvist  <tml@iki.fi>
2776
2777         * gdk/gdk.def: Add gdk_string_to_compound_text_for_display.
2778         (#116537, Peter Zelezny)
2779
2780 Thu Jul  3 03:13:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2781
2782         * gtk/gtkpaned.c (gtk_paned_set_child_property): Insert cast to
2783         fix warning. Assign something to old_value to quiet gcc
2784
2785         * gtk/gtkcalendar.c 
2786         (start_spinning): gtk_timeout_add->g_timeout_add
2787
2788         * gtk/gtkicontheme.c 
2789         (theme_lookup_icon): Make it compile (remove double semicolon)
2790
2791         * gtk/gtktoolbutton.c
2792         (gtk_tool_button_class_init): Long comment about properties.
2793         (gtk_tool_button_class_init): Improve text for "use_underline"
2794         property
2795         (gtk_tool_button_create_menu_proxy): Fix up to use_mnemonic based
2796         on whether the passed-in label has use_mnemonic set
2797         (gtk_tool_button_create_menu_proxy): Split image cloning out in
2798         new function. Make that function also handle image with pixbuf
2799         storage.
2800         (gtk_tool_button_construct_contents): Use gtk_widget_destroy()
2801         instead of gtk_container_remove().
2802         (gtk_tool_button_construct_contents): Fix eliding bug
2803
2804         * gtk/gtktoolbar.c
2805         (gtk_toolbar_finalize): New function. Unref tooltips, pointed out
2806         by Morten Welinder
2807         (gtk_toolbar_button_press): Make popup_context_menu signal provide
2808         coordinates and button number
2809
2810         * tests/testtoolbar.c (main): Add new pixbuf toolbutton
2811
2812         * tests/apple-red.png: new file
2813
2814 Wed Jul  2 18:00:56 2003  Owen Taylor  <otaylor@redhat.com>
2815          
2816         * gtk/gtkicontheme.[ch]: Implement a loader for
2817         named themed icon based on from gnome-desktop library
2818         by Alex Larsson.
2819
2820         * gtk/gtkiconthemeparser.[ch]: .ini file parsing code
2821         from gnome-desktop.
2822
2823         * gtk/gtkiconfactory.[ch]: Add
2824         gtk_icon_source_set/get_icon_name() to allow stock icons
2825         to be based off of named theme icons.
2826
2827         * gtk/gtkiconfactory.c: Rework sources so that the source
2828         is *either* a pixbuf, or a filename, or an icon name,
2829         instead of the pixbuf/filename mix it was before. Put a
2830         workaround for get_pixbuf() so that it can return the
2831         filename pixbuf, e.g, for render_icon().
2832
2833         * gtk/gtkiconfactory.c: Make the default setup use
2834         themed icons, and add builtin icons to the default
2835         icon theme for all the standard pixbufs, so we
2836         don't rely on actually having an icon theme on disk.
2837
2838         * gtk/gtkrc.c: Add support for @"icon-name" to specify
2839         a themed icon for a stock icon source.
2840
2841         * tests/Makefile.am test/testicontheme.c: Add a test
2842         program from gnome-desktop.
2843
2844         * gdk/x11/gdkevents-x11.c gtk/gtksettings.c: Add
2845         Net/IconThemeName / gtk-icon-theme-name setting.
2846
2847         * gtk/gtkiconfactory.c (ensure_cache_up_to_date): Actually
2848         update the icon cache serial so we don't continually
2849         think we are out-of-date.
2850
2851         * gtk/gtkwidget.c: Fix a couple of references in doc comments 
2852         to ::direction_set that should have been to ::direction-changed
2853
2854 Wed Jul  2 14:45:41 2003  Owen Taylor  <otaylor@redhat.com>
2855
2856         * gtk/gtktoolbar.c (gtk_toolbar_realize): Attach the
2857         style to the widget.
2858
2859 Wed Jul  2 15:42:26 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2860
2861         * gtk/gtk.h: Add new toolbar headers
2862
2863         * tests/testtoolbar.c: new file
2864
2865         * tests/Makefile.am (noinst_PROGRAMS): Add testtoolbar.c
2866
2867         * gtk/gtkexpander.c (gtk_expander_class_init): Make it compile
2868
2869 Tue Jul  1 22:49:25 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2870
2871         * gtk/gtktoolbar.c:
2872         (gtk_toolbar_remove_tool_item): Fix bug where list is changed
2873         inside a for loop (pointed out by Morten Welinder).
2874         (gtk_toolbar_focus_home_or_end): Minor formatting change
2875
2876         Comments from Owen:
2877
2878         * gtk/gtktoolbutton.c: remove copy of elide_underscores(). Use
2879         gtk_toolbar_elide_underscores instead.
2880
2881         * gtk/gtktoolbar.c: rename signal from focus_ends to
2882         focus_home_or_end.
2883         (_gtk_toolbar_elide_underscores): export this as an internal
2884         function.
2885         (gtk_toolbar_move_focus): add comment explaining difference to
2886         gtk_toolbar_focus();
2887         (gtk_toolbar_list_children_in_focus_order): Make TAB_FORWARD and
2888         TAB_BACKWARD focus the right widgets in RTL mode
2889
2890         * gtk/gtktoolbutton.c (gtk_tool_button_new): Change to take
2891         "label" and "icon" parameters
2892
2893         * gtk/gtktoolbutton.[ch]: remove icon_set property.
2894
2895 2003-07-01  Matthias Clasen  <maclas@gmx.de>
2896
2897         * gtk/gtkspinbutton.c (gtk_spin_button_set_digits): Improve docs.
2898         (116364, Morten Welinder) 
2899
2900         * tests/testgtk.c: Use GtkFontButton and GtkColorButton to bring up the
2901         corresponding dialogs.
2902
2903         * gtk/Makefile.am (gtk_public_h_sources): Add gtkfontbutton.h,
2904         gtkcolorbutton.h.  
2905         (gtk_c_sources): Add gtkfontbutton.c, gtkcolorbutton.c. 
2906
2907         * gtk/gtkfontbutton.[hc]: New files containing a font picker widget. 
2908
2909         * gtk/gtkcolorbutton.[hc]: New files containing a color picker widget. 
2910
2911         * gtk/gtk.h: Include gtkexpander.h, gtkfontbutton.h, gtkcolorbutton.h.
2912
2913         * gtk/gtkexpander.c: Small additions to the docs. 
2914
2915 2003-07-01  Tor Lillqvist  <tml@iki.fi>
2916
2917         * gdk/win32/gdkwindow-win32.c (_gdk_windowing_window_get_pointer):
2918         WindowFromPoint() wants screen coordinates (#115422, Tim Evans).
2919
2920 2003-07-01  Matthias Clasen  <maclas@gmx.de>
2921
2922         * configure.in: Check for Xcursor.
2923         
2924         * gdk/x11/gdkcursor-x11.c:
2925         * gdk/gdkdisplay.h: 
2926         * gdk/gdkcursor.h: RGBA cursor support based on Xcursor. New functions:
2927         gdk_cursor_new_from_pixbuf(), gdk_display_supports_cursor_alpha(), 
2928         gdk_display_supports_cursor_color(),
2929         gdk_display_get_default_cursor_size() and 
2930         gdk_display_get_maximal_cursor_size().  (#69436)
2931
2932 2003-06-30  Tor Lillqvist  <tml@iki.fi>
2933
2934         * gdk/win32/gdkdnd-win32.c (find_window_enum_proc): New function,
2935         callback proc for EnumWindows().
2936         (gdk_drag_find_window_for_screen): Actually take the drag_window
2937         argument into account: Instead of using WindowFromPoint(), use
2938         EnumWindows(), to be able to skip the drag_window. (#116320, Tony
2939         M Brown, Herman Bloggs)
2940
2941         * gdk/win32/*.c: Replace gdk_drawable_ref()/unref() and
2942         gdk_window_ref()/unref() calls with g_object_ref()/unref().
2943         Consistently use %p format in debugging output of pointers and
2944         HANDLEs.
2945
2946 2003-06-30  Mark McLoughlin  <mark@skynet.ie>
2947
2948         * gtk/gtkexpander.h: kill some stray characters
2949         breaking the build.
2950
2951 2003-06-30  Mark McLoughlin  <mark@skynet.ie>
2952
2953         Add GtkExpander. See discussion in bug #60553.
2954
2955         * gtk/gtkexpander.[ch]: add.
2956         
2957         * gtk/Makefile.am: build gtk-expander.[ch].
2958         
2959         * docs/widget_geometry.txt: add info on the layout
2960         of GtkExpander.
2961
2962 Mon Jun 30 01:20:19 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2963
2964         * gtkradiotoolbutton.c:         new file
2965         * gtkradiotoolbutton.h:            "
2966         * gtktoggletoolbutton.c:           "
2967         * gtktoggletoolbutton.h:           "
2968         * gtktoolbutton.c:                 "
2969         * gtktoolbutton.h:                 "
2970         * gtktoolitem.c:                   "
2971         * gtktoolitem.h:                   "
2972         * gtktoolbar.c: many changes
2973         * gtktoolbar.h: many changes
2974         * gtkseparatortoolitem.c:       new file
2975         * gtkseparatortoolitem.h           "
2976
2977         New toolbar.
2978         
2979         - Items on a toolbar are now separate widgets, instances of a
2980           subclass of GtkToolItem.
2981
2982         - Items there aren't room for on the toolbar are unmapped, and an
2983           overflow menu with a proxy menu item is added instead.
2984
2985         - The toolbar is keyboard navigatable. Press TAB to focus the
2986           first item, then use arrow keys and Ctrl TAB to move around the
2987           toolbar. TAB moves focus out of the toolbar.
2988
2989         - Bascially all of the old toolbar API is deprecated in favor of
2990           new API in gtktoolbar.h, gtktoolitem.h, gtktoolbutton.h
2991
2992         - The toolbar is backwards compatible with the old toolbar.
2993
2994 2003-06-29  Matthias Clasen  <maclas@gmx.de>
2995
2996         * gtk/gtkwidget.c (gtk_widget_class_init): Remove a duplicate parameter
2997         from docs, some more formatting fixes. 
2998
2999 2003-06-28  Tor Lillqvist  <tml@iki.fi>
3000
3001         Fix for #111028, thanks to J. Ali Harlow, who writes:
3002         I found that the GdkPixmap->GdkImage reference really isn't
3003         important. It's only really there to have somewhere convenient to
3004         store the location of the pixel data in the pixmap and as an easy
3005         way of accessing the dimensions of that data. I have therefore put
3006         together a fix which removes this reference entirely which seems
3007         to solve the problem.
3008
3009         * gdk/win32/gdkpixmap-win32.h (struct _GdkPixmapImplWin32):
3010         Instead of a pointer to a GdkImage, keep a pointer to the pixels
3011         directly.
3012
3013         * gdk/win32/gdkimage-win32.c (_gdk_win32_setup_pixmap_image): Remove.
3014         (_gdk_win32_new_image): New function, replacing the above. Creates
3015         a GdkImage without any associated GdkPixmap.
3016         (gdk_image_new_bitmap, _gdk_image_new_for_depth): Use it instead.
3017
3018         * gdk/win32/gdkprivate-win32.h: Remove from here, too.
3019
3020         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap)
3021         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap)
3022         * gdk/win32/gdkgc-win32.c (_gdk_win32_bitmap_to_hrgn)
3023         * gdk/win32/gdkmain-win32.c (_gdk_win32_drawable_description):
3024         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize,
3025         gdk_pixmap_new, gdk_bitmap_create_from_data, gdk_pixmap_foreign_new)
3026         Corresponding changes.
3027
3028 Thu Jun 26 21:41:16 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3029
3030         * gtk/gtktreeviewcolumn.c
3031         (gtk_tree_view_column_cell_set_cell_data): only set "is_expander"
3032         and "is_expanded" if the new value is different fromt he old one.
3033
3034 Wed Jun 25 18:59:15 BST 2003  Tony Gale <gale@gtk.org>
3035
3036         * docs/faq/gtk-faq.sgml: Fix typos. Update
3037         thread example I missed yesterday.
3038
3039 2003-06-24  Matthias Clasen  <maclas@gmx.de>
3040
3041         * gtk/gtkspinbutton.c (gtk_spin_button_class_init): Add a blurb for
3042         shadow_type. 
3043
3044         * gtk/gtkwidget.c (gtk_widget_class_install_style_property_parser): 
3045         (gtk_widget_class_list_style_properties): Use same parameter names as in  
3046         header (to silence gtk-doc).
3047
3048         * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Fix doc comments.
3049
3050 Tue Jun 24 20:00:45 BST 2003  Tony Gale <gale@gtk.org>
3051
3052         * docs/faq/gtk-faq.sgml: Thread support updates
3053         from Owen. Various suggestions from Steve Chaplin.
3054
3055 2003-03-24  Mohammad DAMT  <mdamt@bisnisweb.com>
3056
3057         * po/id.po: Updated Indonesian translation
3058
3059 2003-06-21  Tor Lillqvist  <tml@iki.fi>
3060
3061         * gdk/win32/gdkevents-win32.c (gdk_event_translate): When
3062         emulating X11's automatic grab on button down, pass owner_events
3063         as FALSE. According to the XLib spec, automatic grabs use True for
3064         owner_events when OwnerGrabButtonMask is selected, and I don't see
3065         the X11 backend doing that. (#82497, #91619, #92835, #107322, #110271)
3066         (find_window_for_pointer_event): Improve debugging output.
3067
3068 2003-06-17  Tor Lillqvist  <tml@iki.fi>
3069
3070         * gtk-zip.sh.in (DLLDIR): Look for DLLs also in the bin
3071         subdirectory, where libtool 1.5 installs them.
3072
3073         * README.win32: Point to FSF's binary Win32 distribution of
3074         gettext-runtime.
3075
3076 2003-06-17  Matthias Clasen  <maclas@gmx.de>
3077
3078         * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
3079         macros to check for XML catalog contents and path, borrowed from
3080         gtk-doc. 
3081         * configure.in: New option --enable-man to enable regeneration of
3082         man pages from Docbook, if the necessary tools are found.
3083
3084 2003-06-15  Matthias Clasen  <maclas@gmx.de>
3085
3086         * gtk/gtkcalendar.c (gtk_calendar_class_init): 
3087         * gtk/gtknotebook.c (gtk_notebook_class_init): 
3088         * gtk/gtkalignment.c (gtk_alignment_class_init): 
3089         * gtk/gtkpaned.c (gtk_paned_class_init): Document new properties
3090         as 2.4 additions.
3091
3092         * gtk/gtkwidget.c (gtk_widget_class_init): Move inline signal docs 
3093         to the proper place, immediately before the g_signal_new() call.
3094
3095         * gtk/gtktextiter.h: Make the flags-nature of GtkTextSearchFlags 
3096         more obvious.  (#115122, Jeff Franks)
3097
3098 2003-06-12  Anders Carlsson  <andersca@codefactory.se>
3099
3100         * gtk/gtkwidget.c: (event_window_is_still_viewable):
3101         Special case pixmaps. (#114880)
3102         
3103 2003-06-12  Matthias Clasen  <maclas@gmx.de>
3104
3105         * gtk/gtkwidget.c: Document child-notify and drag-data-received
3106         signals. Owen, we need to figure out where the best place for
3107         these comments in the source is. I currently put them in front of
3108         the signals enum.
3109
3110 2003-06-11  Matthias Clasen  <maclas@gmx.de>
3111
3112         * gtk/gtkdnd.c (gtk_drag_check_threshold): s/threshhold/threshold/.
3113
3114 Thu Jan 12 01:01:19 2003  Kristian Rietveld  <kris@gtk.org>
3115
3116         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
3117         silly typo fix. s/seperator/separator/. This gets rid of the
3118         assert spam when using TreeView.
3119
3120 Tue Jun 10 11:23:48 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3121
3122         * modules/input/gtkimcontextxim.c (xim_instantiate_callback): New
3123         function for XIM instantiate callback.
3124         * modules/input/gtkimcontextxim.c (xim_info_try_im): New function
3125         where call to XOpenIM() or XRegisterIMInstantiateCallback() is
3126         actually made.
3127         * modules/input/gtkimcontextxim.c (xim_destroy_callback): New function
3128         for XIM's destroy callback.
3129         * modules/input/gtkimcontextxim.c (get_im): add a check if info->im 
3130         is set or not - if it's not set, call xim_info_try_im() to try to
3131         initiaize it.
3132         * modules/input/gtkimcontextxim.c (reinitialize_ic): reset
3133         filter_key_release flag of the context.
3134         * modules/input/gtkimcontextxim.c (get_ic_real): removed
3135         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): move
3136         code from the removed get_ic_real().
3137
3138         For XIM instantiation, destruction and re-instantiation. With
3139         this, Gtk+ apps will be able to connect or reconnect to the XIM,
3140         when it starts after the apps, or when the XIM gets lost and recover.
3141         (#113099, #107782).
3142
3143 Mon Jun 10 01:12:31 2003  Kristian Rietveld  <kris@gtk.org>
3144
3145         Merged from stable.
3146
3147         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size):
3148         check if width is !null, not *width. Doh.
3149
3150 Tue Jun 10 01:09:33 2003  Kristian Rietveld  <kris@gtk.org>
3151
3152         Merged from stable.
3153
3154         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
3155         Remove the weird dx logic, get all cell_area and background_area
3156         calculations right. Not sure what was up with it before. (Fixes
3157         #110989, testcase from Vasco Alexandre da Silva Costa).
3158
3159 Tue Jun 10 00:58:23 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3160
3161         * tests/testgtk.c: Make it compile with C89 compilers
3162
3163 2003-06-10  Matthias Clasen  <maclas@gmx.de>
3164
3165         * gtk/gtktextview.c (gtk_text_view_class_init): Install boolean
3166         property "overwrite".
3167         (gtk_text_view_[gs]et_property): Handle "overwrite".
3168         * gtk/gtktextview.[hc] (gtk_text_view_[gs]et_overwrite): Getter
3169         and setter for "overwrite" property.  (#110241, Jeroen Zwartepoorte)
3170
3171 2003-06-09  Matthias Clasen  <maclas@gmx.de>
3172
3173         * gtk/gtkpaned.c (gtk_paned_class_init): Install boolean child
3174         properties "resize" and "shrink".
3175         (gtk_paned_[gs]et_child_property): Implementations of 
3176         GtkContainer::[gs]et_child_property.  
3177         * tests/testgtk.c (toggle_resize, toggle_shrink): Use the new
3178         paned child properties instead of remove/add hacks.  (#114667, 
3179         Soeren Sandmann) 
3180
3181 Mon Jun  9 16:18:11 2003  Owen Taylor  <otaylor@redhat.com>
3182
3183         * gtk/gtknotebook.c (gtk_notebook_button_press): Back
3184         out event->window test - it wasn't needed because
3185         of the call to get_widget_coordinates().
3186
3187         * gtk/gtknotebook.c (gtk_notebook_button_press): Remove
3188         call to gtk_widget_grab_focus() when not clicking on
3189         any tabs. (Real fix for #114534)
3190
3191 Sun Jun  8 22:03:09 2003  Owen Taylor  <otaylor@redhat.com>
3192
3193         * tests/testdnd.c: Use application/x-rootwindow-drop for
3194         root window drops. (#108670, Alex Larsson)
3195
3196         * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): 
3197         Accept either application/x-rootwin-drop (what GTK+ has always used)
3198         or application/x-rootwindow-drop (what the XDND standard specifies).
3199
3200 Fri Jun  6 11:07:33 2003  Owen Taylor  <otaylor@redhat.com>
3201
3202         * gtk/gtkwidget.c (event_window_still_viewable): 
3203         Before delivering an event to a widget, check that
3204         (if relevant), the event's window is still viewable.
3205         (#105642, Dennis Björklund)
3206
3207         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): 
3208         NULL out private->parent, since after destruction
3209         it might not be valid any more.
3210
3211         * gdk/gdkwindow.c (gdk_window_is_viewable): Fix some
3212         accesses before g_return_val_if_fail(). Treat 
3213         DESTROYED windows as unmapped.
3214
3215 Thu Jun  5 09:28:03 2003  Owen Taylor  <otaylor@redhat.com>
3216
3217         * gtk/gtkentry.c: Recompute unconditionally in
3218         gtk_entry_style_set, and in a new gtk_label_screen_changed().
3219         Protect the guts of recompute_idle_func() with
3220         gtk_widget_has_screen(). (#114040, Morten Welinder) 
3221         Fix FALSE/0 confusion.
3222         
3223 Sun Jun  8 18:27:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3224
3225         * gdk/gdkpixbuf-drawable.c (G8fromRGB565): swap G and B.
3226         Fixes (#114669)
3227
3228 Sun Jun  8 11:27:29 2003  Owen Taylor  <otaylor@redhat.com>
3229
3230         * gtk/gtkviewport.c (viewport_set_adjustment): Fix bug with 
3231         set_adjustment (viewport, NULL);
3232
3233 2003-06-07  Matthias Clasen  <maclas@gmx.de>
3234
3235         * gtk/gtkiconfactory.c (get_default_icons): 
3236         * gtk/stock-icons/stock_{undo,redo,undelete,revert}_rtl_{16,24}.png:
3237         * gtk/stock-icons/Makefile.am: Add rtl variants of undo, redo,
3238         undelete and revert.  (#96633)
3239         
3240 Fri Jun  6 16:25:44 2003  Owen Taylor  <otaylor@redhat.com>
3241
3242         * gtk/gtkviewport.c: Many fixes, along with extensive cleanups and 
3243         refactoring of code to reduce duplication; fixes include:
3244
3245         - gtk_viewport_realize(): Position the window correct from adjustment 
3246         values. (#110737, Michael Natterer)
3247
3248         - Remove some division-by-zero checks in places where there is no 
3249         longer division. (#110737)
3250
3251         - gtk_viewport_class_init: Make the hadjustment/vadjustment properties 
3252         G_PARAM_CONSTRUCT, so that there will always be adjustments, even 
3253         if gtk_viewport_new isn't used (#101135, Thomas Leonard).
3254
3255         - Switch over to encapsulated lazy-creation for hadjustment/
3256         vadjustment; even with the CONSTRUCT property, we need this after
3257         destroy.
3258
3259         - When updating the adjustment, immediate set their values to
3260         match the the current range of the viewport, and update the 
3261         viewport position to match the value of the new adjustments. 
3262         (Part of #1165)
3263
3264 2003-06-06  Tor Lillqvist  <tml@iki.fi>
3265
3266         * gdk/win32/gdkprivate-win32.h: Fix typo.
3267
3268         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Set
3269         graphics_exposures and subwindow_mode, too, even if they aren't
3270         currently used.
3271
3272 Fri Jun  6 23:38:23 2003  Kristian Rietveld  <kris@gtk.org>
3273
3274         Merged from stable.
3275
3276         * gtk/gtktreeview.c (do_expand_collapse),
3277         (expand_collapse_timeout), (cancel_arrow_animation): made
3278         expand_collapse_timeout a wrapper with locks around     
3279         do_expand_collapse, made cancel_arrow_animation use
3280         do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
3281         Peter Bloomfield).
3282
3283 Fri Jun  6 11:05:45 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3284
3285         * modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):
3286         * modules/input/gtkimcontextxim.c (preedit_start_callback,
3287         preedit_draw_callback, preedit_done_callback): Add a 'finalizing' flag 
3288         to keep preedit-[start,changed,end] signals from being called during
3289         finalization (#111861).
3290
3291 2003-06-05  Noah Levitt  <nlevitt@columbia.edu>
3292
3293         * gtk/gtknotebook.c (gtk_notebook_button_press): Ignore button
3294         presses that are not on the tab (#114534).
3295
3296 Thu Jun  5 20:35:40 2003  Owen Taylor  <otaylor@redhat.com>
3297
3298         * demos/Makefile.am: Conditionalize dependencies for
3299         gdk-pixbuf-csource on cross-compilation (#112391, J. Ali Harlowe). 
3300         Buildtest-inline-pixbufs.h in srcdir. Don't try to build 
3301         test-inline-pixbufs.h if we don't have libpng.
3302
3303         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): 
3304         Add a dependency on gdk-pixbuf.loaders when not 
3305         cross-compiling, remove the dependency on gdk-pixbuf-csource
3306         when not cross compiling.
3307
3308 Thu Jun  5 20:12:51 2003  Owen Taylor  <otaylor@redhat.com>
3309
3310         * gtk/gtkwindow.c (gtk_window_get_default_size): Handle
3311         gtk_window_get_geometry_info() returning NULL.
3312         (#107311, John Finlay)
3313
3314 Thu Jun  5 19:24:33 2003  Owen Taylor  <otaylor@redhat.com>
3315
3316         * gtk/gtktoolbar.c (gtk_toolbar_expose): Subtract off
3317         twice the border width from the width/height, not
3318         1x the border width. (#106336, Rodney Dawes)
3319
3320 Thu Jun  5 15:33:38 2003  Owen Taylor  <otaylor@redhat.com>
3321  
3322         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
3323         If at the end of the buffer, move to the end iter -
3324         parallels behavior of move_iter_to_previous_line.
3325         (#81960, Padraig O'Briain)
3326  
3327 Thu Jun  5 16:12:54 2003  Owen Taylor  <otaylor@redhat.com>
3328
3329         #80023, Yao Zhang, TOKUNAGA Hiroyuki
3330
3331         * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations):
3332         Account for the preedit cursor offset if the iter passed
3333         in is at the same place as the insertion cursor.
3334
3335         * gtk/gtktextview.c (gtk_text_view_get_cursor_location):
3336         Encapsulate getting the insertion cursor location.
3337
3338         * gtk/gtktextview.c (gtk_text_view_update_im_spot_location):
3339         Pass the real y/height to the IM context. Take 
3340         text_view->x/yoffset into account.
3341
3342 Thu Jun  5 16:52:54 2003  Owen Taylor  <otaylor@redhat.com>
3343
3344         * gtk/gtktextview.[ch]: Never scroll on focus in
3345         (#81893, Patch from Paolo Maggi)
3346
3347         * gtk/gtktextview.c (gtk_text_view_scroll_[h]pages): 
3348         Scroll to the current cursor location before handling
3349         the action, in case the user just tabbed in
3350         and the cursor is offscreen.
3351
3352 Thu Jun  5 17:20:40 2003  Owen Taylor  <otaylor@redhat.com>
3353          
3354          #107883, Gustavo Giráldez
3355
3356         * gtk/gtktextlayout.c (gtk_text_layout_emit_changed):
3357         Split out the case where we know we changed, and 
3358         already dealt with our cached line being invalidated
3359         from external calls to gtk_text_layout_changed.
3360
3361         * gtk/gtktextlayout.c (gtk_text_layout_changed):
3362         Check if the invalidate yrange intersects our
3363         cached line, and clear it if necessary.
3364
3365 2003-06-05  Tor Lillqvist  <tml@iki.fi>
3366
3367         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global
3368         filters.
3369
3370 2003-06-05  Matthias Clasen  <maclas@gmx.de>
3371
3372         * gtk/gtktextview.c: Fix for #84668, reported by Torbjrn Andersson:
3373         (gtk_text_view_grab_notify): 
3374         (gtk_text_view_state_changed): Implement these
3375         to unobscure cursor when grab shadowed or insensitised.
3376         (gtk_text_view_unobscure_mouse_cursor): New function to undo the
3377         effect of gtk_text_view_obscure_mouse_cursor(). Code lifted from
3378         gtk_text_view_motion_event().
3379         (gtk_text_view_motion_event): Use gtk_text_view_obscure_mouse_cursor().
3380
3381         * gtk/gtktextview.c (select_all): New keybinding signal for
3382         (un)selecting the whole buffer. Bound to C-a/C-\.  (see #107889)
3383
3384         * gtk/gtkcalendar.c (calendar_timer): 
3385         (stop_spinning): Replace deprecated gtk_timeout_* functions by
3386         their GLib counterparts.  (#114429)
3387
3388         * gtk/gtktreestore.c (gtk_tree_store_new): 
3389         * gtk/gtkliststore.c (gtk_list_store_new): Document restriction on 
3390         types.
3391
3392 Wed Jun  4 19:42:17 2003  Owen Taylor  <otaylor@redhat.com>
3393
3394         * gdk/gdkpango.c (gdk_draw_layout_line_with_colors):
3395         When drawing underlines, join up adjacent runs
3396         where possible, so we don't get changes in 
3397         shaper/font/etc. breaking underlines. (#103662,
3398         Kang Jeong-Hee)
3399
3400 Wed Jun  4 19:22:58 2003  Jonathan Blandford  <jrb@redhat.com>
3401
3402         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_level_find_insert):
3403         Slightly modified patch from Owen Taylor <otaylor@redhat.com> to
3404         improve the speed of inserting rows into an already sorted list,
3405         #109292
3406
3407 Wed Jun  4 19:24:28 2003  Owen Taylor  <otaylor@redhat.com>
3408
3409         * gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep
3410         track of when we have a clip mask set for the GC,
3411         and when we unset it, or switch to a clip region,
3412         immediately call XSetClipMask (..., None) to avoid
3413         Xlib caching stale data. (#111806)
3414
3415         * gtk/gtktextdisplay.c: Don't set a clip mask
3416         when drawing alpha pixmaps; it isn't necessary any more.
3417         (#111806)
3418
3419 Wed Jun  4 18:27:44 2003  Owen Taylor  <otaylor@redhat.com>
3420
3421         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): 
3422         gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): 
3423         Use GTK_WIDGET_IS_SENSITIVE(), not GTK_WIDGET_SENSITIVE
3424         (#92548, Tim Evans)
3425
3426         * gtk/gtkcheckmenuitem.c (gtk_real_check_menu_item_draw_indicator)
3427         gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator): If
3428         Use state_type = STATE_INSENSITIVE for insensitive menu items.
3429
3430 Wed Jun  4 21:25:35 2003  Kristian Rietveld  <kris@gtk.org>
3431
3432         Merged from stable.
3433
3434         * gtk/gtktreeview.c (gtk_tree_view_drag_begin): use a silent
3435         assert for get_info. (reported by Michael Natterer),
3436         (gtk_tree_view_expand_all_emission_helper),
3437         (gtk_tree_view_expand_all_helper): emit row_expanded for all
3438         expanded rows during an _expand_all operation. (Fixes #111280,
3439         reported by Benjamin Bayart).
3440
3441 Tue Jun  3 18:32:30 2003  Owen Taylor  <otaylor@redhat.com>
3442
3443         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't
3444         respond to pings on a root window; prevents infinite
3445         loops if we are selecting for SubstructureNotify on the
3446         root window. (#111945, Sergey V. Udaltsov)
3447
3448 Tue Jun  3 17:39:16 2003  Owen Taylor  <otaylor@redhat.com>
3449
3450         #71597, reported by Morten Welinder
3451
3452         * gdk/gdkpixbuf-drawable.c (rgb888amsb): Fix and simplify
3453         (Patch from Christian Petig)
3454
3455         * gdk/gdkpixbuf-drawable.c (rgb{555,565}{a,}{msb,lsb}):
3456         Major rewrite of 555 and 565 conversion routines:
3457
3458         - Move all the bit shifting into a small block of macros,
3459           eliminating much duplication of complicated arithmetic.
3460         - Get rid of 2-pixels at a time code, which was buggy,
3461           hard to maintain, caused unaligned accesses, and
3462           probably didn't actually perform any better.
3463         - Simplify cases where different data types were
3464           used for the little and big endian cases, use
3465           GUINT16_SWAP_LE_BE() where appropriate.
3466                 
3467 Tue Jun  3 15:05:47 2003  Owen Taylor  <otaylor@redhat.com>
3468
3469         * gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove
3470         bad optimization for src_rowstride == dest_stride.
3471         (Didn't consider the case where we were copying only
3472         partial widths of a wider source buffer)
3473         (#113034, reported by Hans Petter Jansson)
3474
3475 2003-06-03  Michael Natterer  <mitch@gimp.org>
3476
3477         * gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events):
3478         reenabled button_release events for xinput devices. (#113948)
3479
3480 2003-06-03  Christian Rose  <menthos@menthos.com>
3481
3482         * configure.in: Added "li" to ALL_LINGUAS.
3483
3484 Mon Jun  2 18:58:54 2003  Owen Taylor  <otaylor@redhat.com>
3485
3486         * gtk/gtknotebook.c (gtk_notebook_size_allocate): Don't
3487         map the event window if the notebook isn't mapped. (#113980,
3488         Richard Reich)
3489
3490 2003-06-02  Sven Neumann  <sven@gimp.org>
3491
3492         * gtk/gtkprogress.c (gtk_progress_changed): added a missing cast.
3493
3494         * gdk/gdkrgb.c (gdk_rgb_try_colormap): removed an unused variable.
3495
3496 2003-06-01  Matthias Clasen  <maclas@gmx.de>
3497
3498         * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Add 
3499         Since: 2.4 to the docs.
3500
3501         * gtk/gtkwindow.c (gtk_window_parse_geometry): Add some hints and
3502         an example to the docs.  (#98427)
3503
3504 2003-05-30  Murray Cumming  <murrayc@usa.net>
3505
3506         * gtk/gtkalignment.[h|c]: Added 4-sided padding as properties with
3507         gtk_alignment_get_padding() and gtk_aligment_set_padding(). This
3508         uses the new private data system - see g_type_class_add_private() in
3509         gtk_alignment_class_init() and the use of GTK_ALIGNMENT_GET_PRIVATE().
3510
3511 2003-05-30  Matthias Clasen  <maclas@gmx.de>
3512         
3513         * gtk/gtknotebook.c: Changed guint to GtkNotebookArrow in the
3514         signature of gtk_notebook_draw_arrow() for Solaris builds to go
3515         through.  (#114043, Anand Subramanian)
3516
3517 Thu May 29 18:30:35 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3518
3519         * modules/input/imipa.c: 
3520         use GETTEXT_PACKAGE to get a translation for "ipa"(#113850).
3521
3522 Thu May 29 18:08:01 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3523
3524         * gtk/gtkimmodule.c (_gtk_im_module_list):
3525         use GETTEXT_PACKAGE to get a translation for "Default"(#113850).
3526
3527 Thu May 29 09:34:05 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3528
3529         * gtk/gtkimmodule.c (_gtk_im_module_list): make "Default"
3530         label of default input method localizable.
3531         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): 
3532         use translations of input method context names
3533         * modules/input/imam-et.c, modules/input/imcyrillic-translit.c,
3534           modules/input/iminuktitut.c, modules/input/imthai-broken.c,
3535           modules/input/imti-er.c, modules/input/imti-et.c
3536           modules/input/imviqr.c, modules/input/imxim.c
3537         use GETTEXT_PACKAGE instead of "gtk+" for domain name.
3538         (#113850).
3539
3540 Thu May 29 18:23:01 2003  Kristian Rietveld  <kris@gtk.org>
3541
3542         Merged from stable.
3543
3544         * gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
3545         grab separate, the user might clear the tree in the focus-in
3546         callback. (Fixes #113086, testcase from Felipe Heidrich).
3547
3548 Thu May 29 18:06:26 2003  Kristian Rietveld  <kris@gtk.org>
3549
3550         Merged from stable.
3551
3552         * gtk/gtktreeview.c (gtk_tree_model_set_model): reset a bunch
3553         of row reference when we unset the model. Also reset
3554         dy and top_row_dy. (Fixes #109289, patch from Owen Taylor).
3555
3556 Thu May 29 17:12:19 2003  Kristian Rietveld  <kris@gtk.org>
3557
3558         Merged from stable.
3559
3560         * gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): cancel
3561         the current editing, if it exists. (Fixes #108956, reported by
3562         Michael Natterer).
3563
3564 Thu May 29 17:06:09 2003  Kristian Rietveld  <kris@gtk.org>
3565
3566         Merged from stable.
3567
3568         * gtk/gtktreeview.c (check_selection_helper): new function,
3569         (gtk_tree_view_row_deleted): traverse the tree from the
3570         deleted node to see whether the selection changed, instead of
3571         just checking this node. (Fixes #107400, reported by 'Duncan').
3572
3573 Thu May 29 16:31:34 2003  Kristian Rietveld  <kris@gtk.org>
3574
3575         Merged from stable.
3576
3577         * gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row),
3578         (gtk_tree_view_drag_begin): set the DnD icon in _drag_begin
3579         instead of _maybe_begin_dragging_row, so the icon can be
3580         overridden by apps. (Fixes #104374, patch from Daniel Elstner).
3581
3582 Thu May 29 16:14:04 2003  Kristian Rietveld  <kris@gtk.org>
3583
3584         Merged from stable.
3585
3586         * gtk/gtktreeview.c (gtk_tree_view_start_editing): correct
3587         cell_area x/width for the expander if needed. (Fixes #101748,
3588         reported by Dave Cook and Mariano Suarez-Alvarez).
3589
3590 Thu May 29 16:01:38 2003  Kristian Rietveld  <kris@gtk.org>
3591
3592         Merged from stable.
3593
3594         * gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): check
3595         if tree/node are still the same after _internal_select_node.
3596         (Fixes #92256, reported by edscott).
3597
3598 Thu May 29 15:38:30 2003  Kristian Rietveld  <kris@gtk.org>
3599
3600         Fixes #75745, reported by Richard Hult. Merged from stable.
3601
3602         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): set/unset
3603         GTK_CELL_RENDERER_FOCUSED flag whether the current node is the
3604         cursor or not.
3605
3606         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
3607         if we are rendering a cursor row, and the cell the be
3608         processed has focus, then set the GTK_CELL_RENDERER_FOCUSED
3609         flag (else we unset it).
3610
3611 2003-05-27  Matthias Clasen  <maclas@gmx.de>
3612
3613         * gtk/gtkwindow-decorate.c: 
3614         * gtk/gtktreeprivate.h: 
3615         * gtk/gtkdnd.c: 
3616         * gdk/win32/gdkwindow-win32.h: 
3617         * gdk/linux-fb/gdkprivate-fb.h: 
3618         * gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of
3619         unspecified signedness.  (#112919, Morten Welinder)
3620
3621         * gtk/queryimmodules.c (escape_string): 
3622         * gtk/gtktextbtree.c (_gtk_text_btree_get_text): 
3623         * gtk/gtksettings.c (_gtk_settings_parse_convert): 
3624         * gtk/gtkrc.c (gtk_rc_parse_assignment): 
3625         * gtk/gtkinputdialog.c (gtk_input_dialog_set_key): 
3626         * gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all 
3627         occurances of g_string_new ("") by g_string_new (NULL). (#106975,
3628         Morten Welinder) 
3629
3630 2003-05-27  Tor Lillqvist  <tml@iki.fi>
3631
3632         * gtk-zip.sh.in: Only include the Default and Emacs themes' gtkrc
3633         files. Include share/gtk-doc/{gdk-pixbuf,gdk,gtk}.
3634
3635         * gdk/Makefile.am: libgdk-win32-2.0.la depends on
3636         win32/libgdk-win32.la.
3637
3638         * gtk/gtk.def: Add gtk_tree_view_column_cell_get_position.
3639
3640 Sat May 24 22:19:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3641
3642         * gtk/gtkscrollbar.c (gtk_scrollbar_class_init): Make the minimum
3643         scrollbar slider length 21 instead of 7.
3644
3645 2003-05-23  Matthias Clasen  <maclas@gmx.de>
3646
3647         * gtk/gtknotebook.c: Add support for up to four scroll
3648         arrows. Control their display by new style properties
3649         "has_forward_stepper", "has_backward_stepper",
3650         "has_secondary_forward_stepper" and
3651         has_secondary_backward_stepper". (#110540)
3652
3653         * gtk/gtknotebook.h (struct _GtkNotebook): Make in_child and
3654         click_child three bits wide, add
3655         has_{before,after}_{previous,next} fields.
3656
3657         * gtk/gtkcolorsel.c (gtk_color_selection_init): Update color on
3658         focus out of hex_entry.  (#112665)
3659         (hex_focus_out): New signal handler for focus out of hex entry.
3660
3661 Wed May 21 19:01:06 2003  Owen Taylor  <otaylor@redhat.com>
3662
3663         * gtk/gtkwidget.c (gtk_widget_realize): 
3664         g_return_if_fail() if
3665         GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget).
3666         (#107872, Christian Reis)
3667
3668 2003-05-22  Matthias Clasen  <maclas@gmx.de>
3669
3670         * gtk/gtkfilesel.c (gtk_file_selection_create_dir): 
3671         (gtk_file_selection_rename_file): Some keynav improvements for the
3672         "Rename File" and "Create Directory" subdialogs: Enter in entry
3673         activates default, default is "Create"/"Rename", Escape cancels
3674         dialog.  (#113110)
3675         (gtk_file_selection_set_filename): Add a hint about opening 
3676         directories.  (#113175)
3677
3678 2003-05-22  Matthias Clasen  <maclas@gmx.de>
3679
3680         * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_update_xft_clip):
3681         Use XftDrawSetClipRectangles(), since we're inside HAVE_XFT2
3682         anyway.  (#113476)
3683
3684 Wed May 21 15:53:14 2003  Owen Taylor  <otaylor@redhat.com>
3685
3686         * gtk/gtkprogress.c (gtk_progress_set_format_string,
3687         gtk_progress_set_show_text): Always queue a resize ... 
3688         we rely on the size-allocate to do the update, plus a 
3689         different format can actually change our size requisition.
3690         (#111052, Vasco Alexandre da Silva Costa)
3691
3692         * gtk/gtkprogress.c (gtk_progress_changed): Track
3693         ::changed as well as ::value_changed, and queue a
3694         resize on ::changed when necessary.
3695
3696         * gtk/gtkprogress.c (gtk_progress_set_adjustment): 
3697         Call gtk_progress_changed() here to update or 
3698         queue a resize as necessary.
3699
3700 Wed May 21 14:06:13 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3701
3702         * gtk/gtkimcontextsimple.c: added composing rules of
3703         Greek accented letters, patch by Vasilis Vasaitis (#107507)
3704
3705 Wed May 21 13:19:05 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3706
3707         * gtk/gtkenums.h (enum GtkIMPreeditStyle, GtkIMStatusStyle): 
3708         * modules/input/gtkimcontextxim.c (preedit_style_change, status_style_change):
3709         gtk settings for XIMPreeditNone and XIMStatusNone. (#105909)
3710
3711 Wed May 21 12:10:25 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3712
3713         * gtk/gtkimcontextsimple.c: 
3714         code that can check the compose table for ascending order,
3715         by Vasilis Vasaitis (#104862).
3716
3717 Wed May 21 12:52:01 2003  Owen Taylor  <otaylor@redhat.com>
3718
3719         * gtk/gtkkeyhash.[ch] (_gtk_key_hash_looku): We need 
3720         to pass the unmasked state to gdk_keymap_translate_keyboard_state() 
3721         to handle the case where a modifier not in the mask
3722         (like Num_Lock) changes the key value, so replace
3723         the masked state with a state/mask pair. (#106913,
3724         Olivier Ripoll)
3725
3726         * gtk/gtkwindow.c gtk/gtkbinding.c: Update to pass
3727         in state/mask pair to _gtk_key_hash_lookup()
3728
3729 Tue May 20 21:58:00 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3730
3731         * modules/input/gtkimcontextxim.c (xim_info_display_closed):
3732         fix a memory leak, free input context list (#113259).
3733
3734 2003-05-21  Matthias Clasen  <maclas@gmx.de>
3735
3736         * configure.in (all_loaders): Add pcx.
3737
3738         * gtk/gtkcalendar.c: Make calendar controls spin.  (#112540)
3739
3740 Tue May 20 17:27:24 2003  Owen Taylor  <otaylor@redhat.com>
3741
3742         * gtk/gtkimmodule.c (gtk_im_module_init): Silently
3743         accept a missing gtk.immodules file, some people
3744         want to run without one. (#112406, patch from
3745         Arnaud Charlet)
3746
3747 Tue May 20 17:05:31 2003  Owen Taylor  <otaylor@redhat.com>
3748
3749         * gtk/gtkwindow.c (gtk_window_compute_hints): Fix 
3750         height/width confusion (#113370, Xan Lopez)
3751
3752 Tue May 20 15:48:45 2003  Owen Taylor  <otaylor@redhat.com>
3753
3754         * gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively
3755         zero all unused parts of client messages (Mainly Motif DND
3756         and EWMH). Also, fix a couple places where we were putting
3757         contents into Motif DND messages that didn't belong.
3758         (#113361, EWMH problem reported by Lubos Lunak)
3759
3760         * gtk/gtkselection.c (_gtk_selection_request): Handle the
3761         case where the property type for the multiple atoms is
3762         ATOM_PAIR by doing the conversions ourselve. This is
3763         needed for Xt inter-operation.
3764
3765 2003-05-19 Arafat Medini <lumina@silverpen.de>
3766
3767         * configure.in: Added ar to ALL_LINGUAS
3768
3769 2003-05-19  Matthias Clasen  <maclas@gmx.de>
3770
3771         * gtk/gtksettings.c (gtk_rc_property_parse_border,
3772         gtk_rc_property_parse_color, gtk_rc_property_parse_enum,
3773         gtk_rc_property_parse_flags, gtk_rc_property_parse_requisition):
3774         Add docs.
3775
3776         * gtk/gtkwidget.c (gtk_widget_class_install_style_property, 
3777         gtk_widget_class_install_style_property_parser): Add docs. 
3778
3779 2003-05-17  Matthias Clasen  <maclas@gmx.de>
3780
3781         * tests/prop-editor.c: Add navigation for object properties, so
3782         that you can easily edit the properties of the parent of a widget.
3783         (#113152)
3784
3785 Wed May 14 17:45:32 2003  Owen Taylor  <otaylor@redhat.com>
3786
3787         * gdk/gdkkeysyms.h gdk/gdkkeynames.c gdk/gdkkeyuni.c:
3788         Patch from Vasilis Vasaitis to fix Greek_IOTAdi[a]eresis 
3789         inconsistency and leave the old name as an aliass (#104873)
3790
3791 Wed May 14 16:40:09 2003  Owen Taylor  <otaylor@redhat.com>
3792
3793         * gtk/gtkframe.c (gtk_frame_set_label_widget): Patch
3794         from Charles Schmidt to add missing notify (#108305)
3795
3796 Wed May 14 16:00:51 2003  Owen Taylor  <otaylor@redhat.com>
3797  
3798         * gdk/x11/gdkgc-x11.c: Remove unecessary g_return_if_fail().
3799         (#105500, Morten Welinder.)
3800  
3801 Wed May 14 09:05:11 2003   Hidetoshi Tajima <hidetoshi.tajima@sun.com>
3802
3803         * modules/input/gtkimcontextxim.c (get_ic_real): use type of guint32
3804         instead of gumake for XNFilterEvents event mask(#110493).
3805
3806 2003-05-11  Anders Carlsson  <andersca@codefactory.se>
3807
3808         * gtk/gtkdnd.c (gtk_drag_source_unset_icon): Don't cast a gchar to
3809         a GObject. (#112762)
3810
3811 2003-05-08  Sven Neumann  <sven@gimp.org>
3812
3813         * configure.in: set the HAVE_X11R6 automake conditional to false
3814         if not compiling for X11.
3815
3816 2003-05-08  Matthias Clasen  <maclas@gmx.de>
3817
3818         * gtk/gtkcalendar.[ch] (gtk_calendar_set_display_options): 
3819         (gtk_calendar_get_display_options): New functions.
3820         (gtk_calendar_display_options): Depreate.  (#64567)
3821         (gtk_calendar_class_init): Add boolean properties for the display
3822         options.  (#50949)
3823
3824 Tue May  6 16:50:52 2003  Owen Taylor  <otaylor@redhat.com>
3825
3826         Patch from James Henstridge to update to automake-1.7
3827         (#109542)
3828  
3829         * autogen.sh: update to call newer tools.
3830  
3831         * configure.in: various updates, to use M4 macros to put
3832         variables that change each release at the top.
3833         Use AC_HELP_STRING to format help strings.
3834         Use AC_CONFIG_COMMANDS to generate gdkconfig.h.
3835  
3836         * Makefile.am: require Automake 1.7.  Remove gdk-2.0.pc and
3837         gtk+-2.0.pc on uninstall.  Pass --enable-gtk-doc to configure
3838         during distcheck.
3839  
3840         * docs/reference/*/Makefile.am: simplify to use the gtk-doc.make
3841         makefile fragment.
3842  
3843         * */Makefile.am: don't use STRIP_BEGIN/STRIP_END.
3844         Use BUILT_SOURCES where appropriate.
3845         Build generated files in builddir rather than srcdir.
3846         Fix uninstall and distclean targets to satisfy distcheck.
3847
3848         ===
3849
3850         * gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h
3851         built first, since we are now using BUILT_SOURCES.
3852
3853         * gdk/Makefile.am: Remove an outdated comment about gdk_headers.
3854
3855         * demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem
3856         with geninclude.pl.
3857
3858         * configure.in: Update versions to 2.3.0.
3859  
3860 2003-05-06  Tor Lillqvist  <tml@iki.fi>
3861
3862         Fix for #110165 (thanks to Arnaud Charlet):
3863         
3864         * gdk/win32/gdkevents-win32.c (build_keypress_event,
3865         build_keyrelease_event): For unshifted control char, use
3866         lowercase ASCII keyval.
3867         (gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and
3868         UP (i.e. Alt-something), if it's an unshifted ASCII letter, use
3869         lowercase keyval. Use build_key_event_state() here, too, instead
3870         of minor code duplication.
3871
3872 2003-05-06  Matthias Clasen  <maclas@gmx.de>
3873
3874         * tests/testmultidisplay.c: Don't include strings.h, it's not
3875         needed anymore.  (#112388)
3876
3877         * examples/menu/itemfactory.c: 
3878         * docs/tutorial/gtk-tut.sgml: Remove an unneeded include from the
3879         itemfactory example.
3880
3881 2003-05-05  Matthias Clasen  <maclas@gmx.de>
3882
3883         * gtk/gtkdnd.c (gtk_drag_source_set_icon_stock):  Actually set the
3884         icon type to the stock icon type.  (#111735, Dave Bordoley)
3885
3886 2003-05-05  Christian Rose  <menthos@menthos.com>
3887
3888         * configure.in: Added sr and sr@Latn to ALL_LINGUAS.
3889         Removed sp, it's replaced by sr@Latn.
3890
3891 Wed Apr 30 22:09:11 BST 2003  Tony Gale <gale@gtk.org>
3892
3893         * docs/faq/gtk-faq.sgml: GTK+ 2.x updates, mainly from
3894         Gonzalo Odiard
3895
3896 Mon Apr 28 17:54:39 2003  Jonathan Blandford  <jrb@redhat.com>
3897
3898         * gtk/gtktreeview.c (gtk_tree_view_destroy): destroy the search
3899         data iff the destroy func isn't NULL.
3900
3901 Thu Apr 24 19:12:05 2003  Owen Taylor  <otaylor@redhat.com>
3902
3903         * autogen.sh (have_libtool): Accept libtool-1.5. (#111480)
3904
3905 2003-04-23  Abel Cheung  <maddog@linux.org.hk>
3906
3907         * configure.in: Added "am" "mk" "ta" to ALL_LINGUAS.
3908
3909 Tue Apr 22 15:33:51 2003  Owen Taylor  <otaylor@redhat.com>
3910
3911         * gtk/gtkfilesel.c (open_new_dir): Fix capitalization
3912         of UTF-8. (#106419, Roozbeh Pournader)
3913
3914 Tue Apr 22 15:17:25 2003  Owen Taylor  <otaylor@redhat.com>
3915
3916         * configure.in: Only check for XFT2 if we found pango-xft
3917         (#105692, Jon Nall)
3918
3919 Tue Apr 22 15:12:19 2003  Owen Taylor  <otaylor@redhat.com>
3920
3921         * gtk/gtkwidget.c (gtk_widget_class_init): Fix PROP_HAS_FOCUS/
3922         PROP_IS_FOCUS confusion. (#111333, Jody Goldberg)
3923
3924 Tue Apr 22 19:43:01 BST 2003  Tony Gale <gale@gtk.org>
3925
3926         * docs/faq/gtk-faq.sgml: add note about version converage.
3927
3928 Mon Apr 21 19:02:16 2003  Owen Taylor  <otaylor@redhat.com>
3929
3930         * gtk/gtksocket.c (activate_key): Fix prototype for
3931         activate_key. (#108927, Jason D. Hildebrand)
3932
3933 Mon Apr 21 18:42:51 2003  Owen Taylor  <otaylor@redhat.com>
3934
3935         * demos/gtk-demo/Makefile.am demos/gtk-demo/geninclude.pl:
3936         Remove geninclude.pl from CVS and don't dist it either,
3937         it is generated. (#108970, Rich Kinder)
3938
3939 Mon Apr 21 18:35:48 2003  Owen Taylor  <otaylor@redhat.com>
3940
3941         * gtk/gtkobject.h: Remove a couple of obsolete comments,
3942         fix another comment. (#109737, Britton Kerin)
3943
3944 Mon Apr 21 18:29:03 2003  Owen Taylor  <otaylor@redhat.com>
3945
3946         * gtk/gtkiconfactory.c (gtk_icon_set_unref): Free
3947         the source list, not just it's contents (Patch
3948         from Charles Kerr, #108243)
3949
3950 Mon Apr 21 18:13:46 2003  Owen Taylor  <otaylor@redhat.com>
3951
3952         * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch
3953         from Alex Larsson fixing problem with restacking during
3954         DND. (#108671)
3955
3956 Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>
3957
3958         * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
3959         Calling XFlush() after ungrabbing, to avoid problems if
3960         the app subsequently blocks on a long-running operation.
3961         (#106520, reported by Rajkumar Siva)
3962
3963 Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>
3964
3965         * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
3966         SKIP_TASKBAR/SKIP_PAGER to set of properties we
3967         might set on map. (#110019, problem reported
3968         by Loban Rahman)
3969
3970 Fri Apr 18 17:14:33 2003  Owen Taylor  <otaylor@redhat.com>
3971
3972         * gdk/gdkevents.c (gdk_event_copy): Fix for the
3973         case when gdk_event_copy() is called on a non-allocated
3974         event. (#109716, reported by Rich Burridge)
3975
3976 Fri Apr 18 16:57:44 2003  Owen Taylor  <otaylor@redhat.com>
3977
3978         * gdk/x11/gdkdrawable-x11.c (draw_with_images/pixmaps):
3979         Fix pointer arithmetic on 'void *'. (#108322)
3980
3981 Fri Apr 18 16:31:49 2003  Owen Taylor  <otaylor@redhat.com>
3982
3983         * configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am:
3984         Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
3985         use of XAddConnectionWatch. Remove --enable-xim config option.
3986         Should fix building on X11R6 (#110523, Albert Chin)
3987
3988 Fri Apr 18 15:56:46 2003  Owen Taylor  <otaylor@redhat.com>
3989
3990         * gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]:
3991         Patch from Morten Welinder to catch Sun servers with a 
3992         broken implementation of the RENDER extension. (#108309)
3993
3994 Fri Apr 18 15:30:38 2003  Owen Taylor  <otaylor@redhat.com>
3995
3996         * gdk/x11/gdkwindow-x11.c (set_text_property): Use
3997         gdk_free_compound_text(), not g_free(). (#107643,
3998         Michael Zucchi)
3999
4000 Fri Apr 18 15:11:50 2003  Owen Taylor  <otaylor@redhat.com>
4001
4002         * gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type)
4003         gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type): Fix
4004         wrong use of base_finalize. (#105126, Sven Neumann)
4005
4006 Fri Apr 18 15:06:00 2003  Owen Taylor  <otaylor@redhat.com>
4007
4008         * gdk/gdkwindow.c (gdk_window_constrain_size): Fix
4009         '/' vs. '*' problem in aspect ration computations. (#108237)
4010
4011 Fri Apr 18 14:15:09 2003  Owen Taylor  <otaylor@redhat.com>
4012
4013         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): 
4014         * gdk/x11/gdkevents-x11.c (gdk_event_translate): You
4015         don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify 
4016         event, so select for both. (#108406, Egmont Koblinger)
4017
4018 Thu Apr 17 09:57:44 2003  Jonathan Blandford  <jrb@gnome.org>
4019
4020         * gtk/gtktreeview.c (validate_visible_area): remove infinite loop
4021         caused by not clearing the scroll_to_path.
4022
4023 2003-04-16  Matthias Clasen  <maclas@gmx.de>
4024
4025         * gtk/gtkstyle.c: Doc additions and fixes.
4026
4027         * gtk/gtktreeviewcolumn.c
4028         (_gtk_tree_view_column_get_neighbor_sizes): Doc fixes.
4029
4030 2003-04-14  Michael Natterer  <mitch@gimp.org>
4031
4032         * gtk/gtkliststore.c (gtk_list_store_move): added checks to ensure
4033         that the iter is not reordered to its own position. Prevents model
4034         corruption for the case that the store contains only a single item
4035         (fixes bug #108387).
4036
4037         Unrelated:
4038
4039         * gtk/gtkliststore.c (gtk_list_store_insert): g_list_alloc() the
4040         new list element later so we don't leak it if we decide to return
4041         early.
4042
4043         * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
4044         set selection->tree_view->priv->anchor to NULL after freeing it.
4045
4046 2003-04-13  Matthias Clasen  <maclas@gmx.de>
4047
4048         * gtk/gtktreeviewcolumn.c
4049         (gtk_tree_view_column_cell_get_position): Document. 
4050
4051         * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): 
4052         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_[sg]et_expand): 
4053         * gtk/gtkbutton.c (gtk_button_[sg]et_focus_on_click): Document
4054         these as 2.4 additions.
4055
4056 2003-04-09  Matthias Clasen  <maclas@gmx.de>
4057
4058         * INSTALL.in: Fix the real thing.
4059
4060         * INSTALL: Typo fix.
4061
4062 Mon Apr  7 19:43:15 2003  Owen Taylor  <otaylor@redhat.com>
4063
4064         * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush
4065         after ungrabbing the server.
4066  
4067         * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed
4068         calls to XFlush().
4069
4070         * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer):
4071         Use gdk_x11_display_grab/ungrab.
4072
4073         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize
4074         use_xshm to TRUE so SHM gets used when present.
4075  
4076 2003-04-07  Matthias Clasen  <maclas@gmx.de>
4077
4078         * gtk/gtktextlayout.c (set_para_values): 
4079         * gtk/gtkenums.h (GtkWrapMode): Add GTK_WRAP_WORD_CHAR.  (#110086,
4080         David Brigada)
4081
4082         * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c,
4083         gtk/gtktreeselection.c, gtk/gtktreeview.c: Fix numerous
4084         misspellings of possessive "its".  (#110027, Doug Quale)
4085
4086 2003-04-03  Matthias Clasen  <maclas@gmx.de>
4087
4088         * demos/gtk-demo/main.c (demo_find_file): Only use files from the
4089         current directory if it looks like the srcdir.  (#109357)
4090
4091 Wed Apr  2 23:02:26 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4092
4093         * gtk/gtkbutton.[ch] (gtk_button_class_init): add property
4094         focus_on_click
4095
4096         * gtk/gtkwindow.c (gtk_window_focus): make arrow keyboard
4097         navigation not wrap around.
4098
4099 2003-04-02  Matthias Clasen  <maclas@gmx.de>
4100
4101         * gtk/gtkprogress.c (gtk_progress_get_percentage_from_value):
4102         Return 0 if lower == upper.  (#109155)
4103         (gtk_progress_get_current_percentage): Use
4104         gtk_progress_get_percentage_from_value().
4105
4106 2003-04-01  Matthias Clasen  <maclas@gmx.de>
4107
4108         * gtk/gtkimcontext.c (gtk_im_context_focus_in): Fix docs.
4109         (#109510, Noah Levitt)
4110
4111 Mon Mar 31 13:52:13 2003  Jonathan Blandford  <jrb@redhat.com>
4112
4113         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): null initialize reorder's
4114         members so Purify won't complain.
4115
4116         * gtk/gtkliststore.c (gtk_list_store_sort): ditto.
4117
4118 2003-03-31  Matthias Clasen  <maclas@gmx.de>
4119
4120         * gtk/gtkwindow.c: Add a new property, role, corresponding to 
4121         gtk_window_[gs]et_role().  (#93904)
4122
4123 Sun Mar 30 03:57:42 2003  Jonathan Blandford  <jrb@gnome.org>
4124
4125         * gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows):
4126         fix crash.  Patch from Markus Lausser <sgop@users.sourceforge.net>
4127
4128 2003-03-29  Matthias Clasen  <maclas@gmx.de>
4129
4130         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Set state
4131         of labels back to normal before reparenting back.  (#102387)
4132
4133         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): Set
4134         a default window title to match the GtkFontSelectionDialog behavior.
4135  
4136         (gtk_color_selection_dialog_new): Don't call
4137         gtk_window_set_title() if title is NULL.  (bug #101975, Daniel Elstner)
4138
4139 2003-03-29  Matthias Clasen  <maclas@gmx.de>
4140
4141         Fix for bug #78499:
4142         
4143         * gtk/gtkentry.h (struct _GtkEntry): Add flags select_words and
4144         select_lines. 
4145
4146         * gtk/gtkentry.c (gtk_entry_button_press): Set select_words and
4147         select_lines on double/triple click.
4148
4149         * gtk/gtkentry.c (gtk_entry_motion_notify): Implement
4150         select-by-words and select-by-lines behaviour.
4151
4152         Fixes for bug #56248:
4153         
4154         * gtk/gtknotebook.c (stop_scrolling): New function to remove the
4155         timer and queue a redraw. 
4156         (gtk_notebook_grab_notify): 
4157         (gtk_notebook_state_changed): New functions to call stop_scrolling() 
4158         if necessary.   
4159         (gtk_notebook_button_release): Use stop_scrolling().
4160         (gtk_notebook_draw_arrow): Fix drawing of insensitive arrows.
4161
4162         * gtk/gtkrange.c (stop_scrolling): New function to remove the
4163         grab, remove the timer and queue a redraw.
4164         (gtk_range_grab_notify): 
4165         (gtk_range_state_changed): New functions to call stop_scrolling() 
4166         if necessary.   
4167         (gtk_range_button_release): Use stop_scrolling().
4168
4169         * gtk/gtkspinbutton.c (gtk_spin_button_grab_notify): 
4170         (gtk_spin_button_state_changed): Redraw after stop_spinning.
4171         (gtk_spin_button_stop_spinning): Reset click_child to correct the
4172         drawing of the arrows.
4173         (gtk_spin_button_button_release): Use a local copy of click_child,
4174         since stop_spinning() resets it.
4175
4176         * gtk/gtknotebook.c (gtk_notebook_class_init): Add C-A-PgUp and
4177         C-A-PgDown as alternatives to the A-less variants. (This slipped
4178         in accidentally some time ago).  (#97860)
4179
4180 2003-03-26  Sven Neumann  <sven@gimp.org>
4181
4182         * gtk/gtktreeview.c: rewrote the function that does node and arrow
4183         prelighting, queue all redraws from here (Fixes bug #108792).
4184
4185 2003-03-20  Richard Kinder <r_kinder@yahoo.com>
4186
4187         * demos/testpixbuf.c (update_timeout): set error to NULL, not FALSE.
4188         Fixes bug #108778.
4189
4190 2003-03-20  Guntupalli Karunakar <karunakar@freedomink.org>
4191
4192         * configure.in: Added "ml" in ALL_LINGUAS
4193
4194 Sat Mar 15 18:49:27 2003  Manish Singh  <yosh@gimp.org>
4195
4196         * gtk/gtkradiomenuitem.h: use GTK_DISABLE_DEPRECATED instead of
4197         G_DISABLE_DEPRECATED.
4198
4199 2003-03-14  Tor Lillqvist  <tml@iki.fi>
4200
4201         * gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and
4202         GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or
4203         DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with
4204         multiple monitors can have negative coordinates on some of the
4205         monitors. (partial fix for #99496, Arnaud Charlet)
4206
4207 2003-03-15  Matthias Clasen  <maclas@gmx.de>
4208
4209         * gtk/gtktextview.c: Add a "buffer" property.  (#108353) 
4210
4211 2003-03-13  Sven Neumann  <sven@gimp.org>
4212
4213         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
4214         removed redundant calls to g_object_notify().
4215         (gtk_cell_renderer_pixbuf_get_size): removed redundant casts, see
4216         bug #108236.
4217
4218         * gtk/gtktextiter.c (_gtk_text_iter_get_segment_char)
4219         (_gtk_text_iter_get_segment_byte): return 0, not NULL (these
4220         functions return an integer value).
4221
4222 2003-03-13  Tor Lillqvist  <tml@iki.fi>
4223
4224         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On
4225         WM_MOUSEMOVE, the test whether we have actually moved (and thus
4226         shouldn't generate an GDK event) moved after the call to
4227         propagate() and translate_mouse_coords(). Otherwise we were
4228         testing wrong values. (#108115, Allin Cottrell)
4229         (gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same
4230         way as in WM_?BUTTONDOWN and WM_MOUSEMOVE.
4231
4232         * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor
4233         is used, must copy the HCURSOR with CopyCursor(), as it is OK to
4234         destroy the GdkCursor after calling gdk_pointer_grab(). Set the
4235         cursor right away with SetCursor(), as we won't get any
4236         WM_SETCURSOR messages while the mouse is captured. 
4237         (gdk_display_pointer_ungrab): Correspondingly, destroy the copy
4238         with DestroyCursor() when no longer used. (#108114, Allin Cottrell)
4239
4240         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On
4241         WM_SYSCHAR, return FALSE from the window procedure to prevent the
4242         DefWindowProc from being called. Otherwise Windows would beep,
4243         thinking you are tring to access a (nonexistent) menu when you
4244         press Alt-something. Don't do this for Alt-Space,
4245         though. (#107454, Martyn Russell)
4246
4247         * gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes.
4248
4249 Tue Mar 11 12:01:07 2003  Jonathan Blandford  <jrb@gnome.org>
4250
4251         * gtk/gtktreeview.c (gtk_tree_view_class_init): Ctrl/Shift
4252         [left/right] expands/collapses the tree, #108092
4253
4254 2003-03-09  Tor Lillqvist  <tml@iki.fi>
4255
4256         * gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to
4257         compensate for LineTo() not drawing the end pixel. It causes more
4258         harm than benefits, see bug #81895.
4259
4260 2003-03-08  Matthias Clasen  <maclas@gmx.de>
4261
4262         Bug #107664 continued:
4263
4264         * gdk/x11/gdkinputprivate.h: 
4265         * gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove. 
4266         (_gdk_input_other_event): Return gboolean.
4267         * gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove. 
4268         (_gdk_input_other_event): Return gboolean.
4269         * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean.
4270
4271         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val
4272         gboolean, remove pointless call to _gdk_input_window_none_event.
4273
4274         * gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean.
4275         (_gdk_input_window_none_event): Remove.
4276
4277         * gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment): 
4278         (_gtk_text_iter_get_any_segment): 
4279         (_gtk_text_iter_get_segment_byte): 
4280         (_gtk_text_iter_get_segment_char): 
4281         (_gtk_text_iter_get_text_line): 
4282         (_gtk_text_iter_get_btree): Fix 0/NULL confusion.
4283         * gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint.
4284         * gdk/win32/gdkfont-win32.c (gdk_font_equal): 
4285         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin): 
4286         (gdk_window_get_origin): 
4287         * gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion. 
4288
4289 2003-03-06  Matthias Clasen  <maclas@gmx.de>
4290
4291         * gdk/gdkrgb.c (gdk_rgb_try_colormap): Return gboolean, not gint.
4292         (#107664, Morten Welinder)
4293
4294         * gdk/x11/gdkwindow-x11.c (gdk_window_get_deskrelative_origin): 
4295         * gdk/x11/gdkfont-x11.c (gdk_font_equal): 
4296         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display): 
4297         Fix TRUE/1 and FALSE/0 confusion.  (#107664, Morten Welinder)
4298
4299         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): 
4300         * gtk/gtkeditable.c (gtk_editable_get_chars): 
4301         * gtk/gtkctree.c (gtk_ctree_find_node_ptr): 
4302         * demos/gtk-demo/main.c (demo_find_file): Fix NULL/FALSE confusion
4303         (#107648, Morten Welinder)Fix NULL/FALSE confusion
4304         (#107648, Morten Welinder)
4305
4306 2003-03-04  Matthias Clasen  <maclas@gmx.de>
4307
4308         * gtk/gtkobject.h: Add deprecation guards for gtk_object_new ().
4309
4310 Sun Mar  2 23:35:57 2003  Jonathan Blandford  <jrb@gnome.org>
4311
4312         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size):
4313         handle rtl code.  Thanks to Matthias Clasen for an initial patch
4314         to handle the RTL code.
4315
4316         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size): ditto
4317
4318         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): ditto
4319
4320         * gtk/gtktreeview.c: (invalidate_column),
4321         (invalidate_last_column),
4322         (gtk_tree_view_get_real_requested_width_from_column),
4323         (gtk_tree_view_size_allocate_columns),
4324         (gtk_tree_view_size_allocate), (gtk_tree_view_button_press),
4325         (gtk_tree_view_button_release_drag_column),
4326         (gtk_tree_view_update_current_reorder),
4327         (gtk_tree_view_motion_drag_column), (gtk_tree_view_bin_expose),
4328         (gtk_tree_view_key_press), (gtk_tree_view_header_focus),
4329         (gtk_tree_view_get_background_xrange),
4330         (gtk_tree_view_get_arrow_xrange),
4331         (gtk_tree_view_is_expander_column),
4332         (gtk_tree_view_set_column_drag_info),
4333         (gtk_tree_view_move_cursor_left_right):
4334         Add RTL support.
4335
4336         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): add an
4337         expand flag.
4338
4339         * gtk/gtktreeviewcolumn.c:
4340         (gtk_tree_view_column_class_init),
4341         (gtk_tree_view_column_set_property),
4342         (gtk_tree_view_column_get_property),
4343         (gtk_tree_view_column_set_expand),
4344         (gtk_tree_view_column_get_expand),
4345         (gtk_tree_view_column_cell_process_action):
4346         Add support for expand flag.  Thanks to Kristian Rietveld for an
4347         initial patch for this.
4348
4349 Fri Feb 28 02:06:17 2003  Jonathan Blandford  <jrb@gnome.org>
4350
4351
4352 2003-03-02  Tor Lillqvist  <tml@iki.fi>
4353
4354         * gdk/gdk.def
4355         * gtk/gtk.def: Add a bunch of missing entries. Noticed by Cedric
4356         Gustin.
4357
4358 2003-03-01  Matthias Clasen  <maclas@gmx.de>
4359
4360         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment): 
4361         (gtk_scrolled_window_set_hadjustment): Replace uses of
4362         gtk_object_new by g_object_new.
4363
4364 Thu Feb 27 17:44:24 2003  Manish Singh  <yosh@gimp.org>
4365
4366         * demos/gtk-demo/main.c
4367         * demos/gtk-demo/tree_store.c
4368         * gdk/x11/gdkscreen-x11.c
4369         * gtk/gtkcellrenderertoggle.c
4370         * gtk/gtkcolorsel.c
4371         * gtk/gtkdnd.c
4372         * gtk/gtkeditable.c
4373         * gtk/gtkentry.c
4374         * gtk/gtkmenu.c
4375         * gtk/gtkmenubar.c
4376         * gtk/gtkmenuitem.c
4377         * gtk/gtkmenushell.c
4378         * gtk/gtkrc.c
4379         * gtk/gtksettings.c
4380         * gtk/gtkstyle.c
4381         * gtk/gtktextbuffer.c
4382         * gtk/gtktextview.c
4383         * gtk/gtktreeviewcolumn.c
4384         * tests/testgtk.c
4385         * tests/testtext.c
4386         * tests/testtreeedit.c
4387         * tests/testtreefocus.c
4388         * tests/testtreeview.c: remove unnecessary G_OBJECT() casts.
4389
4390 Tue Feb 25 21:55:17 2003  Jonathan Blandford  <jrb@redhat.com>
4391
4392         * gtk/gtkoptionmenu.c (gtk_option_menu_position): account for RTL
4393         code.
4394
4395 2003-02-24  Sven Neumann  <sven@gimp.org>
4396
4397         * gtk/gtkmain.c (gtk_get_default_language): fixed documentation.
4398
4399 2003-02-21  Tomas Ogren  <stric@ing.umu.se>
4400
4401         * docs/reference/gtk/tmpl/gtktreemodel.sgml: Fix typos in an example
4402
4403 2003-02-20  Matthias Clasen  <maclas@gmx.de>
4404
4405         * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): 
4406         Check if line_ancestor_parent is NULL.  (#102711, Manuel Clos)
4407
4408         * gtk/gtktextview.c (gtk_text_view_scroll_to_iter): 
4409         (gtk_text_view_update_adjustments): Make sure cursor stays visible
4410         during horizontal scrolling.  (#75270)
4411
4412 2003-02-19  Matthias Clasen  <maclas@gmx.de>
4413
4414         * tests/testdnd.c: Replace gtk_timeout_* by their GLib
4415         counterparts. (#106532)
4416
4417         * gdk/gdkkeys.c (gdk_keymap_class_init): Associate the
4418         keys_changed virtual function with the keys_changed signal.
4419         (#106512, Jeff Franks)
4420
4421 2003-02-15  Larry Ewing  <lewing@ximian.com>
4422
4423         * gdk/gdkevents.c (gdk_event_copy): copy the event axes as well.
4424
4425 2003-02-17  Mohammad DAMT  <mdamt@bisnisweb.com>
4426
4427         * po/id.po: Added Indonesian translation
4428         * configure.in: Added "id" to ALL_LINGUAS
4429
4430 2003-02-14  Matthias Clasen  <maclas@gmx.de>
4431
4432         * gtk/gtktextview.c (popup_targets_received): Remove bogus casts.
4433
4434 2003-02-12  Christian Rose  <menthos@menthos.com>
4435
4436         * configure.in: Added "yi" to ALL_LINGUAS.
4437
4438 2003-02-12  Matthias Clasen  <maclas@gmx.de>
4439
4440         Fix for #82734 and #78216:
4441         
4442         * gtk/gtktextview.c (delete_cb): 
4443         (select_all_cb): New callbacks for context menu items.
4444         (popup_targets_received): Add "Delete" and "Select All" to context
4445         menu, mnemonics and title caps for all items.
4446
4447         * gtk/gtkentry.c (gtk_entry_delete_cb): New callback for "Delete"
4448         context menu item.
4449         (popup_targets_received): Add "Delete" to context menu, mnemonics
4450         and title caps for all items.
4451
4452 2003-02-09  Tor Lillqvist  <tml@iki.fi>
4453
4454         * gtk/gtkfilesel.c (win32_gtk_add_drives_to_dir_list): Use
4455         GetDriveType() to recognize removable drives (in order to avoid
4456         hanging if trying to access an empty floppy drive), instead of
4457         hardcoding A: and B: (#105654).
4458
4459 2003-02-09  Matthias Clasen  <maclas@gmx.de>
4460
4461         * gtk/gtkwidget.c (gtk_widget_set_name): Add note about periods in 
4462         names.  (#57680)
4463
4464 2003-02-09  Christian Rose  <menthos@menthos.com>
4465
4466         * configure.in: Removed "en@IPA.po" from ALL_LINGUAS.
4467
4468 Fri Feb  7 04:49:46 2003  Tim Janik  <timj@gtk.org>
4469
4470         * gtk/gtkobject.c: remove quark_user_data usage in
4471         gtk_object_{g|s}et_user_data(). fixes get_user_data()
4472         returning NULL for user_data set through property interface.
4473
4474         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): don't put out
4475         warnings if a pixbuf couldn't be retrieved, since (a) this doesn't
4476         need to be a programming error (in case of loaded data), (b) it breaks
4477         with 2.0 behaviour where extra magic could be used to create empty
4478         images. don't attempt to retrieve pixbufs from NULL extra_data.
4479
4480 2003-02-06  Matthias Clasen  <maclas@gmx.de>
4481
4482         * gdk/x11/gdkvisual-x11.c (gdk_visual_get_best_with_depth): Return
4483         a GdkVisual *, not a GdkVisual **.  (#105243)
4484
4485         * gtk/gtkclist.c: 
4486         * gtk/gtkctree.c: 
4487         * gtk/gtkcontainer.c: 
4488         * gtk/gtkdnd.c: 
4489         * gtk/gtkentry.c: 
4490         * gtk/gtklist.c:
4491         * gtk/gtkmenu.c:
4492         * gtk/gtkmenuitem.c:
4493         * gtk/gtknotebook.c:
4494         * gtk/gtkselection.c:
4495         * gtk/gtkspinbutton.c:
4496         * gtk/gtktext.c:
4497         * gtk/gtktextview.c:
4498         * gtk/gtktooltips.c:
4499         * gtk/gtktreeview.c:
4500         * gtk/gtkwindow.c: Replace uses of gtk_timeout_* and gtk_idle_* by
4501         their non-deprecated GLib counterparts.
4502         
4503         * gtk/gtkmain.h: Fully deprecate gtk_timeout_* and gtk_idle_*.
4504         
4505 Sun Feb  2 16:45:57 GMT 2003  Tony Gale <gale@gtk.org>
4506
4507         * docs/tutorial/gtk-tut.sgml: cleanups from
4508         Sebastian Rittau (#104832)
4509
4510 2003-02-01  Tor Lillqvist  <tml@iki.fi>
4511
4512         Merge from stable:
4513
4514         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_foreign_new_for_display,
4515         gdk_pixmap_lookup, gdk_pixmap_lookup_for_display): Implement.
4516         (#104108, Naofumi Yasufuku)
4517
4518         * gdk/gdk.def: Export the above. Export
4519         gdk_screen_get_system_visual, noticed by Ed Woods.
4520
4521 Fri Jan 31 17:45:22 2003  Manish Singh  <yosh@gimp.org>
4522
4523         * demos/pixbuf-demo.c
4524         * demos/testpixbuf.c
4525         * demos/gtk-demo/pixbufs.c: remove deprecated gtk_timeout_* usage.
4526
4527 Fri Jan 31 17:33:00 2003  Manish Singh  <yosh@gimp.org>
4528                                                                                 
4529         * gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set_state
4530         on the tab_label before unparenting it, in case the unparent
4531         drops the refcount to 0.
4532
4533 2003-02-01  Matthias Clasen  <maclas@gmx.de>
4534
4535         * gtk/gtkiconfactory.h: Use GDK_MULTIHEAD_SAFE like all other gtk
4536         headers. Sorry about gtk_selection_clear, Yosh.
4537
4538 Thu Jan 30 17:16:05 2003  Manish Singh  <yosh@gimp.org>
4539
4540         * gtk/gtkselection.h: declare gtk_selection_clear in GTK_COMPILATION
4541         too, for gtkwidget.c. Remember people, when introducing new
4542         deprecations, make sure internal code isn't using it, or if so,
4543         reorganize appropriately like I've done in other places.
4544
4545         * tests/testtext.c: don't use deprecated gtk_timeout_* stuff.
4546
4547 2003-01-31  Matthias Clasen  <maclas@gmx.de>
4548
4549         * gtk/gtkselection.h: 
4550         * gtk/gtkselection.c (gtk_selection_clear): Deprecate.  (#85683)
4551
4552         * gdk/gdkpixbuf.h: 
4553         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): 
4554         (gdk_pixbuf_render_to_drawable_alpha): Deprecate.  (#60582)
4555
4556         * gtk/gtkcolorsel.h:
4557         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
4558         Deprecate.  (#98167)
4559
4560         * gtk/gtkpaned.h: Deprecate gtk_paned_computed_position(). (#97077)
4561
4562         * gtk/gtkmain.h: Deprecate the gtk_timeout_*, gtk_idle_*
4563         and gtk_input_* functions.  (#71596)
4564         
4565         * gtk/gtkentry.c (gtk_entry_move_cursor): 
4566         * gtk/gtklabel.c (gtk_label_move_cursor): Handle
4567         GTK_MOVEMENT_HORIZONTAL_PAGES in switches.
4568
4569         * gdk/gdk.h: Deprecate gdk_wcstombs() and gdk_mbstowcs().  (#79803)
4570
4571         * gtk/gtkitemfactory.h: 
4572         * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Deprecate. 
4573         (#69244)
4574
4575 Thu Jan 30 23:48:30 2003  Kristian Rietveld  <kris@gtk.org>
4576
4577         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell):
4578         only count the special cell if it is also visible,
4579         (_gtk_tree_view_column_get_neighbor_sizes): only take the width into
4580         account from visible cells,
4581         (gtk_tree_view_column_cell_get_position): likewise, (Reported and
4582         testcase provided by Vasco Alexandre da Silva Costa, via IRC,
4583         tracking bug was #104563).
4584         
4585 Thu Jan 30 23:46:15 2003  Kristian Rietveld  <kris@gtk.org>
4586
4587         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
4588         subtract expander space and focus line space from the extra space
4589         we are about the allocate. (Fixes #104635).
4590
4591 Thu Jan 30 23:42:03 2003  Kristian Rietveld  <kris@gtk.org>
4592
4593         * gtk/gtkstyle.c (apply_affine_on_point): fix rouding error
4594         (Fixes #96242, patch from Soeren Sandmann).
4595
4596 Thu Jan 30 16:54:29 2003  Owen Taylor  <otaylor@redhat.com>
4597
4598         * gtk/gtknotebook.c: Patch from Soeren Sandmann
4599         to update the states of the tab label child
4600         widgets to match the state of the tabs. 
4601         (#93389, Reported by Tommi Komulainen)
4602
4603 Thu Jan 30 16:30:54 2003  Owen Taylor  <otaylor@redhat.com>
4604
4605         * Makefile.am (EXTRA_DIST): Remove gtk+.spec.in from
4606         EXTRA_DIST, and from dist rules. (#102231)
4607
4608 2003-01-30  Daniel Elstner  <daniel.elstner@gmx.net>
4609
4610         * gtk/gtktoolbar.c (set_child_packing_and_visibility): New helper
4611         function that sets the icon's and label's packing options and
4612         visibility based on toolbar->style.
4613
4614         (gtk_toolbar_internal_insert_element):
4615         (gtk_real_toolbar_style_changed): Make use of
4616         set_child_packing_and_visibility() to clean up the code and get
4617         the packing right for icon-only/text-only toolbars. (#104679)
4618
4619         (get_first_child): Remove, and use gtk_bin_get_child() instead.
4620
4621 2003-01-30  Matthias Clasen  <maclas@gmx.de>
4622
4623         * gtk/gtktextview.c: Replace PAGE_HORIZONTALLY_HACK_VALUE by
4624         GTK_MOVEMENT_HORIZONTAL_PAGES.  (#68947)
4625
4626         * gtk/gtkenums.h: Add GTK_MOVEMENT_HORIZONTAL_PAGES to GtkMovementStep.
4627         
4628 Thu Jan 30 16:01:29 2003  Owen Taylor  <otaylor@redhat.com>
4629
4630         * gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the 
4631         attempt-to-allocate then free code. To handle multiple
4632         people allocating colors at the same time, we need
4633         to just go ahead and try. (#102213, Shivram U)
4634         
4635 2003-01-30  Daniel Elstner  <daniel.elstner@gmx.net>
4636
4637         * gtk/gtkcolorsel.c (palette_paint): Explicitely draw an opaque
4638         rectangle using the background color rather than relying on
4639         gdk_window_clear_area(), so that the palette works properly with
4640         pixmap themes. (#101732)
4641
4642         * demos/gtk-demo/colorsel.c: Install an "expose_event" handler
4643         to fill the drawing area in the background color.
4644
4645 Wed Jan 29 14:11:21 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
4646
4647         * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory
4648         initialization error for selecting input style (#103549).
4649
4650 Wed Jan 29 17:02:41 2003  Owen Taylor  <otaylor@redhat.com>
4651
4652         * gdk/gdkkeyuni.c (get_decimal_char): Make the 
4653         translation of GDK_KP_Decimal dependent on LC_NUMERIC.
4654         (#101225)
4655
4656 Wed Jan 29 15:43:56 2003  Owen Taylor  <otaylor@redhat.com>
4657
4658         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
4659         Make up from the menu bar go to the end of the submenu.
4660         (#96114, Ian Peters.)
4661
4662         * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): 
4663         Only do the select-but-not-activate stuff if the
4664         menu is already active. Otherwise, just activate.
4665         (#101690, Arvind Samptur)
4666
4667 Tue Jan 28 15:18:24 2003  Owen Taylor  <otaylor@redhat.com>
4668
4669         * autogen.sh (have_automake): Fix version in complaint
4670         message about automake. (#104366, Rich Burridge)
4671
4672 Mon Jan 27 16:38:13 2003  Owen Taylor  <otaylor@redhat.com>
4673
4674         * configure.in: Remove SOEXT stuff; it doesn't work portably.
4675
4676 Mon Jan 27 22:45:15 2003  Kristian Rietveld  <kris@gtk.org>
4677
4678         * gtk/gtktreestore.c (gtk_tree_store_move): don't handle b if
4679         we appended/prepended, send the rows_reordered signal to the 
4680         correct level ... (Reported by Matthew Tuck).
4681
4682 Mon Jan 27 22:43:11 2003  Kristian Rietveld  <kris@gtk.org>
4683
4684         * gtk/gtktreestore.c (gtk_tree_store_sort_helper): don't just bail
4685         out if the level only has one item, recurse over the child if there
4686         is one. (Fixes #100458, reported by Gaël Le Mignot).
4687
4688 Mon Jan 27 22:41:26 2003  Kristian Rietveld  <kris@gtk.org>
4689
4690         * gtk/gtktreeview.c (gtk_tree_view_set_model),
4691         (gtk_tree_view_search_equal_func): make TreeView search handle
4692         all types which are transformable by GValue. (Fixes #99803, reported
4693         by Muktha Narayan).
4694
4695 Mon Jan 27 22:39:25 2003  Kristian Rietveld  <kris@gtk.org>
4696
4697         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_sort_column_id):
4698         *really* handle unsetting the ID. Slightly modified patch from
4699         Soeren Sandmann. Fixes #87556, reported by Jarek Dukat.
4700
4701 Mon Jan 27 22:33:43 2003  Kristian Rietveld  <kris@gtk.org>
4702
4703         Fixes the total GtkTreeSortable mess, and #83195, reported by
4704         Jarek Dukat
4705
4706         * gtk/gtktreestore.c (gtk_tree_store_get_sort_column_id),
4707         (gtk_tree_store_set_sort_column_id), (gtk_tree_store_set_sort_func),
4708         (gtk_tree_store_set_default_sort_func): use the constant
4709         GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID instead of -1, make functions
4710         work as advertised by the documentation.
4711
4712         * gtk/gtklistore.c (gtk_list_store_get_sort_column_id),
4713         (gtk_list_store_set_sort_column_id), (gtk_list_store_set_sort_func),
4714         (gtk_list_store_set_default_sort_func): likewise.
4715
4716         * gtk/gtktreemodelsort.c (gtk_tree_model_set_sort_column_id),
4717         (gtk_tree_model_set_sort_func),
4718         (gtk_tree_model_sort_set_default_sort_func): make functions work
4719         as advertised by the documentation.
4720
4721 Mon Jan 27 22:31:56 2003  Kristian Rietveld  <kris@gtk.org>
4722
4723         * gtk/gtktreeview.c (gtk_tree_view_button_press): update focus_column
4724         before we decide if we edit. (fixes #100973, reported by Dave Cook).
4725
4726 Mon Jan 27 22:29:30 2003  Kristian Rietveld  <kris@gtk.org>
4727
4728         Bug report and test case from Paolo Maggi via IRC.
4729
4730         * gtk/gtkliststore.c (gtk_list_store_swap): update tail if needed,
4731         (gtk_list_store_move): update tail if needed.
4732
4733 Mon Jan 27 16:19:59 2003  Owen Taylor  <otaylor@redhat.com>
4734
4735         * gtk/gtksocket.c (gtk_socket_filter_func): event->any.window
4736         might be NULL. Use gtk_widget_get_display (widget) 
4737         (#102860, Thomas Leonard)
4738
4739 Mon Jan 27 15:58:31 2003  Owen Taylor  <otaylor@redhat.com>
4740
4741         * configure.in: Fix --without-modules/--disable-modules
4742         confusion that was causing --disable-modules not to work.
4743         (#102865, Akira Tagoh)
4744
4745         * configure.in: Fix problem with plain --with-xinput
4746         (#104266, Akira Tagoh)
4747
4748 2003-01-24  Sebastian Rittau  <srittau@jroger.in-berlin.de>
4749
4750         * docs/tutorial/gtk-tut.sgml: Fix a few typos, introduced by my last
4751         patch.
4752
4753 Fri Jan 24 17:06:41 GMT 2003  Tony Gale <gale@gtk.org>
4754
4755         * docs/tutorial/gtk-tut.sgml: Remove duplicate copy of tictactoe.h
4756
4757 Thu Jan 23 21:15:29 GMT 2003  Tony Gale <gale@gtk.org>
4758
4759         * docs/faq/gtk-faq.sgml: Learn to spell Library
4760
4761 Thu Jan 23 20:56:56 GMT 2003  Tony Gale <gale@gtk.org>
4762         * Sebastian Rittau  <srittau@jroger.in-berlin.de>:
4763
4764            docs/tutorial/gtk-tut.sgml: Adopted chapter 21.3 "Creating a
4765            Composite widget" to modern standards. (I.e. use gobject instead of
4766            glib, derive from GtkTable instead of GtkVBox.) Bugzilla #103869.
4767
4768         * docs/tutorial/gtk-tut.sgml, examples/tictactoe: Fixup tic-tac-toe
4769         code in Appendix C to reflect above changes.
4770
4771         * examples/rangewidgets/rangewidgets.c: From Roger Leigh
4772         auto resize on page size change
4773
4774 2003-01-23  Daniel Elstner  <daniel.elstner@gmx.net>
4775
4776         * gtk/gtktoolbar.c (gtk_toolbar_hide_all): Override hide_all
4777         in addition to show_all in order to keep them symmetric. (#102201)
4778
4779 Wed Jan 22 14:18:46 2003  Manish Singh  <yosh@gimp.org>
4780
4781         * gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at
4782         the end of the function, so there is a statement following the "out"
4783         label in all cases (fixes #101961)
4784
4785 2003-01-22  Christian Rose  <menthos@menthos.com>
4786
4787         * configure.in: Added "mn" to ALL_LINGUAS.
4788
4789 Wed Jan 15 17:02:18 2003  Owen Taylor  <otaylor@redhat.com>
4790  
4791         * gtk/gtktextlayout.c (gtk_text_layout_validate_yrange):
4792         Fix off-by-one error on the backward iteration loop,
4793         that was causing the wrong range to be redrawn.
4794         (at least part of #72734)
4795         
4796 2003-01-21  Matthias Clasen  <maclas@gmx.de>
4797
4798         * gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the
4799         vadjustment value after changing its bounds.  (fixes #101963 and 
4800         #73562)
4801
4802         * gtk/gtkcolorsel.c (hex_changed): Fix clamping to [0,1] to avoid 
4803         unnecessary roundtrip failures.  (#93500)
4804
4805 2003-01-19  Tor Lillqvist  <tml@iki.fi>
4806
4807         Merge from stable:
4808         
4809         Fix for #103614 and some other problems with GtkFileSelection on
4810         Windows:
4811                 
4812         * gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not
4813         g_ascii_tolower(). Windows file names are case-insensitive for all
4814         Unicode letters.
4815
4816         * gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or
4817         G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h
4818         earlier, as it includes config.h unconditionally, and gtkprivate.h
4819         redefines GTK_LOCALEDIR.
4820         (struct _CompletionDirSent): Ifdef out the fields not used on
4821         Windows.
4822         (compare_utf8_filenames, compare_sys_filenames): Need different
4823         comparison implementation for UTF-8 file names and system locale
4824         file names on Win32. Cannot simply use g_ascii_strcasecmp(), but
4825         need to casefold all Unicode letters.
4826         (cmpl_completion_matches, open_dir, correct_parent): Ifdef out
4827         variables not used on Win32 to avoid warnings about unused
4828         variables.
4829         (open_ref_dir): Use g_path_skip_root() to skip past potential
4830         drive letter in front of the leading (back)slash.
4831         (open_new_dir): Ifdef out use of CompletionDirSent fields not
4832         there on Win32.
4833         (correct_parent): Bypass inode check also on Cygwin.
4834
4835         Fix bug noticed by Alex Shaduri: Tooltips and other
4836         GDK_WINDOW_TEMP windows were activated. This looked very odd, and
4837         was a regression from earlier versions.
4838         
4839         * gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune
4840         behaviour. Don't ever activate GDK_WINDOW_TEMP windows.
4841         (gdk_window_move, gdk_window_resize): Add debug logging.
4842
4843         * gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a
4844         WM_SIZE message for a non-visible (withdrawn) window, don't clear
4845         the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn
4846         even if its size changes.
4847
4848 2003-01-16  Matthias Clasen  <maclas@gmx.de>
4849
4850         * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations): Typo fixes.
4851         (totally_invisible_line): Fix an incorrect optimization which
4852         caused invisible paragraphs to be occasionally misrendered.
4853
4854 Wed Jan 15 15:55:47 2003  Owen Taylor  <otaylor@redhat.com>
4855
4856         * gtk/gtksettings.c: Set the double click speed from
4857         XSETTINGS when creating a new GtkSettings object
4858         as well as when getting a notify. (#103601, reported
4859         by Louis Garcia)
4860
4861 Wed Jan 15 14:56:09 2003  Owen Taylor  <otaylor@redhat.com>
4862  
4863         * gtk/gtknotebook.c (gtk_notebook_size_allocate): 
4864         Show/hide the notebook event window as necessary,
4865         we weren't previously keeping the visibility updated
4866         properly.  (#103599)
4867  
4868 2003-01-15  Matthias Clasen  <maclas@gmx.de>
4869
4870         * examples/menu/itemfactory.c: 
4871         * docs/tutorial/gtk-tut.sgml: Add a <StockItem> to the itemfactory
4872         example.  (#103211)
4873
4874 2002-12-29  Murray Cumming  <murrayc@usa.net>
4875
4876         Fixes #102168.
4877
4878         * gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c:
4879         Actually implement the GtkTreeDragSource::row_draggable virtual 
4880         function in GtkListStore and GtkTreeStore instead of just checking 
4881         whether it's implemented at all. This means that DnD isn't broken by
4882         gtkmm's virtual function wrappers. The alternative would be to
4883         hard-code the TRUE return value into gtkmm's wrappers, but that's 
4884         part of GTK+'s implementation, not it's API.
4885
4886 Tue Jan 14 23:42:29 2003  Kristian Rietveld  <kris@gtk.org>
4887
4888         * gtk/gtktreeview.c: fix compiler warning.
4889
4890 Tue Jan 14 23:29:00 2003  Kristian Rietveld  <kris@gtk.org>
4891
4892         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
4893         make sure exposed pixbufs are clipped to the exposed area before
4894         drawing, which is a slight speedup. (#102379, patch from Soeren
4895         Sandmann).
4896
4897 Tue Jan 14 23:26:41 2003  Kristian Rietveld  <kris@gtk.org>
4898
4899         * gtk/gtktreeview.c (validate_visible_area): silly typo fix,
4900         only free scroll_to_path when the complete tree has been validated.
4901         This makes sure that we scrolled to the correct path.
4902
4903 Tue Jan 14 23:25:32 2003  Kristian Rietveld  <kris@gtk.org>
4904
4905         * gtk/gtktreeview.c (gtk_tree_view_style_set): update the
4906         background of widget->window and bin->window. (Fixes #96650, reported
4907         by Dave Camp).
4908
4909 Tue Jan 14 23:24:02 2003  Kristian Rietveld  <kris@gtk.org>
4910
4911         * gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): process
4912         updates before scrolling, avoiding a "selection streak". (Fixes
4913         #101235, patch from Soeren Sandmann).
4914
4915 Tue Jan 14 23:22:13 2003  Kristian Rietveld  <kris@gtk.org>
4916
4917         * gtk/gtktreeview.c (validate_visible_area): actually put values
4918         in the requisition using gtk_widget_size_request. (Fixes #100172,
4919         reported by Kjartan Maraas).
4920
4921 Tue Jan 14 23:19:45 2003  Kristian Rietveld  <kris@gtk.org>
4922
4923         * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): cancel the
4924         arrow animation timeout before we actually reorder the rbtree. If
4925         we don't do this we can get stuck arrows,
4926         (cancel_arrow_animation): new function. (Fixes #93629, part 2,
4927         reported and testcase provided by Hans Petter Jansson).
4928
4929 Tue Jan 14 23:18:21 2003  Kristian Rietveld  <kris@gtk.org>
4930
4931         * gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range):
4932         anchor_path should be start_path, not end_path. (Fixes #102618,
4933         patch from Carlos Garnacho Parro).
4934
4935 Tue Jan 14 23:16:15 2003  Kristian Rietveld  <kris@gtk.org>
4936
4937         * gtk/gtkliststore.c (gtk_list_store_move): also update the tail,
4938         only correct new_pos if we don't move to the head/tail.
4939
4940 Tue Jan 14 23:11:55 2003  Kristian Rietveld  <kris@gtk.org>
4941
4942         * gtk/gtktreestore.c (gtk_tree_store_swap): take the path from
4943         the parent_iter if depth >= 1, so we send the reordered signal to
4944         the correct level, remove debugging printfs which I forgot the remove
4945         earlier (2.2.0 shipped with this, oops). (Fixes #103198, Reported and
4946         testcase provided by Matthew Tuck).
4947
4948 Tue Jan 14 20:58:44 2003  Kristian Rietveld  <kris@gtk.org>
4949
4950         * gtk/gtktreeview.c (invalite_last_column): split out actual column
4951         invalidation into invalidate_column(),
4952         (gtk_tree_view_size_allocate_columns): invalidate column if the
4953         new width is larger than the old width.
4954         (fixes #102890, reported by Alex Duggan).
4955
4956 2003-01-14  Matthias Clasen  <maclas@gmx.de>
4957
4958         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip
4959         invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and
4960         GTK_MOVEMENT_WORDS.
4961
4962         * gtk/gtktextiter.c,
4963         gtk/gtktextiter.h: Add some variant movement functions which
4964         skip invisible chars, and do some cleanups.
4965
4966 2003-01-12  Tor Lillqvist  <tml@iki.fi>
4967
4968         Merge from stable:
4969                 
4970         * gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier,
4971         as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time
4972         lookup.
4973
4974         * gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on
4975         gdk.def.
4976
4977         * gdk/gdk.def
4978         * gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO.
4979
4980         * gtk-zip.sh.in (DEVZIP): Add bin/{gtk-query-immodules-2.0,
4981         gtk-demo}.exe and share/gtk-2.0.
4982
4983         * gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
4984         Implement by setting or clearing the WS_EX_TOOLWINDOW extended
4985         window style.
4986         (gdk_window_set_type_hint): Add all cases to the switch (not all
4987         do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by
4988         calling gdk_window_set_skip_taskbar_hint(). This means that GTK
4989         won't know that the skip_taskbar hint is on for the window, is
4990         this bad?
4991
4992 Wed Jan  8 18:43:03 2003  Manish Singh  <yosh@gimp.org>
4993
4994         * gdk/x11/gdkdisplay-x11.c: #include <stdlib.h> for putenv,
4995         <string.h> for strlen.
4996
4997         * gdk/x11/gdkscreen-x11.c: #include <stdlib.h> for getenv,
4998         <string.h> for strrchr.
4999
5000         * tests/testgtk.c (create_saved_position): "x" and "y" properties
5001         for widgets no longer exist, use gtk_window_move instead.
5002
5003         * test/testtextbuffer.c (check_get_set_text): cast strlen to
5004         int for g_error.
5005
5006 2003-01-08  Matthias Clasen  <maclas@gmx.de>
5007
5008         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix display of
5009         the selection in the presence of invisible segments.
5010
5011 2003-01-07  Matthias Clasen  <maclas@gmx.de>
5012
5013         * gtk/gtktextview.c (gtk_text_view_class_init): Bind C-/ and C-\
5014         to "select all" and "unselect all".  (#102065)
5015
5016         * gtk/gtktextview.h (struct _GtkTextView): Add a comment that
5017         the just_selected_element is unused.
5018
5019         * gtk/gtktextview.c (extend_selection): New helper function to
5020         find the range that should be added to the selection. 
5021         (selection_motion_event_handler): 
5022         (gtk_text_view_start_selection_drag): 
5023         (gtk_text_view_end_selection_drag): 
5024         (selection_motion_event_handler): 
5025         (selection_scan_timeout): Support select-by-words/lines.
5026         (gtk_text_view_button_press_event): Start a selection drag on
5027         double/triple clicks.  (#78499)
5028
5029 2003-01-06  Matthias Clasen  <maclas@gmx.de>
5030
5031         Implement a utility function proposed in #102534:
5032         
5033         * gtk/gtktextbtree.h: 
5034         * gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
5035         (_gtk_text_btree_place_cursor): Now a simple wrapper around
5036         _gtk_text_btree_select_range().   
5037
5038         * gtk/gtktextbuffer.h: 
5039         * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
5040         (gtk_text_buffer_place_cursor): Now a simple wrapper around
5041         gtk_text_buffer_select_range(). 
5042
5043 2003-01-05  Havoc Pennington  <hp@pobox.com>
5044
5045         * configure.in: fix a stray bracket that was breaking the build
5046
5047 2003-01-05  Tor Lillqvist  <tml@iki.fi>
5048
5049         * gtk-zip.sh.in: Use correct DLL and import library names, with
5050         GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION.
5051         (DEVZIP): Add gdk-pixbuf-query-loaders.exe.
5052
5053         * configure.in: Improve check for dimm.h.
5054
5055         * configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in
5056         gdk-pixbuf/Makefile.am.
5057
5058         * gdk-pixbuf/makefile.mingw.in
5059         * gdk-pixbuf/pixops/makefile.mingw.in
5060         * gdk/makefile.mingw.in
5061         * gdk/win32/makefile.mingw.in
5062         * gtk/makefile.mingw.in: Remove. Not maintained anyway.
5063
5064         * gdk-pixbuf/Makefile.am
5065         * gdk-pixbuf/pixops/Makefile.am
5066         * gdk/Makefile.am
5067         * gdk/win32/Makefile.am
5068         * gtk/Makefile.am
5069         * configure.in: Remove makefile.mingw{,.in} from here, too.
5070         
5071         * README.win32: Updates. Don't mention the now removed
5072         makefile.mingw files.
5073
5074         * gdk/gdk.def
5075         * gtk/gtk.def: Add a couple of missing entries.
5076
5077         * gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().
5078
5079         * gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround
5080         earlier.
5081
5082         * gdk/win32/rc/Makefile.am: Add hack to help
5083         build/win32/lt-compile-resource decide which kind of libtool
5084         object file to produce.
5085
5086 2003-01-05  Matthias Clasen  <maclas@gmx.de>
5087
5088         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make
5089         C-Down step through the sequence of paragraph ends (old behaviour
5090         included paragraph starts).  (#80340, patch by Narayana Pattipati)
5091
5092         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle):
5093         Check for a tag toggle at the start iterator before calling
5094         gtk_text_iter_forward_to_tag_toggle().  (#102090, patch by Daniel 
5095         Elstner)
5096
5097 2003-01-04  Matthias Clasen  <maclas@gmx.de>
5098
5099         * gtk/gtkfilesel.h (struct _GtkFileSelection): Add /*< public >*/
5100         and /*< private >*/ as appropriate.  (#97211)
5101
5102 2003-01-04  Tor Lillqvist  <tml@iki.fi>
5103
5104         * Makefile.am (EXTRA_DIST): Don't distribute gtk-zip.sh, but do
5105         distribute gtk-zip.sh.in.
5106
5107         * gtk-zip.sh.in (DEVZIP): Add gdk-pixbuf-csource.exe and .1.
5108
5109 2003-01-03  Havoc Pennington  <hp@pobox.com>
5110
5111         * docs/Makefile.am (EXTRA_DIST): put it in EXTRA_DIST
5112
5113         * docs/text_widget_internals.txt: add a file documenting some of
5114         the text widget internals
5115
5116 2003-01-02  Matthias Clasen  <maclas@gmx.de>
5117
5118         * gtk/gtkwindow.c (gtk_window_get_focus): Document that it may
5119         return NULL.  (#102069)
5120
5121 2003-01-01  Matthias Clasen  <maclas@gmx.de>
5122
5123         * gtk/fnmatch.c (FNMATCH_TEST_CASES): #undef, since having
5124         a main() in the library is obviously bad. 
5125
5126 2002-12-27  Matthias Clasen  <maclas@gmx.de>
5127
5128         * gtk/gtktextview.c (gtk_text_view_drag_data_received): Place the
5129         cursor at drop point.  (#72384)
5130         (gtk_text_view_size_allocate): Update the horizontal adjustment
5131         value.  (#75694)
5132
5133 2002-12-25  Matthias Clasen  <maclas@gmx.de>
5134
5135         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix highlighting of
5136         selection wrt. to empty lines.  (#90435, #90582, #91619)
5137
5138         * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler):
5139         Keep the cursor on screen.  (#96929)
5140
5141 2002-12-24  Matthias Clasen  <maclas@gmx.de>
5142
5143         * gtk/gtktextbuffer.c (paste_from_buffer): 
5144         (clipboard_text_received): Let the user action span the insertion
5145         and the deletion of the old selection.  (#82844)
5146
5147 2002-12-23  Matthias Clasen  <maclas@gmx.de>
5148
5149         * gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
5150         Don't call gtk_text_iter_backward_sentence_start() if
5151         count is zero.  (#99115)
5152
5153         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
5154         move_cursor() even if the cursor hasn't moved, since it has the
5155         side effect of canceling the selection.  (#81395, #98537, #98333)
5156
5157 2002-12-22  Matthias Clasen  <maclas@gmx.de>
5158
5159         * gtk/gtktextlayout.c (add_preedit_attrs): Don't add attributes
5160         with empty ranges.  (fixes #101564 and #80637)
5161
5162 2002-12-21  Tor Lillqvist  <tml@iki.fi>
5163
5164         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that
5165         sets the window style and extended window style, and adjusts the
5166         width and height to take the window decorations into account
5167         earlier. The adjusted width and height used to be ignored. Remove
5168         the local x, y, width and height variables, no need to further
5169         confuse the code by having local copies. (Partial fix, I hope, for
5170         #101588)
5171
5172         (gdk_window_move): When moving top-level windows, take title bar
5173         and border width into account, offsetting the coordinates before
5174         calling SetWindowPos().
5175
5176         (gdk_window_set_decorations, gdk_window_set_functions):
5177         Reimplement, taking into account the peculiar semantics of
5178         GDK_DECOR_ALL and GDK_FUNC_ALL. (#79036)
5179
5180         (gdk_window_get_decorations): Implement. (#98981)
5181         
5182         (gdk_window_set_type_hint): When setting
5183         GDK_WINDOW_TYPE_HINT_MENU, call gdk_window_set_decorations().
5184         (#79036)
5185
5186         * gdk/gdk.def: Add gdk_window_get_decorations. (#98981)
5187
5188 2002-12-21  Matthias Clasen  <maclas@gmx.de>
5189
5190         * gtk/gtktextview.c (gtk_text_view_set_background): New static
5191         function to set the background of all windows.
5192         (gtk_text_view_style_set): Use gtk_text_view_set_background().
5193         (gtk_text_view_state_changed): New function; change background
5194         according to state.  (#88126)
5195
5196 2002-12-21  Havoc Pennington  <hp@pobox.com>
5197
5198         * gtk/gtktextview.c (gtk_text_view_move_visually): fix the documentation
5199