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