]> Pileus Git - ~andy/gtk/blob - ChangeLog
Avoid connecting to notify on our own properties.
[~andy/gtk] / ChangeLog
1 2006-01-03  Matthias Clasen  <mclasen@redhat.com>
2
3         * gtk/gtkaction.c: Avoid connecting to notify on our own
4         properties. 
5
6 2006-01-02  Matthias Clasen  <mclasen@redhat.com>
7
8         * gtk/gtkentry.c (gtk_entry_delete_from_cursor): When deleting
9         words, delete preceding whitespace as well.  (#325358,  Akkana Peck)
10
11 2006-01-02  Anders Carlsson  <andersca@imendio.com>
12
13         * gdk/quartz/GdkQuartzWindow.c:
14         (-[GdkQuartzWindow canBecomeMainWindow]):
15         (-[GdkQuartzWindow canBecomeKeyWindow]):
16         Have these return TRUE
17         
18         * gdk/quartz/gdkevents-quartz.c:
19         (pointer_grab_internal):
20         Remove FIXME
21         
22         (find_child_window_by_point_helper):
23         Fix bug in offset calculation
24         
25         (find_window_for_event):
26         Use grab window toplevel when a grab is in effect
27         
28         (gdk_event_translate):
29         Don't call _gdk_event_button_generate on mouse up
30         
31         * gdk/quartz/gdkgc-quartz.c:
32         (_gdk_quartz_gc_new):
33         Fix indentation
34         
35         * gdk/quartz/gdkwindow-quartz.c:
36         (gdk_window_new):
37         Make TEMP windows borderless
38         
39         (gdk_window_hide):
40         Hide window
41         
42         (gdk_window_get_origin):
43         Implement
44         
45 2006-01-02  Tor Lillqvist  <tml@novell.com>
46
47         * gdk/win32/gdkwindow-win32.c
48         (gdk_window_impl_win32_get_visible_region): Make identical to the
49         X11 implementation. (#322264, John Ehresman)
50
51         * gdk/win32/gdkgeometry-win32.c (gdk_window_scroll): Get the
52         invalidated region from ScrollWindowEx() instead of an incorrect
53         attempt to calculate it ourselves. Fix by John Ehresman. (#323666)
54
55         * gdkevents-win32.c: Make _gdk_win32_hrgn_to_region() non-static.
56
57         * gdkprivate-win32.h: Declare it.
58
59 2005-12-31  Matthias Clasen  <mclasen@redhat.com>
60
61         * gtk/gtkaction.c: 
62         * gtk/gtkentry.c: Connect to notify instead of multiple
63         detailed signals.
64
65 2005-12-30  Matthias Clasen  <mclasen@redhat.com>
66
67         * gdk/gdk.symbols: 
68         * gdk/gdkcairo.h: 
69         * gdk/gdkcairo.c: Add gdk_cairo_set_source_pixmap.  (#318805,
70         Alexander Larsson)
71
72         * gdk/gdkdisplaymanager.c (gdk_display_manager_set_property): Call
73         gdk_display_manager_set_default_display() to change the default
74         display.  (#153623, Stefan Kost)
75
76         * gtk/gtkmessagedialog.c (gtk_message_dialog_init):
77          (setup_type): Alert dialogs should not have titles and should 
78         not be displayed in the taskbar.  (#310443, Carlos Garnacho Parro,
79         Dennis Cranston)
80
81 2005-12-29  Matthias Clasen  <mclasen@redhat.com>
82
83         * gtk/gtkliststore.c: 
84         * gtk/gtktreestore.c: Always call the get_path and get_iter
85         implementations directly, rather than the current mixture whith
86         some calls going through the GtkTreeModel interface.
87
88         * gtk/gtktreemodelsort.c: 
89         * gtk/gtkliststore.c: 
90         * gtk/gtktreestore.c: Remove excessive g_return_if_fail() checks
91         in static functions.
92         
93         * gtk/gtktreedatalist.c: Use the slice allocater for 
94         GtkTreeDataSortHeader.
95
96         * gtk/gtktreedatalist.h: 
97         * gtk/gtktreedatalist.c (_gtk_tree_data_list_set_header): New function.
98
99         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): 
100         * gtk/gtkliststore.c (gtk_list_store_set_sort_func): 
101         * gtk/gtktreestore.c (gtk_tree_store_set_sort_func): Use it here.
102
103 2005-12-27  Matthias Clasen  <mclasen@redhat.com>
104
105         * gtk/gtkbindings.h (GtkBindingSignal): 
106         * gtk/gtkbindings.c (binding_signal_new): Make the
107         args a flexible array inside the struct, and allocate them
108         together.
109
110 Wed Dec 28 00:45:46 2005  Tim Janik  <timj@gtk.org>
111
112         * gtk/gtkctree.c (row_delete): delete GtkCTreeRow as GtkCTreeRow, not
113         clist rows which crashes in gslice later on.
114
115 2005-12-27  Federico Mena Quintero  <federico@ximian.com>
116
117         * gtk/gtkfilefilter.c (gtk_file_filter_filter): In the case for
118         FILTER_RULE_PIXBUF_FORMATS, check that filter_info->mime_type is
119         not NULL.  Fixes bug #317687.
120
121 2005-12-27  Matthias Clasen  <mclasen@redhat.com>
122
123         * gdk/x11/gdkevents-x11.c (check_transform): Fix a typo.
124         (gdk_screen_get_setting): Avoid relocations for the settings
125         map.
126
127         * gdk/x11/gdkproperty-x11.c: Avoid relocations for the list
128         of standard atoms.
129
130         * gtk/gtkbindings.c (gtk_binding_set_new): Avoid copying
131         the set_name by interning it.
132
133 2005-12-26  Matthias Clasen  <mclasen@redhat.com>
134
135         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Precache atoms
136         before calling gdk_window_new().
137
138         * gtk/gtktextbtree.c: Use the slice allocator for some other small
139         auxiliary structures as well.
140
141         * gtk/gtkimcontext.c (gtk_im_context_filter_keypress): Clarify
142         docs.  (#324996)
143
144         * gtk/gtktextbtree.c (gtk_text_btree_get_tag_info) 
145         (gtk_text_btree_remove_tag_info): Use the slice allocator for 
146         tag info.
147
148         * README.in: Mention the stripping of (_F) suffixes.
149
150         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Strip a suffix of 
151         the form "(_<single character>)", since this is the preferred way
152         for some languages to indicate accelerators.  (#323956, Yang Hong)
153
154         * gtk/gtklabel.c (gtk_label_class_init): Add a gtk-label-select-on-focus
155         setting.
156         (gtk_label_grab_focus): And use it here to select the contents of
157         the label when appropriate.
158         (gtk_label_class_init): Use the same keybindings for select all/
159         unselect all as GtkEntry and GtkTextView.
160
161         * gtk/gtkdialog.c (gtk_dialog_map): When looking for the initial
162         focus, avoid leaving a selection in a label.
163
164 2005-12-25  Matthias Clasen  <mclasen@redhat.com>
165
166         * gtk/gtkwindow.c: Documentation fixes.  (#324815, 
167         Ross Burton)
168
169         * configure.in: Require GLib 2.9.2
170
171 2005-12-24  Matthias Clasen  <mclasen@redhat.com>
172
173         * gdk/gdkregion-generic.c: 
174         * gdk/gdkpolyreg-generic.c: 
175         * gdk/gdkregion.h: 
176         * gdk/gdkrectangle.c: Inline docs, use g_assert(), avoid 
177         extra allocation for rectangular regions.
178
179 Thu Dec 22 18:53:14 2005  Tim Janik  <timj@gtk.org>
180
181         * gtk/gtkobject.[hc]: renamed GUnowned to GInitiallyUnowned.
182
183 Thu Dec 22 17:55:11 2005  Tim Janik  <timj@gtk.org>
184
185         * gtk/gtkobject.h: parent type fixups in structure declarations.
186
187 Thu Dec 22 16:01:27 2005  Tim Janik  <timj@imendio.com>
188
189         * gtk/gtkobject.c: derive GtkObject from GUnowned,
190         so it initially has a floating reference count.
191         gtk_object_class_init(): installa floating flag handler with
192         libgobject, so for GtkObjects the flag is stored as GTK_FLOATING
193         in the ->flags member.
194
195         * tests/floatingtest.c: test floating flag uses.
196
197 2005-12-21  Matthias Clasen  <mclasen@redhat.com>
198
199         * gdk/gdkregion-generic.c: Use the slice allocator
200         for regions. Still todo: avoid extra allocations for
201         the single-rectangle case.
202
203         * gtk/gtksettings.c (gtk_settings_class_init): Update
204         class_n_properties after installing color-hash, since
205         other classes install settings, too.
206
207         * gtk/gtkctree.c: 
208         * gtk/gtkclist.c: Fix some mistakes in the conversion
209         from mem chunks to slice allocator.
210
211         * gtk/gtkiconview.c (adjust_wrap_width): Adjust the 
212         wrap-width also if an explicit item width is set.  
213         (#322475, Alex Graveley)
214         
215 2005-12-20  Matthias Clasen  <mclasen@redhat.com>
216
217         * gtk/gtkiconview.c (gtk_icon_view_button_press): Reset 
218         pressed_button to -1 after handling a double click, so that
219         motion events occurring between here and the release event
220         don't trigger DND.  (#324588, Dave Andreoli)
221
222 2005-12-19  Matthias Clasen  <mclasen@redhat.com>
223
224         * gtk/gtkcellrenderer.c: 
225         * gtk/gtkselection.c: 
226         * gtk/gtkcalendar.c: 
227         * gtk/gtkitemfactory.c: 
228         * gdk/gtkcombo.c: 
229         * gdk/gdkpixbuf-render.c: Documentation updates
230
231         * gtk/gtktreemodel.c: 
232         * gtk/gtkplug.c: 
233         * gtk/gtkwindow.c: Documentation fixes.
234
235 2005-12-19  Michael Natterer  <mitch@imendio.com>
236
237         * gtk/gtkentry.c: implement boolean property "truncate-multiline"
238         which, when enabled, truncates multi-line pastes or drops to their
239         first line. Fixes bug #322252.
240
241         * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): enable
242         truncate-multiline here.
243
244 2005-12-17  Matthias Clasen  <mclasen@redhat.com>
245
246         * gtk/gtksettings.c (get_color_hash): Don't crash if
247         there is no color scheme.  (#324429, Diego Gonzalez)
248
249 2005-12-16  Matthias Clasen  <mclasen@redhat.com>
250
251         * gtk/gtkfilesystem.c (gtk_file_system_module_load): 
252         * gtk/gtkimmodule.c (gtk_im_module_load): 
253         * gtk/gtkthemes.c (gtk_theme_engine_load): 
254         * gtk/gtkmodules.c (find_module): Use G_MODULE_BIND_LAZY when
255         opening modules.
256
257         * gtk/gtksettings.[hc]: Rework the way the color scheme setting
258         is inherited. Now the overriding is done on a per-color basis,
259         rather than for the setting as a whole. This has the effect
260         that themes can declare defaults for all the symbolic colors they
261         use by specifying a value for the gtk-color-scheme setting in 
262         their rc file, while still allowing the XSetting to override
263         "standard" symbolic colors. The hash table is now available
264         through the color-hash property.
265         
266         * gtk/gtkrc.c: Use the new color-hash property.
267         
268 2005-12-14  Matthias Clasen  <mclasen@redhat.com>
269
270         * gtk/gtkcontainer.c (_gtk_container_focus_sort): Skip unrealized
271         children when doing focus sorting.  (#323995, Dan Winship)
272
273 2005-12-14  Rodney Dawes  <dobey@novell.com>
274
275         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon):
276         Default to "drive-harddisk" and then fall back to gnome-dev-harddisk
277         (get_icon_for_mime_type): Look up the mime type icons according to the
278         Icon Naming Specification and then fall back to the gnome-mime- prefix
279         for the mime type icons
280
281         Fixes #323655
282         
283 2005-12-14  Matthias Clasen  <mclasen@redhat.com>
284
285         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Warn if the icon
286         cannot be loaded.  (#323504, Kjartan Maraas)
287
288         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add docs 
289         for the row-activated signal.  (#324044, Davyd Madeley)
290
291 2005-12-14  Michael Natterer  <mitch@imendio.com>
292
293         * tests/test-images/valid_jpeg_progressive_test: new test image.
294
295 Tue Dec 13 09:47:20 2005  Tim Janik  <timj@gtk.org>
296
297         * README.in: added a link to the floating reference docs in the
298         2.10 release NEWS section.
299
300 2005-12-12  Matthias Clasen  <mclasen@redhat.com>
301
302         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_index): 
303         Speed this function up, using the fact that visibility is 
304         constant across segments. (#321548, Paolo Borelli)
305
306         * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
307         * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Speed up
308         stepping backwards.  (#320638, Larry Ewing, Paolo Borelli)
309
310         * gtk/gtkicontheme.c (ensure_valid_themes): Only broadcast
311         _GTK_LOAD_ICONTHEMES if we detect a real theme change, not
312         upon initial theme load.  (#323876, Peter Lund)
313
314         * gtk/gtkstatusicon.c (gtk_status_icon_class_init): Register
315         the size-changed signal correctly.  (#323848, Murray Cumming)
316
317         * gtk/gtkmarshalers.list: Add necessary marshaller.
318
319         * gtk/gtktextview.c (gtk_text_view_get_border_window_size): Don't
320         fall thru to the wrong window types.  (#323843)
321
322         Make the gtk-color-scheme setting work.
323         
324         * gtk/gtksettings.h: 
325         * gtk/gtksettings.c (_gtk_settings_get_color_hash): Add a getter
326         that takes care of initializing the color hash if it is not 
327         already there.  
328
329         * gtk/gtkrc.c (gtk_rc_color_scheme_changed, gtk_rc_context_get): 
330         And use it here.        
331
332 2005-12-10  Matthias Clasen  <mclasen@redhat.com>
333
334         * gdk/gdk.c (gdk_parse_args): Warn if parsing fails,
335         not if it succeeds. 
336
337 2005-12-09  Matthias Clasen  <mclasen@redhat.com>
338
339         * gtk/gtkselection.c (gtk_selection_data_get_uris): Don't
340         leak list[0].  (#323629, Markku Vire)
341
342         * gtk/gtktextbuffer.c (paste_from_buffer): Unref the buffer
343         when freeing the RequestData.  (#323577)
344
345 2005-12-07  Matthias Clasen  <mclasen@redhat.com>
346
347         * demos/gtk-demo/iconview_edit.c (set_cell_color): Don't
348         leak text.
349
350         * gtk/gtktoolbutton.c (clone_image_menu_size): Fix a 
351         variable name clash.  (#323475, Ross Burton)
352
353 2005-12-07  Ross Burton  <ross@burtonini.com>
354
355         * docs/reference/gtk/tmpl/gtkenums.sgml:
356         * gtk/gtktoolbutton.c:
357         If the toolbar mode is ICONS and there is no icon set then show
358         the label, and vice versa (#322019)
359
360 2005-12-07  Matthias Clasen  <mclasen@redhat.com>
361
362         * gtk/gtktoolbutton.c (clone_image_menu_size): Fix a 
363         variable name clash.  (#323475, Ross Burton)
364
365         * gtk/gtktreeview.c (gtk_tree_view_key_press): Use the correct
366         window when synthesizing the key event.  (#323077,
367         Sadrul Habib Chowdhury)
368         
369         (gtk_tree_view_search_key_press_event): Also listen for
370         GDK_ISO_Left_Tab.  (#323077, Sadrul Habib Chowdhury)
371
372         * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler): 
373         Only scroll if we have focus.  (#316310, Paolo Borelli)
374
375         * gtk/gtkfilesystemunix.c (cb_fill_in_mime_type): Fix a C99ism,
376         spotted by Crispin Flowerday.
377
378 2005-12-06  Behdad Esfahbod  <behdad@gnome.org>
379
380         * gtk/gtksettings.c (settings_update_font_options): Turn metrics
381         hinting on (part of #307196)
382
383 2005-12-06  Matthias Clasen  <mclasen@redhat.com>
384
385         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_reset): Don't
386         commit from reset, it upstets GtkTextView.
387
388         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Be more
389         careful when turning blinking on and off.
390         (gtk_text_view_focus_out_event): Make the cursor really invisible
391         when the focus goes away.  (#323087, Sadrul Habib Chowdhury)
392         (cursor_blinks): Check the gtk-cursor-blink setting first.
393
394         * gtk/gtktreeview.c (gtk_tree_view_key_press): Fix refcounting
395         issues with new_event and its window.
396
397         * gtk/gtkmenu.c (gtk_menu_attach_to_widget): Accept NULL
398         as a detach func.  (#323386, Jorn Baayen)
399
400         * gtk/gtkcalendar.c: Avoid conflict with win32 headers in
401         the libdate routines.  (#323045, Kazuki Iwamoto)
402
403         * gdk/gdk.c (gdk_parse_args): 
404         * gtk/gtkmain.c (gtk_parse_args): Don't ignore errors
405         from g_option_context_parse(). 
406
407 Tue Dec  6 11:37:59 2005  Tim Janik  <timj@gtk.org>
408
409         * gdk/gdkevents.c (gdk_event_new): fix missing hash table 
410         initialization.
411
412 Tue Dec  6 10:32:17 2005  Tim Janik  <timj@gtk.org>
413
414         * gtk/gtkstatusbar.c: ported memchunk uses to g_slice, so the code
415         compiles again.
416
417 2005-12-05  Federico Mena Quintero  <federico@ximian.com>
418
419         * gtk/gtkfilechooserdefault.c (trap_activate_cb): "event->state &
420         modifiers", not "event->state && modifiers".  Patch by Sadrul
421         Habib Chowdhury <imadil@gmail.com>.  Fixes bug #323073.
422
423 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
424
425         * gtk/gtkwidget.c: 
426         * gtk/gtkuimanager.c: 
427         * gtk/gtktreedatalist.c: 
428         * gtk/gtktext.c: 
429         * gtk/gtkmain.c: 
430         * gtk/gtkitemfactory.c: 
431         * gtk/gtkseparator.[hc]:
432         * gtk/gtkclist.[hc]: 
433         * gtk/gtkctree.c:
434         * gtk/gtkgc.c: Use g_slice instead of mem chunks.
435
436 2005-12-05  Michael Natterer  <mitch@imendio.com>
437
438         * gdk/x11/gdkevents-x11.c: map the new GtkSettings properties
439         "timeout-initial", "timeout-repeat", "color-scheme" and
440         "enable-animations" to X settings.
441
442 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
443
444         * gdk/gdkevents.c: 
445         * gdk/gdkcolor.c: Use g_slice instead of mem chunks.
446
447         * gtk/gtktreeview.c (gtk_tree_view_key_press): Free new_event
448         after sending it to the search entry.  (#323209, Crispin Flowerday)
449
450         * README.in: Add a note about GTK_FLOATING.
451
452         * gtk/gtkobject.h (GTK_OBJECT_FLOATING): Use g_object_is_floating.
453
454 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
455
456         * gtk/gtktoolbutton.c (clone_image_menu_size): Don't leak
457         a pixbuf.  (#323024, Paolo Borelli)
458
459 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
460
461         * gtk/gtkfilesystemunix.c (get_icon_for_mime_type): Don't crash
462         if mime_type is NULL.  (#322998, Sadrul Habib Chowdhury)
463
464 2005-12-02  Michael Natterer  <mitch@imendio.com>
465
466         * gtk/gtkmenu.c: applied modified patch from maemo-gtk which
467         adds a "horizontal-padding" style property. Fixes bug #323036.
468
469 2005-12-01  Michael Natterer  <mitch@imendio.com>
470
471         Merged modified patch from maemo-gtk that allows to disable
472         toolbar animations. Addresses bug #142582.
473
474         * gtk/gtksettings.c: added boolean property "gtk-enable-animations".
475         (patch from Christian Neumair)
476
477         * gtk/gtktoolbar.c: don't animate toolbar changes if the settings
478         property is FALSE. Replaced the individual "notify::foo"
479         connections to GtkSettings by a single "notify" callback and
480         dispatch internally.
481
482 2005-12-01  Michael Natterer  <mitch@imendio.com>
483
484         * gtk/gtkmenu.c (gtk_menu_class_init): removed redundant
485         assignment of widget_class->motion_notify_event.
486
487 2005-11-29  Matthias Clasen  <mclasen@redhat.com>
488
489         * gtk/gtktoggleaction.c (gtk_toggle_action_class_init): Add 
490         an active property.  (#322673, Jorn Baayen)
491
492         Properly handle model changes in GtkTreeSelection: (#322569,
493         Milosz Derezynski)
494         
495         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): 
496         Get a reference to the model, and stop the iteration if the model
497         of the treeview is changed on the way.
498
499         * gtk/gtktreeprivate.h: 
500         * gtk/gtktreeselection.c (_gtk_tree_selection_emit_changed): New 
501         private function to emit the GtkTreeSelection::changed signal.
502
503         * gtk/gtktreeview.c (gtk_tree_view_set_model): Call 
504         _gtk_tree_selection_emit_changed() when the model changes.
505
506 2005-11-28  Federico Mena Quintero  <federico@ximian.com>
507
508         Fixes the critical warnings from bug #317999, thus fixing the bug
509         completely:
510
511         * gtk/gtkfilechooserdefault.c
512         (gtk_file_chooser_default_get_paths): In SELECT_FOLDER mode,
513         use _gtk_file_chooser_get_current_folder_path() instead of fetching the
514         impl->current_folder directly.  The latter may be null if we are
515         in RELOAD_NONE state.
516
517 2005-11-28  Federico Mena Quintero  <federico@ximian.com>
518
519         Fix bug #321560, based on a patch by Bogdan Nicula (bogdanni@hotmail.com):
520
521         * gtk/gtkfilechooserdefault.c (up_folder_handler): Don't add the
522         current_folder to the pending select paths here; the path bar will
523         give it to us now.
524         (path_bar_clicked): Add the child_path to the pending select paths
525         here.
526         (show_and_select_paths): Don't filter out folders.
527         (show_and_select_paths): Don't take separate arguments for
528         only_one_path and multiple paths.
529
530         * tests/autotestfilechooser.c (test_folder_switch_and_filters):
531         New test about preserving the filters when we change folders.
532
533 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
534
535         * gtk/gtkscale.c (_gtk_scale_format_value): Insert an LRM, to prevent
536         -20 to come out as 20- in RTL locales.  (#322571, Tze'ela Hebron)
537
538         * gtk/gtkaction.c (gtk_action_sync_button_stock_id) 
539         (connect_proxy): Buttons use the label property for stock ids.  (#322565,
540         Milosz Derezynski)
541
542         * gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
543         handle the cell list and indices into it.  (#321856)
544
545 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
546
547         * gtk/gtktooltips.c (gtk_tooltips_timeout): Set timer_tag to 0 when
548         the timeout is done.  (#322291, Jean-Yves Lefort)
549
550 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
551
552         * gtk/gtkfilechooserdefault.c (shortcuts_key_press_event_cb): Make
553         F2 work for renaming bookmarks.  (#320822, Jaap A. Haitsma, patch
554         by Paolo Borelli)
555
556 2005-11-28  Tor Lillqvist  <tml@novell.com>
557
558         * gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint):
559         Implement the conditional use of FlashWindowEx() properly for MSVC
560         compilations. The code was confusingly assuming that if compiled
561         with a "new" compiler, it will only be run on "new" Windows
562         versions. We want it to run on "old" versions, too, even if
563         compiled with a "new" compiler. There are two orthogonal issues:
564         whether the compiler defines the necessary API in its headers, and
565         whether it is present at run-time. (#318077)
566
567         * gtk/gtkcalendar.c (gtk_calendar_init): Use GetLocaleInfo() on
568         Windows to get the localized weekday and month names. strftime()
569         in the Microsoft C library returns strings in the default codepage
570         for the locale of the process, not the system codepage. Thus
571         g_locale_to_utf8() isn't useable on the return value from
572         strftime(). (#322603)
573
574 2005-11-27  Matthias Clasen  <mclasen@redhat.com>
575
576         * gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup): 
577         Fix an example.  (#322493, Elie De Brauwer)
578         
579         Fix two memory handling problems in GtkTreeView: (#322350, 
580         Søren Sandmann)
581         
582         * gtk/gtktreeview.c (gtk_tree_view_destroy) 
583         (gtk_tree_view_set_model): Remove all references to nodes in
584         the old model.
585         (gtk_tree_view_real_collapse_row): Unmark expanded_collapsed_node
586         before removing the children.
587
588         * gtk/gtkcolorbutton.c (gtk_color_button_init): Don't leak a 
589         PangoLayout here.  (#322505, Paolo Borelli)
590
591 2005-11-27  Tor Lillqvist  <tml@novell.com>
592
593         Once again rework Win32 window decoration code. Doesn't break
594         #104514. The dialogs in gtk-demo now have the same decorations and
595         behaviour as on X11. Tried to fix #322516 but it seems very hard
596         to make the trivial sample program there behave as expected. OTOH,
597         simply moving the gtk_window_decorate() call in the #322516 sample
598         program after the call to gtk_widget_show() helps...
599             
600         * gdk/win32/gdkwindow-win32.c (set_or_clear_style_bits): Revert to
601         the correct semantics. Each call to gdk_window_set_decorations()
602         which calls this function is supposed to affect all decorations.
603
604         (decorate_based_on_hints): New function, looks at both geometry
605         hints and type hint and sets window decorations based on
606         that. Consolidate code from gdk_window_set_geometry_hints() and
607         gdk_window_set_type_hint() here.
608
609         (gdk_window_set_geometry_hints, gdk_window_set_type_hint): Call
610         decorate_based_on_hints().
611
612 2005-11-25  Dom Lachowicz <cinamod@hotmail.com>
613
614         * modules/engines/ms-windows/*.[ch]: Merge with gtk-wimp's CVS.
615         Includes improved menu icon spacing, [+]/[-] expander drawing,
616         status-bar gippie drawing, and notebook tab drawing.
617         
618 2005-11-24  Michael Natterer  <mitch@imendio.com>
619
620         * gtk/gtktoolbar.h (struct _GtkToolbar): changed two private guint
621         that used to hold signal handler IDs to two guint of padding.
622
623         * gtk/gtktoolbar.c (struct _GtkToolbarPrivate): added them as
624         gulong here.
625
626         (gtk_toolbar_screen_changed): changed accordingly.
627
628 Wed Nov 23 18:55:47 2005  Tim Janik  <timj@imendio.com>
629
630         * gtk/gtkobject.[hc]: deprecated floating/sink API and implemented it
631         in terms of the GObject floating/sink API.
632
633         * gtk/gtkaboutdialog.c:
634         * gtk/gtkaction.c:
635         * gtk/gtkcellview.c:
636         * gtk/gtkclist.c:
637         * gtk/gtkcolorsel.c:
638         * gtk/gtkcombobox.c:
639         * gtk/gtkfilechooserdefault.c:
640         * gtk/gtkiconview.c:
641         * gtk/gtkinvisible.c:
642         * gtk/gtkitemfactory.c:
643         * gtk/gtklayout.c:
644         * gtk/gtkmenu.c:
645         * gtk/gtkmenutoolbutton.c:
646         * gtk/gtknotebook.c:
647         * gtk/gtkprogress.c:
648         * gtk/gtkrange.c:
649         * gtk/gtkspinbutton.c:
650         * gtk/gtkstatusicon.c:
651         * gtk/gtktext.c:
652         * gtk/gtktextview.c:
653         * gtk/gtktoolbar.c:
654         * gtk/gtktoolbutton.c:
655         * gtk/gtktoolitem.c:
656         * gtk/gtktreeitem.c:
657         * gtk/gtktreeview.c:
658         * gtk/gtktreeviewcolumn.c:
659         * gtk/gtkuimanager.c:
660         * gtk/gtkviewport.c:
661         * gtk/gtkwidget.c:
662         * gtk/gtkwindow.c:
663         ported to use GObject's g_object_ref_sink().
664
665         * gtk/gtkcolorsel.c:
666         * gtk/gtkfilechooserdefault.c:
667         * gtk/gtkaboutdialog.c:
668         fixed compiler warnings.
669
670 2005-11-23  Matthias Clasen  <mclasen@redhat.com>
671
672         * gtk/gtksettings.c (gtk_settings_class_init): Add some docs
673         about gtk-color-scheme.
674
675 2005-11-23  Behdad Esfahbod  <behdad@gnome.org>
676
677         * configure.in (enable_explicit_deps): Fix typo when checking
678         libtool config deplibs_check_method. Moreover, enable explicit
679         deps if we get anything other than pass_all from libtool. (part of
680         #318750)
681
682 2005-11-23  Matthias Clasen  <mclasen@redhat.com>
683
684         * gtk/updateiconcache.c (write_csource): Don't create a big
685         string, since Visual C++ doesn't like strings longer than 64k. 
686         (#322238, Kazuki IWAMOTO
687
688         * gtk/gtkentry.c: Include gtkimcontextsimple.h  (#322235,
689         Kazuki IWAMOTO)
690
691 2005-11-23  Michael Natterer  <mitch@imendio.com>
692
693         * gtk/gtkrc.c (gtk_rc_reset_widgets): don't leak all toplevel
694         windows on other screens (correctly remove all temporary
695         references).
696
697 2005-11-23  Michael Natterer  <mitch@imendio.com>
698
699         Added symbolic themable colors. Patch is a merged version of
700         proposals from Matthias and maemo-gtk. Fixes bug #114355.
701
702         * configure.in: require glib >= 2.9.1 for refcountable hashtables.
703
704         * gtk/gtksettings.c: added property "color-scheme" which is a
705         string defining colors like "foreground:black\nbackground:grey".
706         Automatically provide a name->GdkColor hash table mapping for the
707         color scheme.
708
709         * gtk/gtkrc.[ch]: added list of color hashes that works like the
710         list of icon factories. Append the color scheme hash from
711         GtkSettings if it exists. Extended gtkrc syntax to allow defining
712         and referencing of logical colors. Also allow to modulate colors
713         in gtkrc by using arbitrary expressions of mix(), shade(),
714         lighter() and darker(). Added internal function
715         _gtk_rc_style_get_color_hashes().
716
717         * gtk/gtkstyle.[ch]: keep a private list of color hashes around.
718         Get the list from _gtk_rc_style_get_color_hashes(). Export
719         internal function _gtk_style_shade() (used by above color
720         expressions). Added public API gtk_style_lookup_color() which
721         looks up a logical color by name.
722
723         * gtk/gtk.symbols: add gtk_style_lookup_color
724
725         * tests/testgtkrc: use symbolic colors for making
726         the scrollbars red.
727
728 2005-11-22  Michael Natterer  <mitch@imendio.com>
729
730         Made button-press timeouts which work like key repeat timeouts
731         configurable. Addresses bug #142582:
732
733         * gtk/gtksettings.c: added properties "gtk-timeout-initial" and
734         "gtk-timeout-repeat" which defalt to 200/20 (ms).
735
736         Use the values from GtkSettings instead of hardcoding them
737         (the repeat value is either taken as-is for fast repeat or
738         multiplied by 5 for slow repeat). Changed all places to use these
739         two standard initial/repeat timings:
740
741         * gtk/gtkcalendar.c (unchanged 200/20)
742         * gtk/gtknotebook.c (unchanged 200/100)
743         * gtk/gtkpathbar.c (changed from 300/150 to 200/100)
744         * gtk/gtkrange.c (changed from 250/100 to 200/100)
745         * gtk/gtkspinbutton.c (unchanged 200/20)
746
747 2005-11-21  Anders Carlsson  <andersca@imendio.com>
748
749         * configure.in:
750         * gtk/Makefile.am:
751         * gdk/Makefile.am:
752         * gdk/quartz/*:
753         Add quartz backend.
754         
755         * docs/tools/Makefile.am:
756         Only build docshooter when the X11 backend is used.
757         
758         * gtk/gtkplug-stub.c:
759         Include gtkplug.h here.
760         
761         * gtk/gtksocket-stub.c:
762         Include gtksocket.h here.
763         
764 2005-11-21  Matthias Clasen  <mclasen@redhat.com>
765
766         * gtk/gtkinputdialog.c: Convert GtkInputDialog to 
767         g_type_class_add_private.
768
769         * gtk/gtksocket.c: Convert GtkSocket to g_type_class_add_private.
770
771         * gtk/gtkmenu.c: Convert GtkMenu to g_type_class_add_private.
772
773         * gtk/gtk.symbols:
774         * gtk/gtkcombobox.[hc]: Add a tearoff-title property,
775         with getter and setter.  (#316482, Olexiy Avramchenko)
776
777         * tests/testcombo.c (main): Test gtk_combo_box_set_title
778
779         * gtk/gtkpathbar.c: Merge remaining fixes from the 2.8 branch,
780         pointed out by Michael Natterer.
781
782         Fix for bug #321542, Benedikt Meurer:
783         
784         * gtk/gtkcombobox.c (gtk_combo_box_set_active_internal):
785         Emit notify::active.
786         
787         (gtk_combo_box_child_show, gtk_combo_box_child_hide): Use
788         g_signal_emit, not g_signal_emit_by_name.
789
790 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
791
792         Fix crashes in connection with pathbar scrolling (#321560,
793         Bogdan Nicula)
794         
795         * gtk/gtkpathbar.c (gtk_path_bar_update_slider_buttons): 
796         Stop scrolling when desensitising slider buttons.
797         (gtk_path_bar_scroll_timeout, gtk_path_bar_slider_button_press): 
798         And use it here.  
799
800         * gtk/gtkpathbar.h (struct _GtkPathBar): Add a separate
801         scrolling_down flag.
802
803 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
804
805         * gtk/gtkpathbar.c (button_clicked_cb): Fix a C99ism.
806         (#321777, Jens Granseuer)
807
808         * gtk/gtkaction.c (disconnect_proxy): Disconnect the
809         sync callback for the visibility property.  (#321761,
810         Philip Langdale)
811
812         Turn off input methods in invisible entries, since
813         they are confusing.  (#317002, James Su)
814         
815         * gtk/gtkentry.c (gtk_entry_set_visibility): Toggle input
816         methods if visibility changes.
817         (popup_targets_received): Don't show the input method
818         menu if the entry is invisible.  
819
820 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
821
822         * README.in: Add a note about range arrow sensitivity.
823
824         * perf/treeview.c: const correctness fixes
825         found by Arjan van de Ven and gcc.
826
827 2005-11-16  Michael Natterer  <mitch@imendio.com>
828
829         * gtk/gtkimage.c (animation_timeout): call
830         gtk_window_process_updates() so the animation keeps running even
831         if the main loop is busy with sources that eat a lot of cpu with
832         high priority. Fixes bug #321444.
833
834         (gtk_image_new_from_animation): document the fact that the
835         animation will stop running if the main loop is busy with sources
836         that have priorities higher than G_PRIORITY_DEFAULT.
837
838         * tests/testimage.c: added test case that shows an animation even
839         though a cpu-eating idle function is running.
840
841 2005-11-16  Michael Natterer  <mitch@imendio.com>
842
843         * gdk/x11/gdkevents-x11.c (_gdk_events_uninit): new internal
844         function which destroys the display's event source. Also removes
845         the source from the global display_sources list and unrefs it.
846
847         * gdk/x11/gdkprivate-x11.h: declare the function.
848
849         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose): call it
850         instead of half-destroying the source here.
851
852 2005-11-15  Matthias Clasen  <mclasen@redhat.com>
853
854         * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
855         leak.  (#321032, Peter Zelezny)
856
857 2005-11-15  Michael Natterer  <mitch@imendio.com>
858
859         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
860         display->xid_ht as late as possible (right before XCloseDisplay)
861         because it still needs to be around when the display's screens are
862         finalized. (#85715)
863
864 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
865
866         * gtk/gtkselection.c (gtk_selection_data_set_uris): Don't
867         leak result.  (#321441, Tommi Komulainen)
868
869 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
870
871         * gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes):
872         Don't crash if there is no builtin icon.
873
874 2005-11-14  Michael Natterer  <mitch@imendio.com>
875
876         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_set_property):
877         removed redundant calls to g_object_notify().
878
879 2005-11-13  Matthias Clasen  <mclasen@redhat.com>
880
881         * gdk/gdkcolor.c (gdk_color_parse): Documentation 
882         improvements.  (#321338)
883
884         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Make
885         limit an inclusive boundary.  (#321299)
886
887 2005-11-12  Michael Natterer  <mitch@imendio.com>
888
889         * gtk/Makefile.am: fixed icon rules so gtkbuiltincache.h is only
890         rebuilt if needed.
891
892 2005-11-12  Dom Lachowicz <cinamod@hotmail.com>
893
894         * modules/engines/ms-windows/msw_style.c: Bug #313627. Make win32 
895         theme's handling of toolbars, handleboxes, and menubars more in-line
896         with Microsoft's IE style.
897         * modules/engines/ms-windows/*.c: Indentation cleanups
898         
899 2005-11-12  Matthias Clasen  <mclasen@redhat.com>
900
901         Make builtin icons work in gtk_window_set_icon_name() 
902         (#321046, Maxim Udushlivy)
903
904         * gtk/gtkicontheme.c (insert_theme): Always insert the default
905         theme.
906         (ensure_valid_themes): Call _gtk_icon_theme_ensure_builtin_cache()
907         from here.
908         (theme_lookup_icon, find_builtin_icon): ...and not from here.
909         (gtk_icon_theme_lookup_icon): Remove an unncessary assert.
910         (gtk_icon_theme_get_icon_sizes): Also check builtin icons.
911
912 2005-11-12  Tor Lillqvist  <tml@novell.com>
913
914         * gtk/gtkfilesystemwin32.c (filename_get_info): Don't hide
915         dotfiles, no such convention on Win32. Just hide files with the
916         hidden attribute. (#314627)
917
918 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
919
920         * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Do not
921         check whether the path is a folder.  It is useful to bookmark
922         files as well (e.g. todo.txt), and this will also help
923         performance.
924         (shortcuts_add_bookmark_from_path): Likewise.
925         (shortcuts_activate_iter): Change folders or select files, as
926         appropriate.
927
928 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
929
930         * tests/autotestfilechooser.c (main): Use
931         g_log_set_default_handler() instead of explicitly setting a
932         handler for each domain.
933
934         * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Only get
935         the base path of the volume if it is mounted.
936
937 2005-11-11  Michael Natterer  <mitch@imendio.com>
938
939         Added per-stepper API for GtkRange's stepper sensitivity as
940         discussed in bug #321056:
941
942         * gtk/gtkenums.h: added GtkSensitivityType which can be
943         { AUTO, ON, OFF }.
944
945         * gtk/gtkrange.[ch]: added properties "lower-stepper-sensitivity"
946         and "upper-stepper-sensitivity" and public getters/setters for
947         them. Changed stepper drawing to honor the new properties.
948
949         * gtk/gtk.symbols: added the new symbols.
950
951 2005-11-10  Matthias Clasen  <mclasen@redhat.com>
952
953         * gtk/gtkcombobox.c: Add show-popup and hide-popup signals and
954         emit them when the popup is shown or hidden.  (#162531, Tommi
955         Komulainen)
956
957         * tests/testcombo.c: Add an example of popuplating a combobox
958         on click.
959
960         * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column): Another
961         erroneous semicolon.
962
963         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get): Remove an erroneous
964         semicolon. 
965
966         Don't corrupt odd keymaps (#316638, Kean Johnston)
967         
968         * gdk/x11/gdkkeys-x11.c (set_symbol): Auxiliary function to
969         handle frobbing keymaps with odd numbers of syms/code.
970         
971         * gdk/x11/gdkkeys-x11.c (update_keymaps): Use set_symbol() to 
972         frob the keymap.
973
974         Improve navigation to parent folders.  (#318444, Andrei Yurkevich)
975         
976         * gtk/gtkpathbar.[hc]: Add a child_path argument to
977         the path_clicked signal.
978         * gtk/gtkfilechooserdefault.c (path_bar_clicked): Select the
979         child_path, if it is provided.
980         * gtk/marshalers.list (path_bar_clicked): Add the necessary
981         glue.
982
983         * gtk/gtkmenu.c: Fix some compiler warnings. (#321141,
984         Kjartan Maraas)
985         
986         * gtk/gtk.symbols: 
987         * gtk/gtktreeview.h: 
988         * gtk/gtktreeview.c: Implement a getter for headers-clickable.
989         (#163851, Richard Hult)
990
991 2005-11-10  Michael Natterer  <mitch@imendio.com>
992
993         Applied patch from maemo-gtk that addresses many issues wrt
994         display migration and display closing (bug #85715).
995
996         * gdk/gdkdisplay.c (gdk_display_dispose): don't just set the
997         default display to NULL when it's closed. Instead set the most
998         recently opened display as new default (if one exists).
999
1000         * gdk/gdkpango.c (on_renderer_display_closed): fixed signature
1001         of this callback.
1002
1003         * gdk/gdkscreen.c (gdk_screen_dispose): check if the GCs still
1004         exist before unrefing them.
1005
1006         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): if the screen
1007         is closed, allow destruction of the root window.
1008
1009         * gdk/x11/gdkdisplay-x11.c: moved some stuff from finalize() to
1010         dispose(), free stuff that was leaked before.
1011
1012         * gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen): check if
1013         the xsettings_client still exists before destroying it.
1014
1015         * gdk/x11/gdkkeys-x11.c: added finalization and free the allocated
1016         X resources.
1017
1018         * gdk/x11/gdkpixmap-x11.c: moved stuff from finalize() to new
1019         dispose() implementation.
1020
1021         * gdk/x11/gdkscreen-x11.c: moved stuff from finalize() to
1022         dispose() and check if it still exists before unrefing it. Set
1023         their pointers to NULL/None *after* upchaining in dispose(),
1024         because X11 implementations of members of the parent class still
1025         need them for their own destruction.
1026
1027         * gdk/x11/gdkvisual-x11.c: removed finalize() implementation which
1028         was g_error()ing when finalizing a visual.
1029
1030         * gtk/gtkclipboard.c (gtk_clipboard_finalize): don't use
1031         get_clipboard_widget() because it would create the widget if it
1032         doesn't exist. Use g_object_get_data() directly instead.
1033
1034         * gtk/gtktextdisplay.c (on_renderer_display_closed): fixed signature
1035         of this callback.
1036
1037 2005-11-10  Simos Xenitellis  <simos@gnome.org>
1038
1039         * configure.in: Added Tatar (tt) to ALL_LINGUAS.
1040
1041 Wed Nov  9 16:29:42 2005  Tim Janik  <timj@imendio.com>
1042
1043         * gtk/gtkrange.c: patch from maemo-gtk that changes GtkRange
1044         to render its arrows insensitive when the adjustment is in
1045         its min or max position. this makes range arrow behaviour 
1046         consistent with spin button behaviour. (#321056)
1047
1048 2005-11-09  Tor Lillqvist  <tml@novell.com>
1049
1050         * gdk/gdkinternals.h
1051         * gdk/gdk.c (gdk_debug_keys[]): Add new GDK_DEBUG_DRAW flag to
1052         the GdkDebugFlag enum.
1053
1054         * gdk/win32/gdkdrawable-win32.c: Use DRAW to trigger GDK_NOTEs in
1055         this file instead of MISC. Now asking for MISC will give mainly
1056         window manipulation debugging output with the Win32 backend.
1057
1058 2005-11-09  Tor Lillqvist  <tml@novell.com>
1059
1060         * gdk/win32/gdkwindow-win32.c: Remove unnecessary includes.
1061
1062         (_gdk_win32_get_adjusted_client_rect): Remove this two-line
1063         function which was used only in one place.
1064
1065         (get_outer_rect): Use _gdk_win32_adjust_client_rect().
1066
1067         (gdk_window_set_geometry_hints): If we have identical minimum and
1068         maximum size hints, remove the resize and maximize
1069         decorations/functions. (#104514)
1070
1071         If we have a maximum size hint, remove the maximize
1072         decoration/function but ensure the resize decoration/function is
1073         available. Otherwise ensure both resize and maximize
1074         decorations/functions are there.
1075
1076         (set_or_clear_style_bits): Factored out common code from
1077         gdk_window_set_decorations() and gdk_window_set_functions(). 
1078
1079         Hack the window style setting once more: Only touch the window
1080         style bits corresponding to the GdkWMDecoration or GdkWMFunction
1081         parameter bitmasks. Hopefully this finally is the correct thing to
1082         do. We used to clear all other bits than those that were being
1083         set, or set all other bits than those that were being cleared.
1084
1085         Take into account that adding or removing decorations leaves the
1086         window's outer size unchanged, i.e., the client area's size and
1087         position change. This is apparently not what we want, so change
1088         also the window's (outer) position and size appropriately so that
1089         the client area's position and size stay constant.
1090
1091         gtk-demo's color selector dialog is now non-resizable like on X11
1092         (I tested with metacity in GNOME). Torn off menus are shrinkable
1093         vertically but have a maximum size, and are not maximizable or
1094         minimizable, like on X11.
1095
1096         (gdk_window_set_decorations, gdk_window_set_functions): Let
1097         set_or_clear_decorations() do most of the job.
1098
1099         * gdk/win32/gdkprivate-win32.h: Remove declaration of
1100         _gdk_win32_get_adjusted_client_rect().
1101
1102 2005-11-09  Tor Lillqvist  <tml@novell.com>
1103
1104         * gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32)
1105         * gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_init,
1106         gdk_window_get_type_hint, gdk_window_get_type_hint): Store the
1107         type hint. Implement gdk_window_get_type_hint() by just returning
1108         the hint stored.
1109
1110 2005-11-09  Tor Lillqvist  <tml@novell.com>
1111
1112         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
1113         Remove code that has been permanently ifdeffed out for two years.
1114
1115 2005-11-08  Matthias Clasen  <mclasen@redhat.com>
1116
1117         * gdk/gdkgc.c (gdk_gc_finalize): Unref tile and stipple when
1118         finalizing a gc.  (#320789, Nickolay V. Shmyrev)
1119
1120         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Ignore
1121         icons if they would make the request large enough to cause
1122         Xlib to loose the connection.  (#320909, Claudio Saavedra)
1123
1124 2005-11-08  Michael Natterer  <mitch@imendio.com>
1125
1126         * gdk/gdk.symbols
1127         * gdk/gdkwindow.h
1128         * gdk/x11/gdkwindow-x11.c: added gdk_window_get_type_hint() (patch
1129         extracted from maemo-gtk). Fixes bug #320872.
1130
1131 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
1132
1133         * gtk/gtkfilechooserdefault.c (shortcuts_reorder): Don't
1134         looks the bookmark label when reordering.  (#320720, Jeremy Cook)
1135
1136         * gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
1137         Don't grab focus when a slider button is pressed, instead, use
1138         a bit in the pathbar struct to determine whether to scroll up
1139         or down.  (#314486, Carlos Garnacho)
1140
1141         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): 
1142         Don't popup the completions if the focus has already been
1143         moved somewhere else.  (#319914, Christian Persch)
1144
1145         * gtk/gtktoolitem.c (_gtk_tool_item_toolbar_reconfigured): 
1146         Raise the drag_window after reconfiguring the 
1147         toolbar.  (#320803, Christian Persch)
1148
1149         * gtk/gtk.symbols: 
1150         * gtk/gtkfilechooserbutton.h: 
1151         * gtk/gtkfilechooserbutton.c: Add a focus-on-click property
1152         with setter and getter.  (#318945, Christian Persch)
1153         
1154 Mon Nov  7 16:15:16 2005  Tim Janik  <timj@imendio.com>
1155
1156         * configure.in: fixed missing $X_CFLAGS setup in case x11.pc is present.
1157
1158 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
1159
1160         * configure.in: Adjust to the stock icon changes.
1161         
1162 2005-11-07  Tor Lillqvist  <tml@novell.com>
1163
1164         * gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_normal):
1165         Correct the calculation of maskstride. (#320152, Peter Zelezny)
1166         
1167 2005-11-06  Michael Natterer  <mitch@imendio.com>
1168
1169         * gtk/Makefile.am (icons): fixed rule to actually create the
1170         symlinks, erroring out if anything goes wrong.
1171
1172 2005-11-06  Tor Lillqvist  <tml@novell.com>
1173
1174         * gtk/updateiconcache.c (build_cache): Can't rename a file if the
1175         target exists on Win32. First rename the target temporarily, then
1176         if the renaming of the source to target fails, restore the
1177         original name for the target.
1178
1179         * gtk/Makefile.am: Use EXEEXT in the dependency on gtk-update-icon-cache.
1180
1181 2005-11-06  Tor Lillqvist  <tml@novell.com>
1182
1183         (pixbuf_to_hbitmaps_alpha_winxp): Use an 1-bit mask bitmap,
1184         like pixbuf_to_hbitmaps_normal().
1185         (_gdk_win32_pixbuf_to_hicon_supports_alpha): Check
1186         G_WIN32_IS_NT_BASED() first, so we can pretend being on Win9x by
1187         setting the G_WIN32_PRETEND_WIN9X environment variable.
1188         
1189 2005-11-06  Tor Lillqvist  <tml@novell.com>
1190
1191         Make icon masks work on Win98 (#320152, Peter Zelezny)
1192
1193         * gdk/win32/gdkcursor-win32.c (create_color_bitmap): Take also a
1194         parameter for the depth of the bitmap, so that this function can
1195         be used to create 1-bit bitmaps, too.
1196         (pixbuf_to_hbitmaps_normal): Create an 1-bit bitmap for the mask,
1197         and initialize it properly.
1198
1199 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
1200
1201         Store builtin stock icons in an icon cache, instead of
1202         populating a hash table with pixbufs at startup, to save both
1203         memory and startup time.
1204
1205         * gtk/stock-icons/*: Reorganize the icons in a directory structure
1206         suitable for gtk-update-icon-cache, and rename them to match the
1207         stock ids.
1208
1209         * gtk/gtkiconcache.[hc]: Support non-mmapped icon caches, and
1210         add _gtk_icon_cache_has_icon_in_directory().
1211
1212         * gtk/updateiconcache.c: Support a --source <VARIABLE> argument
1213         to store the contents of the icon cache in a C header.
1214
1215         * gtk/gtkbuiltincache.h: Generated private header which contains 
1216         the icon cache for the builtin icons.
1217
1218         * gtk/gtkicontheme.c: Create a GtkIconCache for the builtin
1219         icons, and use that in addition to the hash table whenever
1220         builtin icons are searched.
1221
1222         * gtk/gtkiconfactory.c: Add GTK_ICON_SOURCE_STATIC_ICON_NAME and
1223         use it for static stock ids. 
1224         (get_default_icons): Don't add the builtin
1225         icons to the icon theme, just register the stock ids.
1226         (render_fallback_image): Take the fallback image out of the
1227         builtin icon cache.
1228         
1229         * gtk/Makefile.am: Remove stock-icons from SUBDIRS and add 
1230         the necessary machinery to rebuild gtkbuiltincache.h.
1231
1232 2005-11-04  Michael Natterer  <mitch@imendio.com>
1233
1234         * gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): applied patch
1235         from maemo-gtk that changes the mtime check for rc files from
1236         '>' to '!=', otherwise theme changes go unnoticed when turning
1237         back the clock (Tommi Komulainen).
1238
1239 2005-11-04  Tor Lillqvist  <tml@novell.com>
1240
1241         * gtk/gtkstatusicon.c (gtk_status_icon_set_tooltip): Plug memory
1242         leak on Win32.
1243
1244 2005-11-03  Tor Lillqvist  <tml@novell.com>
1245
1246         * gdk/win32/gdkcursor-win32.c: As there is only one GdkDisplay in
1247         the Win32 backend, check that GdkDisplay* parameters are equal to
1248         _gdk_display instead of using the unnecessarily general
1249         GDK_IS_DISPLAY().
1250
1251         (pixbuf_to_hbitmaps_alpha_winxp): Rename the variables for the
1252         color bitmap to have "color" in their name, for similarity with
1253         pixbuf_to_hbitmaps_normal(). Create a color bitmap for the mask,
1254         too, instead of creating a b&w bitmap with CreateBitmap(). Set up
1255         the mask bitmap's contents, ones for those pixels in the color
1256         bitmap where the alpha is zero, zero for other pixels. We used to
1257         use an uninitialized mask bitmap! This meant that icons and
1258         cursors created presumably worked more or less by accident.
1259         Totally blank icons with zero alpha everywhere (as used by
1260         gtktrayicon.c) definitely did not work as expected.
1261
1262         * gtk/Makefile.am: Include gtkstatusicon.c on all platforms.
1263
1264         * gtk/gtkstatusicon.c: Implement for Win32. Use code from
1265         gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
1266         necessary and can be removed from CVS. It has never been mentioned
1267         in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
1268         are used on Win32. One label widget is used (but never shown) as
1269         gtk_widget_render_icon() needs a widget.
1270
1271         Ifdefs used as necessary in several places. It might be cleaner to
1272         split out the backend-specific parts to separate files, or at
1273         least collect them into separate blocks in the file.
1274
1275         (wndproc): New function. Window procedure to monitor mouse events
1276         in the system tray icon. Call gtk_status_icon_button_press() as
1277         needed.
1278         (create_tray_observer): New function. Creates a hidden window that
1279         only serves as a tray icon message observer.
1280
1281         * tests/teststatusicon.c (icon_activated): Position the dialog
1282         with GTK_WIN_POS_CENTER.
1283         (do_quit): New function, hide and unref the GtkStatusIcon, and
1284         call gtk_main_quit().
1285         (popup_menu): Add a Quit menu item that calls do_quit().
1286         
1287 2005-11-02  Tor Lillqvist  <tml@novell.com>
1288
1289         * gdk/win32/gdkcolor-win32.c
1290         * gdk/win32/gdkscreen-win32.c
1291         * gdk/win32/gdkwindow-win32.c: Whitespace consistency
1292         fixes. Remove superfluous test for GdkWindow* parameters being
1293         non-NULL. Testing GDK_IS_WINDOW() is enough. As there is only one
1294         GdkScreen and one GdkDisplay in the Win32 backend, use those
1295         variables instead of the getter functions. For GdkDisplay* and
1296         GdkScreen* parameters, check that they are equal to the
1297         corresponding singleton variables instead of the more general
1298         GDK_IS_DISPLAY() or GDK_IS_SCREEN().
1299
1300 2005-11-02  Matthias Clasen  <mclasen@redhat.com>
1301
1302         * gtk/gtktextview.c: Remove some g_return_if_fail() from
1303         static functions, replace some others by g_assert().
1304         
1305         * gtk/gtktextview.c (selection_motion_event_handler) 
1306         (gtk_text_view_start_selection_drag): Keep track of the original
1307         selection boundaries during a drag selection, in order to correctly
1308         decide when to extend or shrink the selection.  (#320167,
1309         reported by Arvind S N, patch by Paolo Borelli)
1310
1311         * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
1312         * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Replace
1313         manual offset calculations by g_utf8_offset_to_pointer().
1314         (#320360, Paolo Borelli)
1315
1316 Tue Nov  1 16:18:24 2005  Tim Janik  <timj@imendio.com>
1317
1318         * gtk/gtkrbtree.[hc]: get rid of GAllocator usage, allocate and free 
1319         nodes via the g_slice_*() API.
1320         _gtk_rbtree_new(): fixed wrong node allocation via g_new().
1321
1322 2005-11-01  Tor Lillqvist  <tml@novell.com>
1323
1324         * gdk/win32/gdkprivate-win32.h
1325         * gdk/win32/gdkglobals-win32.c
1326         * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Add more
1327         pre-interned GdkAtoms and pre-registered clipboard formats. Sort
1328         their declarations, definitions and assignments into a more
1329         logical and consistent order.
1330
1331         * gdk/win32/gdkmain-win32.c (_gdk_win32_cf_to_string): Include the
1332         CF_ prefix for the predefined clipboard format names. Put quotes
1333         around registered format names to distinguish them.
1334         
1335         * gdk/win32/gdkproperty-win32.c (gdk_property_change): Return
1336         immediately with a warning if the property type is STRING, TEXT,
1337         COMPOUND_TEXT or SAVE_TARGETS, as these are X11-specific that we
1338         should never pretend to handle on Win32. Handle only UTF8_STRING
1339         here, other formats with delayed rendering. Use \uc1 instead of
1340         \uc0 when generating Rich Text Format for easier testability on
1341         XP, where WordPad misinterprets \uc0 encoded characters. Add more
1342         GDK_NOTE debugging output for Clipboard operations.
1343
1344         * gdk/win32/gdkselection-win32.c: Debugging printout improvements.
1345         (gdk_selection_convert): Don't pretent to handle STRING, just
1346         UTF8_STRING. Streamline error handling, don't unnecessarily have a
1347         GError which then isn't used for anything anyway if it gets set.
1348         (gdk_win32_selection_add_targets): Skip also STRING, TEXT,
1349         COMPOUND_TEXT and SAVE_TARGETS in addition to UTF8_STRING.
1350
1351         * config.h.win32.in: Sync with what configure produces.
1352
1353         * configure.in: Don't look for X_PACKAGES unless building for
1354         x11. (#313986, John Ehresman)
1355
1356 2005-10-28  Erdal Ronahi  <erdal.ronahi@gmail.com>
1357
1358         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
1359                         Wondered why there was no ku there before??
1360
1361 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
1362
1363         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Add the popup
1364         window to the toplevels window group.  (#319912, Christian Persch)
1365
1366 2005-10-28  Kristian Rietveld  <kris@gtk.org>
1367
1368         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): fix
1369         stupid thinko.
1370
1371 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
1372
1373         * gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
1374         drag cursors.  (#319200, Federico Mena Quintero)
1375
1376         * gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): Handle
1377         Shift-G to go to the previous match, like firefox.  (#320061, Christian 
1378         Neumair)
1379
1380         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_build_level): Fix a
1381         C99ism.  (#320000, Kazuki Iwamoto)
1382
1383         * gtk/gtkaboutdialog.c (gtk_about_dialog_init): Add the little 
1384         stars.  (#319985, Bastien Nocera)
1385
1386         * gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout): Return
1387         FALSE, so we don't flush repeatedly.  (#319151, Alexander Larsson)
1388
1389 2005-10-26  Michael Natterer  <mitch@imendio.com>
1390
1391         Fix bug #319974:
1392
1393         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
1394         make sure that setting any of pixbuf/stock-id/icon-name resets the
1395         others because they are mutually exclusive, and that unsetting any
1396         of them only resets the pixbuf and nothing else. Also added
1397         some missing g_object_notify().
1398
1399         (gtk_cell_renderer_pixbuf_get_property): simplified calls to
1400         g_value_set_object().
1401
1402         (gtk_cell_renderer_pixbuf_create_stock_pixbuf)
1403         (gtk_cell_renderer_pixbuf_create_named_icon_pixbuf): added
1404         g_object_notify ("pixbuf").
1405
1406 2005-10-27  Matthias Clasen  <mclasen@redhat.com>
1407
1408         * gtk/gtktreeview.c (gtk_tree_view_button_press): Be more 
1409         careful about initializing cell_area.  (#319382, Tommi
1410         Komulainen)
1411
1412         * gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't eat
1413         Ctrl-PageUp/PageDown.  (#318670, Christian Neumair)
1414
1415         * demos/gtk-demo/clipboard.c (paste_received): Only set the
1416         text if it is not NULL.  (#319930, Thomas Klausner)
1417
1418         * gtk/gtkselection.c (gtk_selection_data_get_pixbuf): Close the
1419         loader before trying to get the pixbuf.  (#319930, Thomas Klausner)
1420
1421 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
1422
1423         * gtk/gtkfilesystem.c (gtk_file_system_module_load): 
1424         * gtk/gtkthemes.c (gtk_theme_engine_load): 
1425         * gtk/gtkimmodule.c (gtk_im_module_load): Use G_MODULE_BIND_LAZY
1426         when dlopening modules.  (#319557, Laszlo Peter)
1427
1428 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
1429
1430         * gtk/gtktextbtree.c (gtk_text_btree_resolve_bidi): Only use text
1431         segments when determining text direction.  (#319065, Tommi Komulainen)
1432
1433         * gtk/gtktreeview.c (gtk_tree_view_destroy): Don't crash
1434         on duplicate destroy.  (#318953, Gustavo Carneiro)
1435
1436         * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog): 
1437         Point out that destroy-with-parent is a bad idea for the dialog
1438         passed to this function.  (#318943, Christian Persch)
1439
1440         * */Makefile.am: use $(GLIB_MKENUMS) instead of 
1441         glib-mkenums.  (#318582, Damien Carbery)
1442
1443         * gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Clarify
1444         docs.  (#317682, Christian Neumair)
1445
1446         * gdk/x11/gdkdnd-x11.c: Remove an extra const which doesn't
1447         seem to affect the placement of the data in the readonly 
1448         section, and causes problems with some compilers.  (#317844)
1449
1450 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
1451
1452         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
1453         Fix some issues with background drawing in RTL.  (#318781,
1454         Eric Cazeaux)
1455
1456         * tests/Makefile.am:
1457         * tests/testentrycompletion.c: Apply a patch by Christian
1458         Persch to add property editors.
1459
1460         * gtk/gtkstatusicon.c: Emit activate on single-click,
1461         not on double-click, change proposed by Milosz Derezynski.
1462
1463 2005-10-25  Kristian Rietveld  <kris@gtk.org>
1464
1465         Fixes #311955, reported by Markku Vire; and a lot more.
1466
1467         * gtk/gtktreemodelfilter.c: Made this thing work correctly.
1468         Levels can now have invisible nodes cached, functions have been
1469         rewritten/refactored to take this into account; also the logic in
1470         some functions has been corrected.
1471         
1472         Each referenced node now references all visible children or a single
1473         invisible child, in order to be able to monitor all changes in the
1474         child model required for correct operation.
1475
1476         When a virtual root is set, all nodes on the virtual root level are
1477         referenced.
1478
1479         At last, a bunch of random bug fixes and comment updates.
1480
1481 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
1482
1483         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Add some
1484         more docs.  (#319722, Paolo Borelli)
1485
1486         * gdk/x11/gdkxftdefaults.c (init_xft_settings): Make the 
1487         initialization of screen_x11->xft_rgba more explicit.  (#319627,
1488         Bogdan Nicula)
1489
1490         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Fix whitespace
1491         in a blurb.  (#319499, Francisco Javier F. Serrador)
1492
1493 2005-10-24  Matthias Clasen  <mclasen@redhat.com>
1494
1495         Add settings to hide the input method and Unicode control character
1496         submenus in the context menus of GtkEntry and GtkTextView.  
1497         
1498         * gdk/x11/gdkevents-x11.c: Map GTK+ settings to X settings.
1499         
1500         * gtk/gtksettings.c (gtk_settings_class_init): Declare GTK+ settings here.
1501
1502         * gtk/gtktextview.c (popup_targets_received): 
1503         * gtk/gtkentry.c (popup_targets_received): Use the settings here.
1504
1505 2005-10-24  Kristian Rietveld  <kris@gtk.org>
1506
1507         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): emitting
1508         row-has-child-toggled when the level is not in the cache does not
1509         make sense.  (This bug probably crept in during the early stages
1510         of GtkTreeModelSort when there wasn't a correct row-has-child-toggled
1511         implementation yet),
1512         (gtk_tree_model_sort_real_unref_node): only get the child iter
1513         when we will actually also use it.
1514
1515 2005-10-22  Michael Natterer  <mitch@imendio.com>
1516
1517         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): check for the
1518         widget being realized, in addition to being visible, to avoid
1519         running into precondition check in gtk_tree_view_get_cell_area().
1520         (approved by Kris).
1521
1522 2005-10-22  Dom Lachowicz <cinamod@hotmail.com>
1523
1524         * modules/engines/ms-windows/msw_style.c (setup_msw_rc_style): 
1525         Experimentally, scrollbar steppers can shrink to 8 pixels on 
1526         Win32. Reflect that in the theme.
1527         * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Experimentally,
1528         there is a 1-pixel border between a scrollbar and its child
1529         in ScrolledWindows on Win32. Reflect that in the theme.
1530         
1531 2005-10-20  Matthias Clasen  <mclasen@redhat.com>
1532
1533         * gtk/gtklabel.c (gtk_label_create_window): Use GDK_WINDOW_CHILD
1534         for the selection window.  (#318806, Alex Larsson)
1535
1536 2005-10-18  Federico Mena Quintero  <federico@ximian.com>
1537
1538         Fixes bug #317999:
1539
1540         * tests/autotestfilechooser.c
1541         (test_button_folder_states_for_action): Test that we have either
1542         $cwd or the explicitly-set folder.
1543         (test_reload_sequence): Likewise.
1544
1545         * gtk/gtkfilechooserdefault.c
1546         (gtk_file_chooser_default_get_current_folder): If our reload_state
1547         is RELOAD_EMPTY, return a GtkFilePath corresponding to $cwd.
1548
1549 2005-10-14  Tor Lillqvist  <tml@novell.com>
1550
1551         * gdk/win32/gdkdisplay-win32.c: Remove the clipboard viewer code.
1552         It didn't really do anything useful, and was just confusing and
1553         incomplete. Comments claimed we don't do delayed rendering, but in
1554         fact we do, for images. (The delayed rendering code has other
1555         problems, though, see #168173.) The clipboard viewer code was
1556         probably even buggy (the WM_CHANGECBCHAIN handled didn't propagate
1557         the message when necessary). It was just test code, it said so in
1558         a comment. Add something similar back later if necessary.
1559
1560         (_win32_on_clipboard_change,
1561         _gdk_win32_register_clipboard_notification): Remove.
1562
1563         (gdk_display_supports_selection_notification,
1564         gdk_display_request_selection_notification): Always just return
1565         FALSE. We didn't generate any GDK_OWNER_CHANGE events anywhere.
1566
1567 2005-10-13  Tor Lillqvist  <tml@novell.com>
1568
1569         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't treat
1570         Alt-Enter specially. It does not have any special meaning and
1571         should be passed on to the application. (#318378, Tim Evans)
1572
1573 2005-10-13  Tor Lillqvist  <tml@novell.com>
1574
1575         Set visual depth to 24 for 32 bits-per-pixel devices on
1576         Win32. This allows gdk_drawable_real_draw_pixbuf() to use the
1577         optimized composite_0888() function rather than the slower image
1578         dithering functions to draw pixbufs (#313993, John Ehresman)
1579
1580         * gdk/win32/gdkimage-win32.c (_gdk_win32_new_image): Use
1581         _gdk_windowing_get_bits_for_depth() to initialize
1582         GdkImage::bits_per_pixel.
1583         (_gdk_windowing_get_bits_for_depth): Return 32 bits for depth 24.
1584
1585         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use
1586         _gdk_windowing_get_bits_for_depth() to initialize
1587         BITMAPINFOHEADER::biBitCount.
1588
1589         * gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Set
1590         GdkVisual::depth to 24 even if GetDeviceCaps(BITSPIXEL) returns
1591         32.
1592
1593 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
1594
1595         * demos/gtk-demo/appwindow.c: (about_cb):
1596           use PACKAGE_VERSION,bump year (#318654)
1597
1598 2005-10-11  Matthias Clasen  <mclasen@redhat.com>
1599
1600         * gtk/gtktextbtree.c (_gtk_text_btree_delete): Try to match an off 
1601         toggle here with the matching on toggle if it immediately follows. 
1602         This is a common case, and handling it here prevents quadratic blowup 
1603         in cleanup_line() below.  (#317125)
1604
1605         * gtk/gtktextsegment.h: 
1606         * gtk/gtktextsegment.c (_gtk_char_segment_new_from_two_strings): Pass
1607         the character counts into this function instead of computing them
1608         again.
1609
1610 2005-10-10  Tommi Komulainen  <tommi.komulainen@iki.fi>
1611
1612         * gtk/gtkfilechooser.h (GtkFileChooserError): Add ALREADY_EXISTS error
1613         code.
1614         * gtk/gtkfilechooserdefault.c
1615         (gtk_file_chooser_default_add_shortcut_folder): Return an error code
1616         when the shortcut already exists in the sidebar.  (#147521)
1617
1618 2005-10-09  Matthias Clasen  <mclasen@redhat.com>
1619
1620         * tests/testcombo.c: Demonstrate how to use custom widgets in
1621         a GtkComboBox.  
1622
1623 2005-10-07  Federico Mena Quintero  <federico@ximian.com>
1624
1625         Fixes bug #317999:
1626
1627         * tests/autotestfilechooser.c (test_reload_sequence): Ensure that
1628         the the result of gtk_file_chooser_get_folder() is NULL or
1629         non-NULL at the right times.  Log the tests.
1630         (test_button_folder_states): New test for the initial states of
1631         the current folder in GtkFileChooserButton.
1632         (main): Test that the number of warnings/errors/critical errors is
1633         zero.
1634
1635         * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
1636         Clarify the documentation on when this can return NULL.
1637         (gtk_file_chooser_get_current_folder_uri): Likewise.
1638
1639         * gtk/gtkfilechooserbutton.c (struct
1640         _GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
1641         we use it to keep track of whether a folder has been set.
1642         (gtk_file_chooser_button_map):  Implement.  If no folder has been
1643         loaded before, we at least try to load $cwd here.
1644         (gtk_file_chooser_button_constructor): If the construct-time
1645         dialog already has a folder set, turn on our folder_has_been_set
1646         flag.
1647         (dialog_current_folder_changed_cb): Turn on our
1648         folder_has_been_set flag.
1649
1650 2005-10-07  Michael Natterer  <mitch@gimp.org>
1651
1652         * gtk/gtkfilechooserdefault.c: remove some explicit #defines of
1653         PROFILE_FILE_CHOOSER because they break compilation after the
1654         removal of <unistd.h>.
1655
1656 2005-10-07   Matthias Clasen  <mclasen@redhat.com>
1657
1658         * gtk/gtkfilechooserdefault.c: Properly fix the unistd.h include
1659         by moving it out of the profiling ifdef.
1660
1661         * gtk/gtkfilechooserdefault.c: Remove a redundant (and
1662         unconditional) include of unistd.h  (#318211, Kazuki Iwamoto)
1663
1664         * gtk/gtktexttag.c (gtk_text_attributes_ref): Use
1665         g_return_val_if_fail(), not g_return_if_fail().  (#318412,
1666         Kazuki Iwamoto)
1667
1668 2005-10-06  Matthias Clasen  <mclasen@redhat.com> 
1669                 
1670         * gtk/gtk.symbols:
1671         * gtk/gtktextbuffer.h:
1672         * gtk/gtktextbuffer.c: Add a readonly has-selection property
1673         with a getter.  (#318161, Paolo Borelli)
1674
1675 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
1676
1677         * README.in: Start collecting release notes for 2.10.
1678
1679         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
1680         leak fix, since the assertion failures were traced to 
1681         an xchat bug.  (#314696)
1682         
1683         * gtk/gtkstyle.c (gtk_style_detach):
1684         (gtk_style_attach):  Documentation improvements.
1685         (gtk_style_detach): Assert that the attach_count is > 0.
1686
1687 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
1688
1689         * gtk/gtkfilechooserdefault.c (switch_to_shortcut): Take a
1690         shortcut position, not a ShortcutsIndex, to make the function more
1691         generic.
1692         (home_folder_handler): Pass the resolved index to
1693         switch_to_shortcut(), rather than just SHORTCUTS_HOME.
1694         (desktop_folder_handler): Likewise for SHORTCUTS_DESKTOP.
1695         (gtk_file_chooser_default_class_init): Add a "quick-bookmark"
1696         binding signal, and bind it to Alt-1, Alt-2. ..., Alt-0.  These
1697         make the respective key switch to the first, second, ..., tenth
1698         bookmark.
1699         (quick_bookmark_handler): Implement.
1700
1701 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
1702
1703         * gtk/gtkpathbar.c (get_dir_name): Don't special-case Home and
1704         Desktop; just use their real names on the file system for the
1705         user-visible names.
1706
1707         * gtk/gtkfilechooserdefault.c
1708         (gtk_file_chooser_default_class_init): Add a "desktop-folder"
1709         binding signal, and bind it to M-d by default.
1710         (desktop_folder_handler): Implement the default handler.
1711         (home_folder_handler): Use a helper function.
1712         (switch_to_shortcut): New helper function.
1713         (shortcuts_append_home): Don't special-case the name of "Home";
1714         just use the folder name.
1715
1716 2005-10-04  Tor Lillqvist  <tml@novell.com>
1717
1718         * gtk/gtkcalendar.c (gtk_calendar_init): Make it compile without
1719         HAVE__NL_TIME_FIRST_WEEKDAY. (#317910, Mathias Hasselmann)
1720
1721 2005-10-04  Matthias Clasen  <mclasen@redhat.com>
1722
1723         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Revert the change
1724         from yesterday, since it leads to assertion failures.  (#317879,
1725         Sebastian Bacher)
1726
1727 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
1728
1729         * gtk/gtkcalendar.c (gtk_calendar_init): Call 
1730         calendar_compute_days() after setting priv->week_start.
1731
1732 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
1733
1734         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
1735         removing it from the hash table.  (#314696, Benjamin Berg)
1736
1737 2005-10-01  Tor Lillqvist  <tml@novell.com>
1738
1739         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap): In case
1740         BitBlt() fails with ERROR_INVALID_HANDLE, the most probable cause
1741         is that the the desktop isn't visible because the session has been
1742         switched, the screen is locked, or a terminal server session
1743         disconnected, so no error message necessary. (#137796)
1744
1745         It is of course remotely possible that BitBlt() failing with
1746         ERROR_INVALID_HANDLE might also be caused by some other
1747         problem. We could strive for perfection and track whether the
1748         desktop is visible by using WTSRegisterSessionNotification() and
1749         handling WM_WTSESSION_CHANGE. I think that's overdoing it just for
1750         this issue, though. If we would track desktop visibility, we
1751         should then avoid even trying to update the display at all while
1752         the desktop isn't visible.
1753
1754 2005-09-30  Matthias Clasen  <mclasen@redhat.com>
1755
1756         * gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
1757         to correct the calculations for the first week day. We may
1758         just have to remove this code if too many locales turn out 
1759         to have broken data. 
1760
1761         * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
1762         some cases.  (#317611, Tommi Komulainen)
1763
1764         * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
1765         Prevent overflow when storing size hints in an unsigned
1766         short variable. Tracked down by Ray Strode and Søren Sandmann.
1767
1768 2005-09-29  Matthias Clasen  <mclasen@redhat.com>
1769
1770         * gtk/gtkbutton.c (gtk_button_set_image): Check arguments.  (#317491,
1771         Paolo Borelli)
1772
1773         * gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
1774         grab shadowed.  (#317332)
1775
1776 2005-09-29  Tor Lillqvist  <tml@novell.com>
1777
1778         * gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.
1779
1780 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
1781
1782         * tests/autotestfilechooser.c (test_reload_sequence): Oops, return
1783         if the unmap test fails.
1784         (test_reload_sequence): Use gtk_widget_show_now() instead of
1785         gtk_widget_show() for the dialog.
1786         Thanks to Tim Janik for noticing these.
1787
1788 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
1789
1790         * tests/testcellrenderertext.c: New file with a set of tests for
1791         GtkCellRendererText.  The idea is to run a text renderer through
1792         most of its interesting property values to see that it works
1793         correctly.
1794
1795         * tests/Makefile.am: Added testcellrenderertext.
1796
1797         * gtk/gtkfilechooserdefault.c (load_set_model): Mark the
1798         entry/exit of this function for profiling.
1799         (gtk_file_chooser_default_style_set): Mark the start/end of the
1800         calls to the parent class and the the signal emission for profiling.
1801
1802 2005-09-29  Tor Lillqvist  <tml@novell.com>
1803
1804         * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
1805         passed to bindtextdomain() which isn't UTF-8-aware, so convert to
1806         system codepage using g_win32_locale_filename_from_utf8().
1807         (#317457, Kazuki Iwamoto)
1808
1809 2005-09-28  Matthias Clasen  <mclasen@redhat.com>
1810
1811         * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms 
1812         here. (#317039, Paolo Borelli)
1813
1814         * gtk/gtktexttag.h: 
1815         * gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
1816         to make this function work as boxed copy function.  (#317455,
1817         Gustavo Carneiro)
1818
1819         * gtk/gtkclipboard.c (request_image_received_func): Don't unref
1820         NULL.  (#316828, Tor Lillqvist)
1821
1822 2005-09-28  Tor Lillqvist  <tml@novell.com>
1823
1824         * modules/input/imime.c: Include <config.h>. (#317444, Kazuki
1825         Iwamoto)
1826
1827 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
1828
1829         Don't reload the current folder unnecessarily on ::map().
1830
1831         * gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
1832         the reloading state.
1833         (struct _GtkFileChooserDefault): Added a "reload_state" field.
1834
1835         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
1836         Initialize impl->reload_state.
1837         (gtk_file_chooser_default_map): Check the impl->reload_state; load
1838         a default folder if no folder has been set, or reload the current
1839         one only if we had been unmapped first.
1840         (gtk_file_chooser_default_update_current_folder): Set the
1841         reload_state to RELOAD_HAS_FOLDER.
1842         (gtk_file_chooser_default_unmap): Implement, and set the
1843         reload_state to RELOAD_WAS_UNMAPPED.
1844         (shortcuts_model_create): Don't call shortcuts_add_bookmarks()
1845         here; they'll get (re)loaded on ::map() anyway.
1846
1847         * gtk/gtkfilechooserwidget.c
1848         (gtk_file_chooser_widget_constructor): Don't set a default folder here.
1849
1850         * tests/autotestfilechooser.c (test_action_widgets): Don't take in
1851         a dialog; build it ourselves.
1852         (test_reload): New test to ensure that we don't load the default
1853         folder more than once, and that we reload it when
1854         unmapping/remapping.
1855         (get_impl_from_dialog): New utility function.
1856         (test_widgets_for_current_action): Use get_impl_from_dialog().
1857
1858 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
1859
1860         * gtk/gtkfilechooserdefault.c
1861         (gtk_file_chooser_default_constructor): Mark the entry/exit of
1862         this function for profiling.
1863         (check_icon_theme): Likewise.
1864         (change_icon_theme): Likewise.
1865         (settings_notify_cb): Likewise.
1866         (gtk_file_chooser_default_screen_changed): Likewise.
1867         (update_chooser_entry): If the selection is empty, clear the file
1868         name entry only if we are in CREATE_FOLDER mode.  In SAVE mode,
1869         nothing will be selected when the user starts typeahead in the
1870         treeview, and we don't want to clear the file name entry in that
1871         case --- the user could be typing-ahead to look for a folder name.
1872         Fixes bug #308332, patch by Jürg Billeter.
1873
1874 2005-09-27  Matthias Clasen  <mclasen@redhat.com>
1875
1876         * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
1877         Pop below the entry if there's more free space below the entry
1878         than above.  (#316948, Tommi Komulainen)
1879
1880 2005-09-26  Federico Mena Quintero  <federico@ximian.com>
1881
1882         Do not create the save mode-specific widgets in the open modes, so
1883         that we don't carry their baggage around.
1884
1885         * gtk/gtkfilechooserdefault.c
1886         (gtk_file_chooser_default_constructor): Don't create the
1887         save_widgets here.
1888         (save_widgets_create): Set the impl->save_widgets directly here,
1889         instead of passing the widgets back to the caller.  Also, pack
1890         them into the impl's box.
1891         (update_appearance): Create or destroy the save widgets as
1892         appropriate.  Set the action of the save_file_name_entry here.
1893         (shortcuts_add_current_folder): Set the active item in the
1894         save_folder_combo only if it exists.
1895         (gtk_file_chooser_default_set_property): Don't set the action of
1896         the save_file_name_entry here.
1897         (gtk_file_chooser_default_update_current_folder): Set the base
1898         folder of the save_file_name_entry only if the entry exists.
1899         (shortcuts_drag_data_received_cb): Cast the selection_data->data
1900         to (const char *) since that's what shortcuts_drop_uris() expects.
1901         (file_list_drag_data_received_cb): Likewise, for
1902         g_uri_list_extract_uris().
1903
1904 2005-09-26  Tor Lillqvist  <tml@novell.com>
1905
1906         * gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
1907         the shaped flag here, too. (#316871)
1908         (gdk_window_shape_combine_region): Currently unimplemented, so
1909         don't do anything to the shaped flag here.
1910
1911 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
1912
1913         Fix #316871, reported by Dan Winship:
1914         
1915         * gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.
1916
1917         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask) 
1918         (gdk_window_shape_combine_region): Set it here.
1919
1920         * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
1921         remove the child area for shaped windows.
1922
1923 2005-09-23  Matthias Clasen  <mclasen@redhat.com>
1924
1925         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
1926         Don't leak expander pixbufs.  (#316946, Tommi Komulainen)
1927
1928 2005-09-22  Michael Natterer  <mitch@imendio.com>
1929
1930         Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
1931         consistent with GTK+ terminology:
1932
1933         * gtk/gtkcellrendererkeys.[ch]
1934         * tests/testkeys.c: removed...
1935
1936         * gtk/gtkcellrendereraccel.[ch]
1937         * tests/testaccel.c: ...and added.
1938
1939         * gtk/Makefile.am
1940         * gtk/gtk.h
1941         * gtk/gtk.symbols
1942         * tests/Makefile.am: changed accordingly.
1943
1944 2005-09-22  Matthias Clasen  <mclasen@redhat.com>
1945
1946         * gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
1947         for the grab-broken-event signal, noticed by Damon Chaplin.
1948
1949 2005-09-21  Tor Lillqvist  <tml@novell.com>
1950
1951         * gdk/win32/gdkselection-win32.c (gdk_selection_convert,
1952         gdk_text_property_to_text_list_for_display,
1953         gdk_text_property_to_utf8_list_for_display,
1954         gdk_win32_selection_add_targets,
1955         _gdk_win32_selection_convert_to_dib): Free return value from
1956         gdk_atom_name().
1957         (gdk_text_property_to_text_list_for_display): Drop GError variable
1958         that isn't actually used after being set.
1959
1960 2005-09-20  Johan Dahlin  <jdahlin@async.com.br>
1961
1962         * gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in 
1963         documentation.
1964
1965 2005-09-20  Tor Lillqvist  <tml@novell.com>
1966
1967         * gdk/win32/gdkselection-win32.c
1968         (gdk_selection_owner_get_for_display): Do return the correct owner
1969         for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
1970         a window GDK knows about). The reason to return NULL seems to have
1971         gone when in the fix for bug #163702 the artificial
1972         GDK_SELECTION_CLEAR event generation was removed from
1973         gdk_selection_send_notify_for_display(). Fixes bug #316552.
1974
1975 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
1976
1977         Avoid unnecessary XkbGetState() calls and XkbStateNotify
1978         events.  (#151555, Søren Sandmann)
1979
1980         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use 
1981         XkbSelectEventDetails() to select XkbStateNotify events
1982         for only the state we care about.
1983
1984         * gdk/x11/gdkprivate-x11.h:
1985         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
1986         the event into the function and update the keymap state from
1987         the state information contained in the event. Adjust all callers.
1988         
1989 2005-09-19  Matthias Clasen  <mclasen@redhat.com>
1990
1991         * gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
1992         in multiple places to avoid segfaults if the index is out of range.  
1993         (#316422, Guillaume Cottenceau)
1994         (gtk_icon_view_set_drag_dest_item): 
1995         (gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
1996         #316424, Guillaume Cottenceau)
1997
1998 2005-09-18  Hans Breuer  <hans@breuer.org>
1999
2000         * gtk/gtktrayicon-win32.c : now handling events by hard-coded 
2001         g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
2002
2003 2005-09-18  Hans Breuer  <hans@breuer.org>
2004
2005         * gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
2006         _gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
2007         * gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
2008         the icon and is blinking with teststatusicon. More to come ...
2009
2010 2005-09-18  Hans Breuer  <hans@breuer.org>
2011
2012         * gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
2013         cause gtkprogressbar.c has #include <config.h> conditionally; less
2014         noise from generated gtk.def
2015         * gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
2016         
2017         * gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
2018         For me it works as well as the *NIX implemenation, that is not at all.
2019
2020         * gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
2021
2022         * gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
2023         only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
2024         back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
2025         again - if compiled properly.
2026
2027         * tests/teststatusicon.c : don't use GNOME icons for testing, but icons
2028         already coming with Gtk+. Makes it compile on win32.
2029
2030 2005-09-18  Guilherme de S. Pastore  <gpastore@cvs.gnome.org>
2031
2032         * README.cvs-commits: fixed some tiny typos
2033
2034 2005-09-16  Tor Lillqvist  <tml@novell.com>
2035
2036         * modules/engines/ms-windows/msw_style.c (draw_extension,
2037         draw_box_gap): Check whether the widget actually is a GtkNotebook
2038         before treating it as such. Drop some unneeded local variables,
2039         use parameter with same information instead. (#316412)
2040
2041 2005-09-15  Federico Mena Quintero  <federico@ximian.com>
2042
2043         * tests/autotestfilechooser.c: Start a set of automated tests for
2044         the file chooser.  The only test in there right now doesn't pass
2045         yet.  It specifies the intended behavior of the first optimization
2046         of a series which I'll do on the file chooser (see
2047         http://primates.ximian.com/~federico/news-2005-09.html#14 for the
2048         details of this optimization).
2049
2050         * tests/Makefile.am: Added autotestfilechooser.c.
2051
2052         * gtk/gtkfilechooserprivate.h (struct
2053         _GtkFileChooserDialogPrivate): Move all the file chooser's private
2054         structures to here, so that they can be accessed by
2055         tests/autotestfilechooser.c:  _GtkFileChooserDialogPrivate,
2056         _GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
2057
2058         * gtk/gtkfilechooserdialog.c: See above.
2059
2060         * gtk/gtkfilechooserwidget.c: See above.
2061
2062         * gtk/gtkfilechooserdefault.c: See above.
2063
2064 Thu Sep 15 15:27:55 2005  Tim Janik  <timj@imendio.com>
2065
2066         * gtk/gtkwindow.c: 
2067         gtk_window_map_event(): new function to work around lost unmap requests.
2068         fixes bug #316180.
2069
2070 2005-09-14  Federico Mena Quintero  <federico@ximian.com>
2071
2072         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
2073         an easy-to-find profiling marker when starting to create a file
2074         chooser.
2075         (browse_files_model_finished_loading_cb): Likewise, for when the
2076         chooser is finished loading.
2077
2078 2005-09-14  Tristan Van Berkom <tvb@cvs.gnome.org>
2079
2080         * gtk/gtkcolorbutton.c: Check "color" argument in 
2081         gtk_color_button_set_color ()
2082
2083 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
2084
2085         * gtk/gtklabel.c (gtk_label_get_type): 
2086         * gtk/gtkbutton.c (gtk_button_get_type): 
2087         * gtk/gtkwindow.c (gtk_window_group_get_type): No point in 
2088         using a mem chunk for window groups, buttons, labels.
2089
2090         * gtk/updateiconcache.c (foreach_remove_func): Fix
2091         a use-after-free bug.  (#316256, Alexander Nedotsukov)
2092
2093 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
2094
2095         * gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2096
2097         * gdk/*.c: Various cleanups.  (#315359, Kjartan Maraas)
2098         
2099 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
2100
2101         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
2102         Let GDK_Return pass through in some more cases.
2103
2104         * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
2105         activating the entry. 
2106
2107         * gtk/gtkiconview.c (gtk_icon_view_class_init):
2108         (gtk_icon_view_get_dest_item_at_pos):  Fix typos in the 
2109         docs.  (#316008, #316027, #316121, Guillaume Cottenceau)
2110
2111         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
2112         (#316001, Guillaume Cottenceau)
2113
2114         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
2115         mistake in the docs.  (#315993, Guillaume Cottenceau)
2116
2117         * tests/testentrycompletion.c (create_simple_completion_model): Add
2118         some strings containing multibyte characters.
2119
2120         * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix): 
2121         Fix prefix insertion for multibyte characters.  (#316095,
2122         Tommi Komulainen)
2123
2124         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): 
2125         * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
2126         return NULL if the widget is not realized.  (#316023,
2127         Guillaume Cottenceau)
2128
2129 2005-09-11  Matthias Clasen  <mclasen@redhat.com>
2130
2131         * gdk/gdk.symbols: 
2132         * gdk/gdkproperty.h: 
2133         * gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string): 
2134         New function to avoid pointless strdups when creating atoms
2135         from static strings.  
2136
2137         * gdk/x11/*.c:
2138         * gtk/*.c:  Use gdk_atom_intern_static_string() where 
2139         appropriate.
2140
2141 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2142
2143         * gtk/gtkcellrendererkeys.h: 
2144         * gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
2145         and editing accelerators, a port of EggCellRendererKeys .
2146
2147         * gtk/gtk.symbols:
2148         * gtk/gtk.h:
2149         * gtk/Makefile.am: Add the keys cell renderer.
2150
2151         * tests/Makefile.am: 
2152         * tests/testkeys.c: Test GtkCellRendererKeys
2153
2154 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2155
2156         Make it possible to determine if a key event is for a
2157         modifier key:
2158         
2159         * gdk/x11/gdkprivate-x11.h: 
2160         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): 
2161         New function to determine if a keycode is mapped to a modifier.
2162         (get_xkb): Get the modmap.
2163
2164         * gdk/x11/gdkevents-x11.c (translate_key_event): Set the 
2165         is_modifier bit by calling _gdk_keymap_key_is_modifier().
2166
2167         * gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
2168         bit.
2169
2170 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2171
2172         * gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an 
2173         unused variable, noticed by Kjartan Maraas.
2174
2175 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2176
2177         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): 
2178         Make drag reordering work properly for columns other than the
2179         first.  (#315054, Dan Winship)
2180         
2181         * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle 
2182         invalid fontnames better. (#136926, Michael R. Walton)
2183         
2184         Stop cursor blinking in non-editable regions of a text view.
2185         (#311508, Torbjörn Andersson)
2186         
2187         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): 
2188         (cursor_blinks): Take editability into account when deciding
2189         whether the cursor blinks.
2190         (gtk_text_view_button_release_event): 
2191         (gtk_text_view_move_cursor_internal): Update cursor blinking here.
2192
2193         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing): 
2194         Use connect_after to connect to the focus_out event. This
2195         ensures that the entry has already stopped blinking by the time
2196         we emit the edited signal.  (#315229, Thomas Leonard)
2197
2198         * tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
2199
2200         * gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
2201         unsigned ints to -1.  (#315481, Kjartan Maraas)
2202
2203         * gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
2204         to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
2205         (#314473, Stanislav Brabec)
2206
2207 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2208
2209         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
2210         memory handling.  (#314975, Torsten Schoenfeld)
2211
2212         * gtk/gtkiconview.c (gtk_icon_view_class_init): 
2213         * gtk/gtkfilesel.c (gtk_file_selection_class_init): 
2214         * gtk/gtkcombobox.c (gtk_combo_box_class_init): 
2215         * gtk/gtklabel.c (gtk_label_class_init): 
2216         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
2217         Stylistic improvements and clarifications for some blurbs. 
2218         (#315520, Clytie Siddall)
2219
2220 2005-09-09  Tor Lillqvist  <tml@novell.com>
2221
2222         * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
2223         display name. There is only one GdkDisplay on Win32, and
2224         constructing the display name isn't entirely trivial, so cacheing
2225         is probably worth it. For instance GIMP calls this function a lot.
2226         (gdk_display_open): Call gdk_display_get_name() to prime the
2227         cached name.
2228         (gdk_display_get_n_screens, gdk_display_get_screen,
2229         gdk_display_get_default_screen): Verify parameter correctness like
2230         the X11 backend does.
2231
2232         * gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
2233         Return a freshly allocated string, as the API specifies. Fixes a
2234         heap corruption problem that caused random errors and crashes in
2235         GIMP, for instance.
2236
2237 2005-09-07  Matthias Clasen  <mclasen@redhat.com>
2238
2239         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
2240         Make C-u commit and restart hex input if we are already in a
2241         hex sequence.
2242
2243 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
2244
2245         * gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
2246         (_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
2247         if they are mapped to the same modifier.
2248
2249         * gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
2250         to gtkstatusicon.c and gtktrayicon-x11.c
2251
2252         * gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
2253         default accel mod mask.
2254
2255         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): 
2256         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
2257         Don't use GDK_ALT_MASK.
2258
2259         * gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
2260
2261 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
2262
2263         Add support for extra virtual modifiers:  (#85780, Owen Taylor)
2264         
2265         * tests/testgtk.c (create_key_lookup): Add tests for extra virtual
2266         modifiers.
2267
2268         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
2269         Mod2 - Mod5 and against Super, Hyper, Meta.
2270
2271         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
2272         * gtk/gtkaccelgroup.c (gtk_accelerator_parse) 
2273         (gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
2274
2275         * gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a 
2276         modmap to maintain the information which X modifiers map to
2277         virtual modifiers.
2278         (get_xkb): Set up the modmap from the XKB tables.
2279         (update_keymaps): Set up the modmap from the information returned
2280         by XGetModifierMapping in the non-XKB case.
2281
2282         * gdk/x11/gdkprivate-x11.h: 
2283         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New 
2284         function to set the virtual modifiers in the state.
2285
2286         * gdk/x11/gdkevents-x11.c (translate_key_event): Call 
2287         _gdk_keymap_add_virtual_modifiers here.
2288
2289         * gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super, 
2290         Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
2291         for GDK_MOD1_MASK.
2292
2293 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
2294
2295         * gtk/gtkaction.c (connect_proxy): Set the label of a button
2296         if it has no child.  (#315253, John Finlay)
2297
2298 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
2299
2300         * gtkimcontextsimple.h: Add a modifiers_dropped bit
2301
2302 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
2303
2304         * gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
2305         on destroy to avoid problems when they are called on a destroyed
2306         widget.  (#315135, John Cupitt)
2307         
2308         * gtk/gtkentry.c (gtk_entry_class_init):
2309         * gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
2310         for Ctrl-Shift-A to unselect all.  (#309301, Kathy Fernandes)
2311
2312         * gtk/gtkimcontextsimple.c: Rework the Unicode hex input
2313         code. Now we only steal a single key combination, Ctrl-Shift-U,
2314         instead of sixteen. 
2315         A hex Unicode sequence must be started with Ctrl-Shift-U, followed
2316         by a sequence of hex digits entered with Ctrl-Shift still held.
2317         Releasing one of the modifiers or pressing space while the modifiers
2318         are still held commits the character. It is possible to erase
2319         digits using backspace.
2320         As an extension to the above, we also allow to start the sequence
2321         with Ctrl-Shift-U, then release the modifiers before typing any
2322         digits, and enter the digits without modifiers.
2323         (#82011, Owen Taylor)
2324         
2325 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
2326
2327         * gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
2328         we still need to deliver the destroy event.  (#314980, Chris Lahey)
2329
2330         * gtk/gtktextview.c (gtk_text_view_key_press_event): Reset 
2331         im context before committing \n or \t.
2332
2333 2005-09-02  Alexander Larsson  <alexl@redhat.com>
2334
2335         * gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
2336         (shortcuts_activate_volume):
2337         Handle base_path being null in the rest of the cases (#310270)
2338
2339 2005-09-02  Tor Lillqvist  <tml@novell.com>
2340
2341         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
2342         cursor position also in root window coordinates. Prune out
2343         superfluous WM_MOUSEMOVE events even earlier, based on root window
2344         coordinates. Windows sends WM_MOUSEMOVE messages after a new
2345         window has ben mapped below the cursor even if the mouse doesn't
2346         move. We used to generate GDK_MOTION_NOTIFY in these cases. This
2347         confused at least gtk_menu_motion_notify(). (#314995)
2348
2349         * gtk/gtkintl.h: No need to include config.h here. It caused
2350         warnings about GTK_LOCALEDIR being redefined on Win32 when
2351         compiling files where gtkintl.h is included after gtkprivate.h
2352         (which #undefines and re-#defines GTK_LOCALEDIR on Win32).
2353
2354         * gtk/gtkplug.c: Include config.h.
2355
2356 2005-09-01  Matthias Clasen  <mclasen@redhat.com>
2357
2358         * gtk/gtkfilesystemunix.c: Pass statbufs down to 
2359         xdg_mime_get_mime_type_for_file() where possible, to avoid
2360         useless re-stating.  
2361         
2362         * gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
2363         typo.  (#314921, Guillaume Cottenceau)
2364
2365         * gdk/*.c: Intern some more strings.
2366         * gtk/gtkintl.h: 
2367         * gtk/*.c: Define an I_() macro and use it instead of the 
2368         bulky g_intern_static_string().
2369
2370 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
2371
2372         * gtk/gtkbindings.c (binding_signal_new): Intern the signal name
2373         instead of copying it.
2374
2375         * gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.
2376
2377         * gtk/*.c: Also intern static strings passed to 
2378         g_object_set_data().
2379
2380         * gdk/Makefile.am: 
2381         * gtk/Makefile.am: Intern type names in code generated by 
2382         glib-mkenums, too.
2383
2384         * gtk/*.c: 
2385         * gdk/x11/*.c: 
2386         * gdk/*.c: Intern type names before registering the type to avoid 
2387         unnecessary copies.
2388
2389         * configure.in: Require GLib 2.9.0
2390
2391 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
2392
2393         * gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
2394         and add icon-size and icon-size-set properties.  (#314172)      
2395
2396         * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
2397         groups across transient parents.  (#312918, Christian Persch)
2398
2399         * gtk/gtktreemodel.c: Some documentation fixes.  (#314882,
2400         Guillaume Cottenceau)
2401
2402         * gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions): 
2403         Fix a typo in the docs.  (#314878, Guillaume Cottenceau)
2404
2405 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
2406
2407         * gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
2408         make C-/ select all and C-\ unselect all.  (#309301,
2409         Kathy Fernandez)
2410
2411         * gtk/gtkimcontextsimple.c: Change the compose sequence for
2412         soft hyphen to be multi_key-minus-minus-space, and add
2413         compose sequences multi_key-minus-minus-period and 
2414         multi_key-minus-minus-minus for en dash and em dash.
2415         (#172653, Christian Lohmaier)
2416
2417         * gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
2418         code.  (#313946, Christian Persch)
2419
2420         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
2421         fix for the default value of the "ui" property.
2422
2423 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
2424
2425         * gtk/gtk.symbols: 
2426         * gtk/gtkselection.h:
2427         * gtk/gtkselection.c: Add functions which look for text, image
2428         or uri targets in an array of atoms.   (#314089, Mark Wielaard)
2429
2430         * gtk/gtk.symbols: 
2431         * gtk/gtkselection.h:
2432         * gtk/gtkselection.c (gtk_selection_data_targets_include_uri): 
2433         Add a function to check wether targets include uri.  
2434         (#314092, Mark Wielaard)
2435         
2436         * gtk/gtk.symbols: 
2437         * gtk/gtkwindow.h: 
2438         * gtk/gtkwindow.c: Add a deletable property with getter
2439         and setter, to control the close button in the window 
2440         frame.  (#59718, Havoc Pennington)
2441
2442 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
2443
2444         * gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
2445         to the arrow keys for menu navigation.  (#162825, Carl Worth)
2446
2447         * gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes
2448
2449         * gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.
2450
2451         * gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock): 
2452         * gtk/gtkimage.c (gtk_image_new_from_stock): Don't
2453         refer to nonexisting stock ids.
2454
2455         * gtk/gtktextview.c (popup_targets_received): 
2456         * gtk/gtkentry.c (popup_targets_received): Construct
2457         the "Select All" menuitem from stock.
2458
2459         * gtk/stock-icons/stock_select_all_{16,24}.png:
2460         * gtk/stock-icons/Makefile.am: 
2461         * gtk/gtkiconfactory.c:
2462         * gtk/gtkstock.h: 
2463         * gtk/gtkstock.c: Add a "Select All" stock item.  (#78545,
2464         Calum Benson)
2465
2466         * gtk/gtktrayicon.c: Add a pointer to the spec.
2467
2468         * gtk/gtkstatusicon-x11.c: Add docs.
2469
2470         * gtk/gtkstatusicon.h: Fix a typo.
2471
2472         Add a cross-platform "tray icon" API, by
2473         porting EggStatusIcon/EggTrayIcon (#105101)
2474         
2475         * gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
2476         displays an icon in a notification area.
2477
2478         * gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
2479         X11, using GtkTrayIcon.
2480
2481         * gtk/gtktrayicon.h: 
2482         * gtk/gtktrayicon.c: An implementation of the freedesktop.org
2483         system tray specification, not public API.
2484
2485         * gtk/gtk.symbols: Add new exported functions.
2486
2487         * gtk/gtk.h: Include gtkstatusicon.h.
2488
2489         * gtk/Makefile.am: Add new files.
2490
2491         * tests/Makefile.am:
2492         * tests/teststatusicon.c: Test for GtkStatusIcon.
2493
2494 2005-08-29  Christopher Aillon  <caillon@redhat.com>
2495
2496         * gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
2497         and GTK_STOCK_DISCONNECT
2498         
2499 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
2500
2501         * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify): 
2502         Use XFixesChangeSaveSet if available.  (#314682)
2503
2504         * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
2505         was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
2506
2507 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
2508
2509         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
2510         accidentally leftover duplicate pixbuf creation.  (#314700,
2511         Kjartan Maraas)
2512
2513         * gtk/gtksettings.c (settings_update_cursor_theme): Don't 
2514         leak the cursor theme name.  (#314693, Kjartan Maraas)
2515
2516         * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free 
2517         state.children in all cases.  (#313862, Kjartan Maraas)
2518
2519 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
2520
2521         * po/POTFILES.in, po-properties/POTFILES.in:
2522         Add gdk/gdkscreen.c
2523
2524 2005-08-27  Matthias Clasen  <mclasen@redhat.com>
2525
2526         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
2527         value of the ui property. (#314532, Yong Wang)
2528
2529         * gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
2530         when G_MAXLONG is passed as length.  
2531
2532 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
2533
2534         * gtk/updateiconcache.c: Add a separate --ignore-theme-index option
2535         to avoid overloading --force.  (JP Rosevaar)
2536
2537 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
2538
2539         * configure.in: Bump version to 2.9.0
2540
2541         * gdk/gdk.symbols: 
2542         * gdk/gdkscreen.h: 
2543         * gdk/gdkscreen.c: Make the GdkScreen font options api
2544         public, and add properties GdkScreen::font-options and
2545         GdkScreen::resolution.  (#314004)
2546
2547         * gdk/gdkpango.c:
2548         * gtk/gtksettings.c:
2549         * gtk/gtkwidget.c: Adjust all callers.
2550         
2551         * gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
2552         * gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
2553         * gdk/gdkscreen.c: Include gdkintl.h.
2554
2555         * gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
2556         variable warning, pointed out by Colin Walters. (#314585)
2557
2558 2005-08-26  Tor Lillqvist  <tml@novell.com>
2559
2560         * gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
2561         printouts.
2562         (gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)
2563
2564 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
2565
2566         * gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
2567         of week_start.  (#314473, JP Rosevaar)
2568
2569 2005-08-25  Thomas Fitzsimmons  <fitzsim@redhat.com>
2570
2571         * gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
2572         lock.  (#314533, Thomas Fitzsimmons)
2573
2574 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
2575
2576         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
2577         NULL gracefully.  (#314523, Ed Catmur)
2578
2579 2005-08-25  Owen Taylor  <otaylor@redhat.com>
2580
2581         * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): 
2582         Handle theme == NULL.
2583
2584 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
2585
2586         * gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
2587         y offset into account when positioning the popup.  (#314470,
2588         Christian Persch)
2589
2590 2005-08-25  Owen Taylor  <otaylor@redhat.com>
2591
2592         * gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
2593         as instance_init, not base_init! (#314452, Fix from Frederic
2594         Crozat, reported by Joe Marcus Clarke). Trivial cleanup: use -1.
2595         rather than 1 for a negative flag value.
2596
2597 2005-08-24  Owen Taylor  <otaylor@redhat.com>
2598
2599         * gdk/gdkpango.c (draw_error_underline): Add a note about
2600         cut-and-paste between here and Pango.
2601
2602 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
2603
2604         * === Released 2.8.2 ===
2605
2606         * gtk/gtkclipboard.c (request_image_received_func): Use the correct
2607         callback for image/gif, and also try image/bmp.  (#314086,  Mark 
2608         Wielaard)
2609
2610         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon): 
2611         Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev.  (#314382,
2612         Sebastien Bacher)
2613         
2614         * NEWS: Updates
2615
2616         * gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
2617         and cursor settings get propagated down to the screen initially.
2618         Pointed out by Frederic Crozat.
2619
2620         * gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
2621         message if the screen is NULL. Noticed by Kjartan Maraas.
2622
2623 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
2624
2625         * Bump version
2626
2627         * === Released 2.8.1 ===
2628
2629         * NEWS: Updates
2630         
2631 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
2632
2633         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
2634         against lazy filterers which return values other than TRUE or
2635         FALSE from their visible func.  (#314335)
2636
2637 2005-08-23  Owen Taylor  <otaylor@redhat.com>
2638
2639         Fix for #314004, reported by Michael Reinsch:
2640
2641         * gdk/gdk.symbols:
2642         * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
2643         Add gdk_screen_get/set_resolution_libgtk_only()
2644
2645         * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
2646         the options for the screen on the newly created context.
2647
2648         * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c: 
2649         Move font options and dpi code from gtkwidget.c to gtksettings.c, set
2650         the font options on the screen.
2651
2652         * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
2653         the font options from the screen and set them on the context.
2654
2655 2005-08-23  Kristian Rietveld  <kris@gtk.org>
2656
2657         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
2658         bother inserting new rows in a level with a zero refcount and
2659         immediately free the level. (Fixes #312350, reported by Markku Vire).
2660
2661 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
2662
2663         * gtk/updateiconcache.c: Complain when there is no index.theme file
2664         in the specified directory, unless --force is used. Also add an
2665         --index-only option to create caches without image data.
2666
2667         * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
2668         C99ism.  (#314262, Robert Jeff Mitchell)
2669         
2670 2005-08-22  Manish Singh  <yosh@gimp.org>
2671
2672         * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.
2673
2674         * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.
2675
2676 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
2677
2678         * gtk/gtkwindow.c (gtk_window_client_event): 
2679         * gtk/gtkicontheme.c (ensure_valid_themes) 
2680         (_gtk_icon_theme_check_reload): Implement a clientmessage based
2681         scheme for makeing sure that all GTK+ applications notice if an
2682         icon theme has been updated. This should prevent multiple versions
2683         of an icon theme cache to be mapped in memory at the same time,
2684         which can cause excessive memory consumption.  (#313156, Chris 
2685         Lahey)
2686
2687 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
2688
2689         * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
2690         regarding icon theme changes.
2691
2692         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
2693         pixbufs which are backed by the mmapped memory of an icon cache,
2694         increase the refcount of the icon cache, so that the memory is not
2695         munmapped away underneath the pixbuf upon icon theme changes.  
2696         (#314170, Kjartan Maraas)
2697
2698         * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order 
2699         to link against Xext.  (#314062)
2700
2701         * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
2702         overruns.  (#314081, Hans Breuer)
2703
2704 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
2705
2706         * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
2707         returned layout must not be modified.
2708
2709 Sat Aug 20 16:12:14 2005  Jonathan Blandford  <jrb@redhat.com>
2710
2711         * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
2712         scroll_to_path if the model changes.
2713
2714         * gtk/gtkiconview.c: (gtk_icon_view_destroy),
2715         (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
2716         (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
2717         we're realized, #312798
2718         (gtk_icon_view_set_model): clear scroll_to_path if the model
2719         changes.
2720
2721 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
2722
2723         * gtk/gtkrange.c (gtk_range_adjustment_changed) 
2724         (gtk_range_adjustment_value_changed):  Don't queue a draw
2725         if the layout has not changed.  (#313991, Benjamin Berg)
2726
2727 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
2728
2729         * gtk/gtktreeitem.c: Remove duplicate lines.  (#313344,
2730         Benoit Carpentier)
2731
2732         * modules/engines/ms-windows/msw_style.c (setup_system_styles): 
2733         Fix a typo. 
2734
2735         * gtk/gtkfilechooserbutton.c (change_icon_theme) 
2736         (model_add_special, model_add_special, model_add_volumes):
2737         Handle pixbuf being NULL without warnings. Also, don't
2738         leak pixbuf references when the icon theme is changed.
2739
2740         * gtk/gtkmain.c (gtk_get_event_widget): Don't access
2741         the user data on destroyed windows, since at best
2742         it can be a stale pointer.  (#313953, Robin Green)      
2743
2744 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
2745
2746         * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
2747         (#313900, Sebastien Bacher)
2748
2749         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
2750         FALSE if the tree is empty.  (#313891, Guillaume Cottenceau)
2751
2752         * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display) 
2753         (xdnd_read_actions, get_client_window_at_coords_recurse): 
2754         Free data returned from XGetWindowProperty. 
2755
2756         * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window) 
2757         Free data returned from XGetWindowProperty.  (313867, Kjartan
2758         Maraas)
2759         
2760         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
2761         children in all cases.  (#313862, Kjartan Maraas)
2762
2763         * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs 
2764         in the per-directory hash, even if they come from the icon cache. 
2765         We tried to avoid that before, but as a result leaked icon data
2766         structs.  (#313852, Kjartan Maraas)
2767
2768 2005-08-18  Matthias Clasen  <mclasen@redhat.com>
2769
2770         * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
2771         signal handlers on destroy, not on finalize.  (#313759, Brett Atoms)
2772
2773 2005-08-15  Owen Taylor  <otaylor@redhat.com>
2774
2775         * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
2776         files for x11/xext. (Jonas Bonn)
2777
2778 2005-08-15  Tor Lillqvist  <tml@novell.com>
2779
2780         * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
2781         inside GTK_NOTE.
2782
2783 2005-08-15  Owen Taylor  <otaylor@redhat.com>
2784
2785         * configure.in: Fix have_base_pc / have_base_x_pc typo.
2786
2787         * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
2788         (#313417, James Andrewartha)
2789
2790         * configure.in: Add fontconfig to X_PACKAGES, since we use it for
2791         FcNameConstant(). (More of #313417)
2792
2793 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
2794
2795         * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
2796         modal dialogs, make sure to inherit the window group from 
2797         the parent, since we don't inherit window groups across
2798         transient parents currently.  (#312918, Christian Persch)
2799
2800         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): 
2801         * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs. 
2802
2803         * gtk/gtkiconview.c (gtk_icon_view_select_path) 
2804         (gtk_icon_view_scroll_to_path): Handle paths of depth 0
2805         gracefully.  (#312796, Jonathan Blandford)
2806
2807         * tests/testtoolbar.c: Add some more tests for menu placement.
2808
2809         * gtk/gtkmenutoolbutton.c (menu_position_func): 
2810         * gtk/gtktoolbar.c (menu_position_func): Improve positioning
2811         of toolbutton menus and of the overflow menu.  (#312937, 
2812         #153870, Christian Persch, Paolo Borelli)
2813
2814 2005-08-15  Tor Lillqvist  <tml@novell.com>
2815
2816         * gtk/updateiconcache.c: Use g_path_get_dirname() instead of
2817         the nonportable <libgen.h> and dirname().
2818
2819 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
2820
2821         * gtk/gtksizegroup.c: Use object data to mark widgets and
2822         groups as visited, so that we avoid constant extra list
2823         traversals. Also allocate quarks in class_init.  (#311618,
2824         Michael Natterer)
2825
2826         * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the 
2827         download location for the hicolor icon theme. (#313475, Olexiy 
2828         Avramchenko)
2829
2830         * gtk/gtkicontheme.c: Remove debug spew. 
2831
2832 2005-08-15  Owen Taylor  <otaylor@redhat.com>
2833
2834         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap): 
2835         * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap): 
2836         * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
2837         Handle pixmap == NULL when checking for a colormap.
2838         (Allin Cottrell).
2839
2840 2005-08-14  Matthias Clasen  <mclasen@redhat.com>
2841
2842         * gtk/updateiconcache.c: Store only one copy of the pixel data
2843         for symlinked icons. To achieve this, maintain a hashtable 
2844         mapping pathnames to pixel data, and share the pixel data for
2845         all symlinks resolving to the same pathname. When writing out
2846         the image data, write out the pixel data only the first time
2847         it is met, and store the offset pointing to the first copy
2848         for use in all later cases.
2849         This reduces the size of the Bluecurve icon cache from 40
2850         to 13MB. (#312972)
2851