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