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