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