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