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