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