]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
Zero out some stack-allocated X structures, to avoid valgrind warnings
[~andy/gtk] / ChangeLog.pre-2-10
1 2006-08-15  Matthias Clasen  <mclasen@redhat.com>
2
3         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd):
4         * gdk/x11/gdkwindow-x11.c (gdk_window_set_decorations):
5         (gdk_window_set_functions): Zero out some stack-allocated
6         X structures, to avoid valgrind warnings about uninitialized
7         memory.  (#349382, David Baron)
8
9 2006-08-14  Emmanuele Bassi  <ebassi@gnome.org>
10
11         * gtk/gtkrecentchooser.c:
12         (gtk_recent_chooser_add_filter),
13         (gtk_recent_chooser_remove_filter),
14         (gtk_recent_chooser_set_filter): Add a check on the
15         filter argument, instead of blindly passing it to
16         underlying implementation.
17
18         * gtk/gtkrecentchoosermenu.c:
19         (gtk_recent_chooser_menu_add_filter),
20         (gtk_recent_chooser_menu_remove_filter),
21         (gtk_recent_chooser_menu_list_filters): Implement
22         these GtkRecentChooser methods, by setting and
23         returning the only GtkRecentFilter object supported
24         by a GtkRecentChooserMenu. (#347856, reported by Rod
25         Butcher)
26
27 2006-08-14  Matthias Clasen  <mclasen@redhat.com>
28
29         * gtk/gtkcombobox.c (gtk_combo_box_remove): Null the
30         cell_view pointer if the internal cell view is removed. 
31         (#348828, Rolando Espinoza La Fuente)
32
33         * gtk/gtkentry.c (gtk_entry_drag_data_received): Don't leak
34         in the non-editable case.  (#350258, Colin Leroy)
35
36 2006-08-10  Michael Emmel  <mike.emmel@gmail.com>
37
38         * gdk/directfb/gdkdrawable-directfb.c
39         Remove gdk_directfb_update_region and calls 
40         * gdk/directfb/gdkwindow-directfb.c
41         Code cleanup 
42         * gdk/directfb/gdkgeometry-directfb.c
43         Fix scroll call to use region
44
45 2006-08-10  Emmanuele Bassi  <ebassi@gnome.org>
46
47         * gtk/gtkrecentchoosermenu.c:
48         (gtk_recent_chooser_menu_finalize): Remove the idle
49         source in ::finalize...
50         
51         (idle_populate_func),
52         (idle_populate_clean_up): ...and reset the idle source
53         id at the end of the idle loop while we hold the GDK mutex
54         lock. (#350605, reported by Wouter Bolsterlee, patch by
55         Chris Wilson)
56
57 2006-08-10  Michael Natterer  <mitch@imendio.com>
58
59         * gdk/quartz/gdkwindow-quartz.c
60         (gdk_window_maximize)
61         (gdk_window_unmaximize)
62         (gdk_window_iconify)
63         (gdk_window_deiconify): don't try to set the state of unmapped
64         windows, call gdk_synthesize_window_state() instead. Also added
65         autorelease pools back, seems they are needed after all.
66
67         * gdk/quartz/gdkwindow-quartz.c (show_window_internal): maximize
68         and iconify windows here if the state says so.
69
70 2006-08-09  Michael Natterer  <mitch@imendio.com>
71
72         * gdk/quartz/gdkwindow-quartz.c (gdk_window_set_geometry_hints):
73         implement MIN_SIZE, MAX_SIZE and RESIZE_INC.
74
75 2006-08-08  Richard Hult  <richard@imendio.com>
76
77         * gtk/gtkdnd-quartz.c: Implement get/set_track_motion.
78         
79 2006-08-08  Richard Hult  <richard@imendio.com>
80
81         * gdk/quartz/gdkevents-quartz.c: (poll_func): Whitespace cleanup.        
82         (synthesize_crossing_events): Add comments and prevent a crash.
83
84 2006-08-08  Michael Natterer  <mitch@imendio.com>
85
86         * gdk/quartz/gdkwindow-quartz.c
87         (gdk_window_maximize)
88         (gdk_window_unmaximize): implement.
89
90         (gdk_window_iconify)
91         (gdk_window_deiconify): remove unneeded autorelease pools.
92
93 2006-08-08  Richard Hult  <richard@imendio.com>
94
95         * gdk/quartz/GdkQuartzView.c: Just expose the minimal region 
96         instead of the whole rect.
97
98         * gdk/quartz/gdkwindow-quartz.c:
99         (gdk_window_quartz_process_all_updates), (gdk_window_update_idle),
100         (gdk_window_impl_quartz_invalidate_maybe_recurse),
101         (gdk_window_impl_quartz_process_updates),
102         (_gdk_windowing_window_destroy): Rework the expose handling so that
103         it works like the X11 backend, using an idle with the right
104         priority instead of relying on quartz to do it.
105         (gdk_window_set_type_hint): Use tornoff instead of submenu as the
106         documentation (and Mitch) suggests.
107
108 2006-08-08  Michael Natterer  <mitch@imendio.com>
109
110         * gdk/quartz/gdkdrawable-quartz.c: some whitespace and indentation
111         cleanup.
112
113         (gdk_quartz_draw_rectangle)
114         (gdk_quartz_draw_arc)
115         (gdk_quartz_draw_polygon)
116         (gdk_quartz_draw_points): for pixel-prefect drawing, stroked
117         coordinates need to go through pixel centers, while filled ones
118         need to go along pixel boundaries. Moved +0.5 adjusting to the
119         if(!filled) branches and added/removed some adjustments where they
120         were wrong.
121
122 2006-08-07  Richard Hult  <richard@imendio.com>
123
124         * gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_points): Don't
125         get and release the context for each point, just once, speeds up
126         drawing many points a lot.
127
128 2006-08-07  Michael Natterer  <mitch@imendio.com>
129
130         * gtk/gtkdnd-quartz.c (gtk_drag_dest_unset): need to disconnect
131         from signals connected in gtk_drag_dest_set() here.
132
133         * gtk/gtkdnd-quartz.c (gtk_drag_dest_set): call gtk_drag_dest_unset()
134         instead of disconnecting the old signal connections here.
135
136 2006-08-07  Emmanuele Bassi  <ebassi@gnome.org>
137
138         * gtk/gtkrecentchooserdefault.c:
139         (_gtk_recent_chooser_default_init): Show non existing
140         resources by default.
141         (recent_meta_data_func): Do not mark non existing
142         resources as insensitive.
143
144         * gtk/gtkrecentchoosermenu.c:
145         (gtk_recent_chooser_menu_init): Show non existing
146         resources by default.
147         (gtk_recent_chooser_menu_create_item): Do not mark
148         non existing resources as insensitive.
149
150 2006-08-06  Matthias Clasen  <mclasen@redhat.com>
151
152         * gdk/x11/gdkkeys-x11.c (gdk_keymap_x11_finalize): Free
153         all XKB data. (#349997, Chris Wilson)
154
155         * gtk/gtkstyle.c (option_menu_get_props): Only get the
156         indicator-size and indicator-spacing style properties
157         for GtkOptionMenu.  (#349859, Benjamin Otte)
158
159         * gtk/gtktreeview.c (gtk_tree_view_set_grid_lines) 
160         (gtk_tree_view_set_enable_tree_lines): Be more careful
161         when creating gcs, also emit change notification.
162         (gtk_tree_view_unrealize): Free the gcs here.  (#349834,
163         Chris Wilson)
164
165         * gtk/gtkcalendar.c (calendar_start_spinning, calendar_timer): 
166         Use G_PRIORITY_DEFAULT_IDLE for the month/year-change timer,
167         so that the caller will have a chance to redraw/resize itself
168         between every change.  (#348824, Federico Mena Quintero, patch
169         by Michael Meeks)
170         
171         * gtk/gtkfontbutton.c (gtk_font_button_update_font_info): 
172         Add a missing initialization.  (#348787, Leonardo Boshell)
173         
174         * configure.in: Use $PKG_CONFIG consistently.  (#348740,
175         Jeremy LainĂ©)
176         
177         * gtk/gtknotebook.c (gtk_notebook_drag_motion): Don't allow
178         dragging a notebook tab to one of its children.  (#348626,
179         Benjamin Otte)
180         (gtk_notebook_drag_motion): Don't accept drops on 
181         arrows.  (#348706, Benjamin Otte)
182
183         * tests/testnotebookdnd.c: Test more corner cases.
184
185 2006-08-05  Matthias Clasen  <mclasen@redhat.com>
186
187         * docs/tutorial/gtk-tut.sgml: Remove outdated lists of
188         authors and maintainers.  (#348538, Owen Taylor)
189
190         * gtk/gtkentry.c:
191         * gtk/gtkentryprivate.h: Export gtk_entry_reset_im_context
192         privately.
193         
194         * gtk/gtkentrycompletion.c (gtk_entry_completion_action_button_press): 
195         * gtk/gtkentry.c (gtk_entry_completion_key_press): Reset the
196         entry's im context here.  (#348478, Nguyen Thai Ngoc Duy, Christian
197         Persch) 
198
199         * gtk/gtktextview.c (gtk_text_view_style_set): Create new
200         PangoContexts and set them on the layout, to catch changes in
201         font options.  (#348278, Behdad Esfahbod)
202
203         * gtk/gtkstyle.c (gtk_default_draw_flat_box): Add a 
204         missing initialization.  (#349863, Benjamin Berg)
205
206         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_reorder): 
207         Protect against tree_view being NULL.  (#348652, Patrick K. O'Brian,
208         Chris Wilson)
209
210 2006-08-03  Emmanuele Bassi  <ebassi@gnome.org>
211
212         * gtk/gtkrecentchoosermenu.c:
213         (set_recent_managet), (gtk_recent_chooser_menu_populate),
214         (idle_populate_func), (idle_populate_clean_up),
215         (manager_changed_cb): Lazily populate the menu when creating
216         it and after the manager emits the "changed" signal; this
217         fixes the initial bad placing of the GtkRecentChooserMenu
218         widget when its set as the menu of a GtkMenuToolButton.
219
220         (gtk_recent_chooser_menu_map),
221         (gtk_recent_chooser_menu_class_init): Remove the ::map method
222         override, since it's not needed anymore.
223
224 2006-08-03  Michael Natterer  <mitch@imendio.com>
225
226         * gtk/gtkrc.c (gtk_rc_parse_assignment): reset scanner config to
227         default values while checking if an expression(foobar) follows,
228         because if no expression follows the scanner's "next token" must
229         be usable for the caller of this function (fixes bug #349552).
230
231 2006-08-03  Michael Natterer  <mitch@imendio.com>
232
233         * gtk/gtkstyle.c: removed the "widget &&" part from
234         "widget && GTK_IS_FOO (widget)" checks.
235
236 2006-07-13  Michael Emmel  <mike.emmel@gmail.com>
237
238         * gdk/directfb/gdkwindow-directfb.c
239         Remove unused call to GetPosition 
240
241 2006-07-31  Richard Hult  <richard@imendio.com>
242
243         * gdk/quartz/gdkdrawable-quartz.c: (gdk_quartz_draw_drawable):
244         * gdk/quartz/gdkwindow-quartz.c:
245         (gdk_window_impl_quartz_begin_paint_region): Patch from Erik van
246         Pienbroek to implement drawing bg_pixmaps (#348145).
247
248 2006-07-29  Richard Hult  <richard@imendio.com>
249
250         * gdk/quartz/gdkcolor-quartz.c (gdk_colormap_alloc_colors): Always
251         set success to TRUE.
252         (gdk_color_change): Implement.
253
254         * gdk/quartz/GdkQuartzWindow.c
255         ([GdkQuartzWindow -canBecomeKeyWindow]): Add comment.
256
257         * gdk/quartz/gdkevents-quartz.c (gdk_screen_get_setting): Make the
258         default font a bit smaller until we have made this get the system
259         setting.
260
261         * gdk/quartz/gdkwindow-quartz.c (gdk_window_set_type_hint): Enable
262         shadows for the right window types.
263
264         * gdk/quartz/gdkprivate-quartz.h:
265         * gdk/quartz/gdkgc-quartz.c:
266         * gdk/quartz/gdkdrawable-quartz.c:
267         * gdk/quartz/gdkcolor-quartz.c: Expose the CGContext functions,
268         update callers.
269
270         * gdk/quartz/gdkmain-quartz.c: (_gdk_windowing_init): No need to
271         get the current process ID, use the right constant instead.
272
273 2006-07-28  Emmanuele Bassi  <ebassi@gnome.org>
274
275         * gtk/gtkrecentmanager.c (gtk_recent_manager_init): Add the
276         timeout for polling the file; change the default polling
277         delta to 2000 msec.
278
279 2006-07-27  Michael Natterer  <mitch@imendio.com>
280
281         * gdk/x11/gdkwindow-x11.c (gdk_window_get_type_hint): cast the
282         return value of XGetWindowProperty() correctly so we don't return
283         garbage type hints. Pointed out by Tommi Komulainen, patch taken
284         from https://maemo.org/bugzilla/show_bug.cgi?id=724
285
286 2006-07-27  Matthias Clasen  <mclasen@redhat.com>
287
288         * gtk/gtksettings.c (gtk_settings_finalize): Move the
289         _gtk_rc_context_destroy call to the right spot.  (#348096,
290         Chris Wilson)
291
292 2006-07-24  Richard Hult  <richard@imendio.com>
293
294         * gdk/quartz/gdkevents-quartz.c (gdk_screen_get_setting): Implement
295         getting the double click threshold.
296
297 2006-07-24  Richard Hult  <richard@imendio.com>
298
299         * gdk/quartz/gdkwindow-quartz.c (gdk_window_set_type_hint): Set the
300         window level depending on the type hint.
301
302         * gdk/quartz/gdkevents-quartz.c (gdk_keyboard_grab,
303         pointer_ungrab_internal): Only break the grab if the new window is
304         a different one.
305         (gdk_event_translate): Catch the case where the entire app loses 
306         focus and break any grabs. Only do implicit grabs when the event
307         mask has both press and release.
308
309         * gdk/quartz/gdkkeys-quartz.c (translate_keysym):
310         * gdk/quartz/gdkselection-quartz.c:
311
312         * gdk/quartz/GdkQuartzWindow.c
313         ([GdkQuartzWindow -windowDidResignKey:]): Use this to update the
314         focus window instead of resignMain, fixes the case where other apps
315         uses focus follows mouse (like the terminal can).
316
317 2006-07-23  Matthias Clasen  <mclasen@redhat.com>
318
319         * configure.in: Bump version
320         
321         * === Released 2.10.1 ===
322
323         *  NEWS: Updates
324
325         * gtk/gtkstyle.c (gtk_default_draw_box_gap): Draw
326         gaps on the left/right properly.  (#348134, Benjamin Otte)
327
328         * gtk/gtkprintsettings.c (gtk_print_settings_get_page_ranges):
329         Fix a memory leak.  (#348424, Carlos Garcia Campos)
330
331 2006-07-21  Matthias Clasen  <mclasen@redhat.com>
332
333         * gtk/gtkrc.h:
334         * gtk/gtkrc.c (_gtk_rc_context_destroy): New function to
335         destroy an rc context.
336
337         * gtk/gtksettings.c (gtk_settings_finalize): Destroy the rc context.
338         (gtk_settings_get_for_screen): Unref the settings when the screen
339         goes away. (#348096, Chris Wilson)
340
341 2006-07-21  Richard Hult  <richard@imendio.com>
342
343         * gdk/quartz/gdkgc-quartz.c: (gdk_quartz_gc_get_values),
344         (gdk_quartz_gc_set_values), (_gdk_windowing_gc_copy),
345         (gdk_gc_get_screen): Implement.
346
347         * gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_back_pixmap):
348         Implement.
349
350 2006-07-21  Matthias Clasen  <mclasen@redhat.com>
351
352         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_get_preedit_string): 
353         0-terminate outbuf in all cases.  (#348227, Nguyen ThĂ¡i Ngoc Duy)
354
355 2006-07-21  Michael Natterer  <mitch@imendio.com>
356
357         Enable symbolic colors and color expressions in style
358         properties. Fixes bug #346751.
359
360         * gtk/gtkrc.c (rc_parse_token_or_compound): add GtkRcStyle
361         parameter and replace symbolic colors by color constants.
362
363         (gtk_rc_parse_assignment): likewise. Also support parsing of
364         expressions of the form identifier(compound).
365
366         (gtk_rc_parse_style): pass the GtkRcStyle to
367         gtk_rc_parse_assignment().
368
369         (gtk_rc_parse_statement): pass NULL since we don't have a
370         GtkRcStyle here.
371
372 2006-07-21  Michael Natterer  <mitch@imendio.com>
373
374         * gtk/gtkentrycompletion.c (gtk_entry_completion_finalize):
375         remove accidential 2nd parameter to g_object_unref().
376
377 2006-07-21  Matthias Clasen  <mclasen@redhat.com>
378
379         * gtk/gtkentrycompletion.c (gtk_entry_completion_finalize):
380         Don't leak the action_view.  (#348120, Chris Wilson)
381
382         * gtk/gtknotebook.c (gtk_notebook_paint): Improve drawing
383         of tabs while reordering.  (#348115, Benjamin Otte)
384
385         * gtk/gtkiconview.c (gtk_icon_view_destroy): Don't
386         leak the adjustments.  (#348094, Chris Wilson)
387
388         * gtk/gtknotebook.c (gtk_notebook_stop_reorder): Unset
389         the during_reorder flag.  (#348049, Sven Herzberg, patch
390         by Benjamin Otte)
391
392 2006-07-20  Matthias Clasen  <mclasen@redhat.com>
393
394         * gtk/gtkmenu.c (gtk_menu_destroy): Just remove the scroll
395         timeout here, don't access settings.  (#348095, Chris Wilson)
396
397         * gtk/gtktextlayout.c (gtk_text_layout_set_contexts): Fix
398         messed up refcounting.  (#348090, Chris Wilson)
399
400         * gtk/gtkicontheme.h: 
401         * gtk/gtkicontheme.c (_gtk_icon_theme_ensure_builtin_cache): 
402         Export this privately.
403
404         * gtk/gtkiconfactory.c (render_fallback_image): And call it
405         here to initialize the builtin cache before using it.  (#348063,
406         Diego PettenĂ²)
407
408 2006-07-19  Federico Mena Quintero  <federico@novell.com>
409
410         * tests/autotestfilechooser.c (test_black_box): Argh, initialize
411         "passed"!
412         (set_filename_timeout_cb): Renamed from timeout_cb().
413         (test_confirm_overwrite): New function, test confirmation before
414         overwriting a file in SAVE mode.
415
416 2006-07-20  Michael Natterer  <mitch@imendio.com>
417
418         * gtk/gtkrecentchoosermenu.c (gtk_recent_chooser_menu_finalize):
419         fix typo to make it compile again.
420
421 2006-07-20  Emmanuele Bassi  <ebassi@gnome.org>
422
423         * gtk/gtkrecentchoosermenu.c:
424         (gtk_recent_chooser_menu_finalize): Correctly chain up the
425         finalization vfunc. (#348089, Chris Wilson)
426
427 2006-07-20  Richard Hult  <richard@imendio.com>
428
429         * gdk/quartz/gdkevents-quartz.c: (generate_grab_broken_event):
430         Append the event to the queue instead of using gdk_event_put.
431         (_gdk_quartz_get_mouse_window, find_current_keyboard_window):
432         Handle grabs.
433         (get_event_mask_from_ns_event, create_focus_event)
434         (convert_window_coordinates_to_root, find_window_for_event)
435         (gdk_event_translate): Improve readability (style changes).
436         (gdk_flush, gdk_display_sync, gdk_display_flush)
437         (gdk_event_send_client_message_for_display),
438         (gdk_screen_broadcast_client_message): Remove FIXMEs.   
439         (gdk_screen_get_setting): Reindent.
440         Also move find_child_window_by_point to gdkwindow-quartz.c.
441         
442         * gdk/quartz/gdkwindow-quartz.c:
443         (find_child_window_by_point_helper),
444         (_gdk_quartz_find_child_window_by_point): Move here from 
445         gdkevents-quartz.c
446         (_gdk_windowing_window_get_pointer): Handle destroyed windows and
447         imlement the return value.
448         (_gdk_windowing_window_at_pointer): Implement.
449
450 2006-07-19  Richard Hult  <richard@imendio.com>
451
452         * gtk/gtkdnd-quartz.c (register_types): Reindent.
453         
454         * gtk/gtkclipboard-quartz.c (gtk_clipboard_set_contents): Add
455         autorelease pool.
456
457 2006-07-19  Richard Hult  <richard@imendio.com>
458
459         * gdk/quartz/GdkQuartzWindow.c
460         ([GdkQuartzWindow -windowDidResignMain:]):
461         * gdk/quartz/gdkevents-quartz.c (_gdk_quartz_update_focus_window):
462         Listen to windowDidResignMain notifications and properly update the
463         focus window when windows are unfocused.
464
465 2006-07-19  Kristian Rietveld  <kris@imendio.com>
466
467         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_init),
468         (gtk_cell_renderer_text_[gs]et_property), (get_layout): add
469         align_set field to keep track whether the align property was
470         set by the user, if not we will use the alignment by looking
471         at the direction of the widget. (#157439)
472
473 2006-07-19  Matthias Clasen  <mclasen@redhat.com>
474
475         * modules/printbackends/file/gtkprintbackendfile.c 
476         (file_printer_get_settings_from_options): Check if option
477         is NULL before using it.  (#348014, Christian Persch)
478
479         * gdk/x11/gdkx.h (gdk_font_lookup_for_display): When looking
480         up a font XID, add the XID_FONT_BIT.  (#348001)
481
482 2006-07-19  Richard Hult  <richard@imendio.com>
483
484         * gdk/quartz/GdkQuartzView.c ([GdkQuartzView -drawRect:]):
485         * gdk/quartz/gdkpixmap-quartz.c (gdk_pixmap_new): Remove unused
486         variables to fix compiler warnings.
487
488 2006-07-19  Richard Hult  <richard@imendio.com>
489
490         * gdk/quartz/gdkwindow-quartz.c (gdk_window_impl_quartz_init)
491         (gdk_window_set_type_hint, gdk_window_get_type_hint):
492         * gdk/quartz/GdkQuartzWindow.c
493         ([GdkQuartzWindow -canBecomeMainWindow])
494         ([GdkQuartzWindow -canBecomeKeyWindow]): Implement type hints and
495         use them to determine which windows should be allowed to become
496         main and key windows.
497
498 2006-07-19  Richard Hult  <richard@imendio.com>
499
500         * gdk/quartz/gdkwindow-quartz.c:
501         (_gdk_windowing_window_get_pointer): Get the position correctly
502         for the root window. Fixes bug #347976, patch by Dave Vasilevsky.
503
504 2006-07-18  Matthias Clasen  <mclasen@redhat.com>
505
506         * NEWS: Updates
507
508         * gtk/gtkdnd.c: Make the ipc widgets GtkWindows instead
509         of GtkInvisibles, and put them in the same window group
510         as the drag source, to avoid interactions between DND
511         and window groups.  (#347277, Michael Wu, analysis by
512         Owen Taylor)
513
514 2006-07-18  John (J5) Palmieri  <johnp@redhat.com>
515
516         * modules/printbackends/cups/gtkprintbackendcups.c:
517         Make bits from my last commit are conditionally compiled
518         only if cups 1.2 is available. 
519
520 2006-07-18  John (J5) Palmieri  <johnp@redhat.com>
521
522         * gtk/gtkprinteroption.h:
523         * gtk/gtkprinteroptionwidget.c:
524         * modules/printbackends/cups/gtkprintbackendcups.c:
525         add GTK_PRINTER_OPTION_TYPE_PICKONE_PASSWORD,
526         GTK_PRINTER_OPTION_TYPE_PICKONE_PASSCODE,
527         GTK_PRINTER_OPTION_TYPE_PICKONE_REAL,
528         GTK_PRINTER_OPTION_TYPE_PICKONE_INT,
529         and GTK_PRINTER_OPTION_TYPE_PICKONE_STRING options to support a subset
530         of the new CUPS 1.2 custom options spec
531
532 2006-07-18  Federico Mena Quintero  <federico@novell.com>
533
534         Fix https://bugzilla.novell.com/show_bug.cgi?id=184875 - make the
535         location entry in Save mode preserve the stuff from
536         set_filename(); it was overwriting it with $cwd.
537
538         This is the same fix for
539         http://bugzilla.gnome.org/show_bug.cgi?id=347066
540
541         * tests/autotestfilechooser.c: (test_black_box): Added black-box
542         test for set_filename() and set_current_name().
543
544         * gtk/gtkfilechooser.c (gtk_file_chooser_get_type): Cast to
545         GClassInitFunc in the call to g_type_register_static_simple(), to
546         avoid a compiler warning.
547
548         * gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault):
549         Added a browse_files_last_selected_name field.  We'll copy the
550         logic from gtkfilesel.c to see when to clear the location entry.
551         (struct _GtkFileChooserDefault): Removed the
552         processing_pending_selections field.
553
554         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
555         Free impl->browse_files_last_selected_name.
556         (pending_select_paths_process): Don't use
557         impl->processing_pending_selections.
558         (update_chooser_entry): Keep track of the name that was last
559         selected in the file list.  We use this to know when to clear the
560         location entry.  The logic is similar to that of
561         gtkfilesel.c:gtk_file_selection_file_changed().  This also lets us
562         get rid of the processing_pending_selections flag.
563         (update_chooser_entry): Clear the entry if we didn't have a
564         selection before.
565         (location_switch_to_filename_entry): Do not set $cwd as the
566         contents of the location entry here...
567         (location_popup_handler): ... but do it here instead, only as the
568         result of the user asking to turn on the location entry.
569         (gtk_file_chooser_default_get_paths): If the location entry is
570         empty, do the fallback of seeing if it is sensible to say that
571         $cwd is the selected path.
572         (gtk_file_chooser_default_update_current_folder): Don't set the
573         text of the location entry; this is no longer needed with the
574         fixes above.
575         (shortcuts_activate_iter): Clear the location entry when
576         activating a shortcut if we are not in SAVE mode.  This keeps the
577         contents of the location entry consistent even when switching
578         folders via the shortcuts.
579
580 2006-07-18  Michael Natterer  <mitch@imendio.com>
581
582         * gtk/gtkrange.c: remember the sensitivity of the steppers in
583         GtkRangeLayout, update it in gtk_range_calc_layout() and check for
584         changes in layout_changed(), so adjustment changes that leave the
585         slider position unchanged are still able to update the steppers'
586         sensitivity. Fixes bug #347902.
587
588 2006-07-18  Kristian Rietveld  <kris@imendio.com>
589
590         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
591         oooops.
592
593 2006-07-18  Kristian Rietveld  <kris@imendio.com>
594
595         Fix for #335012, reported by Matteo Nastasi.
596
597         * gtk/gtktreeview.c (gtk_tree_view_real_start_editing): if the
598         requested space of the editable is smaller than the cell area,
599         put it up above the middle of the cell area.
600
601         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
602         configure the inner border to cover the cell area if the 
603         entry requisition is smaller than the cell_area.
604
605 2006-07-18  Kristian Rietveld  <kris@imendio.com>
606
607         Another fix for #164884.
608
609         * gtk/gtktreeprivate.h: add in_grab field.
610
611         * gtk/gtktreeview.c (gtk_tree_view_button_press): only save press
612         to possibly begin a drag when there's no grab pending,
613         (gtk_tree_view_grab_notify): toggle in_grab field.
614
615 2006-07-18  Kristian Rietveld  <kris@imendio.com>
616
617         * gtk/gtktreeview.c (gtk_tree_view_realize): use MAX
618         priv->width, alloc.width when allocating the bin_window,
619         (gtk_tree_view_bin_expose): don't overrun bin_window when drawing
620         the flat box.
621
622 2006-07-17  Richard Hult  <richard@imendio.com>
623
624         * gtk/gtkdnd-quartz.c: (gtk_drag_begin_internal): Set an empty
625         NSImage if there is none, covers the cases where applications try
626         to set a pixmap which is not supported by the quartz backend.
627
628 2006-07-17  Richard Hult  <richard@imendio.com>
629
630         * gdk/quartz/gdkevents-quartz.c: (create_key_event):
631         * gdk/quartz/gdkkeys-quartz.c: (_gdk_quartz_key_event_type),
632         (_gdk_quartz_key_is_modifier):
633         * gdk/quartz/gdkprivate-quartz.h: Fill in string, length and
634         is_modifier for key events. Map some more keys into gdk keyvals.
635
636 2006-07-17  Matthias Clasen  <mclasen@redhat.com>
637
638         * gtk/gtknotebook.c (gtk_notebook_stop_reorder): Don't undo
639         reordering if we haven't been reordering.  (#346836, Ed Catmur)
640
641 2006-07-17  Richard Hult  <richard@imendio.com>
642
643         * gdk/quartz/gdkkeys-quartz.c: Add escape to the list of special
644         keys, to get the escape key working.
645
646 2006-07-17  Richard Hult  <richard@imendio.com>
647
648         * gdk/quartz/gdkdisplay-quartz.c (gdk_display_open): Initialize
649         GdkInput.
650         
651 2006-07-17  Kristian Rietveld  <kris@imendio.com>
652
653         * gtk/gtktreeview.c (gtk_tree_view_build_tree): check if the iter
654         still has children after running the test-expand-row func,
655         (gtk_tree_view_real_expand_row): ditto. (#302127, Billy Biggs).
656
657 2006-07-17  Michael Natterer  <mitch@imendio.com>
658
659         * gtk/gtkcalendar.c (calendar_timer): use 5 * gtk-timeout-repeat,
660         just as many other widgets. Makes the calendar arrow buttons
661         usable for quick month/year skipping (#142582).
662
663 2006-07-17  Richard Hult  <richard@imendio.com>
664
665         * gdk/quartz/gdkwindow-quartz.c:
666         (_gdk_windowing_window_destroy_foreign): Fix comment.
667         (gdk_window_set_title): Surround by release pool macros.
668         (gdk_window_get_type_hint): Fix return value.
669         (gdk_window_get_frame_extents): Implement.
670         (gdk_window_iconify): Use the release pool macros.
671         (gdk_window_deiconify): Likewise. 
672         (_gdk_windowing_get_pointer): Implement.
673         (gdk_window_get_deskrelative_origin, gdk_window_get_root_origin): 
674         Implement.
675
676         * gdk/quartz/gdkevents-quartz.c (create_crossing_event) 
677         (create_scroll_event, convert_window_coordinates_to_root): 
678         Set coordinates and root coordinates for crossing and scroll 
679         events.
680
681         * gdk/quartz/gdkcursor-quartz.c (gdk_cursor_new_for_display): 
682         Map some more cursors.
683
684 2006-07-17  Matthias Clasen  <mclasen@redhat.com>
685
686         * gdk/gdkwindow.c (gdk_window_get_pointer): Add some more
687         detail to the docs.  (#311399, Nikos Kouremenos)
688
689         * gtk/gtkentrycompletion.c (gtk_entry_completion_set_match_func): 
690         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_set_text_column): 
691         Fix typos in the docs.
692
693 2006-07-16  Matthias Clasen  <mclasen@redhat.com>
694
695         * gtk/gtkassistant.c: Some small documentation
696         fixups.  (#347711, Guillaume Cottenceau)
697
698         * gtk/gtkfilechooserdefault.c (browse_widgets_create): Mark
699         the text of the location label as translatable.  
700
701         * gtk/gtkprintjob.c (gtk_print_job_send): Fix a typo in 
702         the docs.  (#347211, Kouhei Sutou)   
703
704         * configure.in: Make the test for the sync extension
705         more robust.  (#347315, Tommi Komulainen)
706
707 2006-07-13  Michael Emmel  <mike.emmel@gmail.com>
708
709         * gdk/directfb/gdkdrawable-directfb.c
710         Remove +1 in fill and draw rect this may be wrong.
711         Commented out update calls left for reference the should not be needed.
712         Comment out subsurface for cairo remove when proved its not needed
713         * gdk/directfb/gdkkeys-directfb.c
714         Allow multiple calls and return if initalized
715         * gdk/directfb/gdkmain-directfb.c
716         Make sure string is malloced since its freed by apps
717         * gdk/directfb/gdkprivate-directfb.c
718         Added back pointer to window for paintable impl
719         * gdk/directfb/gdkvisual-directfb.c
720         Fix for Bug 346733 make sure visual list is populated
721         * gdk/directfb/gdkwindow-directfb.c
722         Finally removed uneeded pixmap buffering now implements GdkPainter
723
724 2006-07-11  Emmanuele Bassi  <ebassi@gnome.org>
725
726         * gtk/gtkrecentchooser.c (gtk_recent_chooser_set_show_numbers),
727         (gtk_recent_chooser_get_show_numbers): Check if the chooser
728         implementation supports the "show-number" property and use a
729         meaningful warning in case it doesn't; tell developers not to
730         use these functions.
731
732 2006-07-10  Matthias Clasen  <mclasen@redhat.com>
733
734         * gtk/gtkaction.c:
735         * gtk/gtkiconview.c:
736         * gtk/gtkprintbackend.c:
737         * gtk/gtkprintoperation-unix.c:
738         * gtk/gtkscrolledwindow.c:
739         * gtk/gtktoolbar.c: Fix some typos with inline property
740         docs.  (#347065, John Finlay)
741
742         * gtk/gtkfilechooserbutton.c: Fix some memory handling
743         issues.  (#347043, Chris Wilson)
744
745 2006-07-10  Emmanuele Bassi  <ebassi@gnome.org>
746
747         * gtk/gtkrecentchooserdefault.c (scan_for_uri_cb): Do not
748         leak the URI returned by the model; select the row when
749         calling gtk_recent_chooser_set_current_uri(). (patch by
750         Torsten Schoenfeld)
751
752 2006-07-10  Matthias Clasen  <mclasen@redhat.com>
753
754         * gtk/gtkpapersize.c (gtk_paper_size_is_equal): Fix a 
755         typo in the docs.  (#347041, Kouhei Sutou)
756
757         * gtk/gtkprintcontext.c (gtk_print_context_get_height): Fix
758         a typo in the docs.  (#347032, Kouhei Sutou)
759
760         * gtk/gtkassistant.c (gtk_assistant_focus): Don't assume
761         that priv->current_page is non-NULL.  (#347048, Guillaume 
762         Cottenceau)
763
764         * gtk/gtk.symbols: Add some missing deprecation guards.
765
766         * gdk/directfb/gdkwindow-directfb.c: Don't confuse gtk-doc.
767
768 2006-07-10  Richard Hult  <richard@imendio.com>
769
770         * gdk/quartz/gdkpixmap-quartz.c: (gdk_bitmap_create_from_data): 
771         Account for alignment when reading xbm data. (#346721, patch
772         by Dave Vasilevsky)
773
774 2006-07-09  Richard Hult  <richard@imendio.com>
775
776         * gdk/quartz/gdkgeometry-quartz.c:
777         * gdk/quartz/gdkmain-quartz.c:
778         * gdk/quartz/gdkpixmap-quartz.c:
779         * gdk/quartz/gdkwindow-quartz.c:
780         * gtk/gtkclipboard-quartz.c: Implement some more stubs for pygtk, 
781         bug #346713.
782
783 2006-07-09  Richard Hult  <richard@imendio.com>
784
785         * gdk/quartz/gdkwindow-quartz.c (gdk_window_new): Release the pool
786         in all cases.
787         (move_resize_window_internal): Surround by alloc/release pool.
788         Patch from Brian Tarricone, fixes bug #347018.
789
790 2006-07-08  Matthias Clasen  <mclasen@redhat.com>
791
792         * gtk/gtkfilechooserbutton.c (update_label_and_image): Don't
793         leak an empty list.  (#346970, Chris Wilson)
794
795 2006-07-08  Behdad Esfahbod  <behdad@gnome.org>
796
797         * gdk/gdkpango.c (layout_iter_get_line_clip_region),
798         (gdk_pango_layout_line_get_clip_region),
799         (gdk_pango_layout_get_clip_region): Fix quadratic implementation of
800         gdk_pango_layout_get_clip_region into a linear one. (#337910, patch
801         by Priit Laes)
802
803 2006-07-07  Richard Hult  <richard@imendio.com>
804
805         * gdk/quartz/gdkevents-quartz.c: Generate a grab broken event when
806         appropriate. Fixes bug #346603, patch from Dave Vasilevsky.
807         
808         * gdk/quartz/gdkevents-quartz.c:
809         * gdk/quartz/gdkkeys-quartz.c:
810         * gdk/quartz/gdkprivate-quartz.c: Another patch from Dave Vasilevsky,
811         fixes bug #346605. Makes modifier key events being sent properly.
812
813 2006-07-07  Michael Natterer  <mitch@imendio.com>
814
815         * gtk/gtkrc.c
816         * gtk/gtksettings.c: fix canonicalization of property names which
817         was broken after recent constant string cleanup.
818
819 2006-07-07  Matthias Clasen  <mclasen@redhat.com>
820
821         * gtk/gtkicontheme.c: Small memory savings.
822
823 2006-07-06  Matthias Clasen  <mclasen@redhat.com>
824
825         * gtk/gtkfilechooserbutton.c: Get the display name
826         for the home directory.  (#346498, Dennis Cranston,
827         patch by Andreas Köhler)
828
829 2006-07-06  Behdad Esfahbod  <behdad@gnome.org>
830
831         * configure.in: Drop required Pango version down to 1.12.0. (#346597)
832
833 2006-07-06  John (J5) Palmieri  <johnp@redhat.com>
834
835         * modules/printbackends/cups/gtkprintbackendcups.c: 
836         (cups_request_printer_list_cb): Get the name of the first printer
837         in a class to use when requesting a PPD
838         (cups_request_ppd_cb, cups_request_ppd): Fix the parameters of
839         the "details-acquired" signal emittion
840         (cups_request_ppd): get the ppd name from the cups printer
841
842         * modules/printbackends/cups/gtkprintercups.c (gtk_printer_cups_get_ppd_name):
843         New method for getting the name of the ppd we should request
844
845 2006-07-06  Michael Natterer  <mitch@imendio.com>
846
847         * gtk/gtkrc.c: added a bunch of utility functions to copy
848         icon_factories and color_hashes between GtkRcStyles and make sure
849         that newly created, duplicated and merged styles have access to
850         all icon_factories and color_hashes they need. Fixes bug #346668.
851
852 2006-07-06  Matthias Clasen  <mclasen@redhat.com>
853
854         * gtk/*.c: Improve the -/_ consistency in signal and
855         property names, reducing the amount of near-duplicate strings.
856
857 2006-07-05  Matthias Clasen  <mclasen@redhat.com>
858
859         * gtk/gtktreeview.c (gtk_tree_view_set_enable_tree_lines): Don't
860         leak dash_list.  (#346639, Christian Persch)
861
862         * gtk/gtkwindow.c (gtk_window_unmap, gtk_window_set_keep_above) 
863         (gtk_window_set_keep_below): Fix some assignments involving
864         booleans.  (#346467, Christian Persch)
865
866 2006-07-03  Matthias Clasen <mclasen@redhat.com>
867
868         * gtk/gtkgamma.c: Use serialized pixbufs instead of xpms.
869         
870 2006-07-03  Runa Bhattacharjee <runabh@gmail.com>
871
872         * configure.in: Added Bengali India (bn_IN) to ALL_LINGUAS.
873
874 2006-06-26  Michael Emmel  <mike.emmel@gmail.com>
875         
876         * gdk/directfb/gdkdirectfb.h: changed ifdef to compile with api introduced
877         in directfb 0.9.25 
878         * gdk/directfb/gdkwindow-directfb.c: changed ifdef to 0.9.25 
879
880 2006-07-03  Matthias Clasen  <mclasen@redhat.com>
881
882         * configure.in: Bump version
883
884 2006-07-02  Matthias Clasen  <mclasen@redhat.com>
885         
886         * === Released 2.10.0 ===
887
888         * gtk/gtkmenubar.c (window_key_press_handler): Treat
889         "" like NULL when parsing the menu-bar-accel setting.   
890         * gtk/gtkmenu.c (gtk_menu_key_press): Here too.  
891         (#346420, Yevgen Muntyan)
892
893         * configure.in: Require cairo 1.2 and GLib 2.12,
894         set version to 2.10
895
896 2006-06-30  Matthias Clasen  <mclasen@redhat.com>
897         
898         * gtk/gtknotebook.c (gtk_notebook_tab_space): Remove
899         redundant assignments to page, which may cause NULL
900         dereferences.  (#346334, Dave Vasilevsky)
901
902         * demos/gtk-demo/editable_cells.c: Portability fix.
903         (#346375, Thomas Klausner)
904
905         * NEWS, README.in, INSTALL.in: Updates
906
907         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize):
908         Don't leak default_sort_data.  (#346341, Christian Weiske)
909
910         * gtk/Makefile.am: Make sure all win32-specific printing
911         sources are distributed.  (#346312, Erik van Pienbroek)
912         
913         * gtk/gtkprinter.c (gtk_enumerate_printers): Always call the
914         destroy notify.  (#346027, Christian Persch)
915
916         * gtk/gtkprintsettings.c (gtk_print_settings_get_page_ranges):
917         Documentation updates.
918
919         * gtk/gtkprintunixdialog.c (gtk_print_unix_dialog_set_settings):
920         Don't leak the ranges.  (#346237, Carolyn MacLeod)
921
922         * gtk/gtkprintjob.[hc]: Add a PREVIEW capability to hide
923         the preview button.  (#346113, Christian Persch)
924
925         * gtk/gtkprintunixdialog.c (update_dialog_from_capabilities):
926         Hide the preview button depending on the capability.
927
928         * gtk/gtkprintoperation-unix.c: Set the PREVIEW capability.
929
930 2006-06-29  Bill Skaggs  <weskaggs@primate.ucdavis.edu>
931
932         * gtk/gtkprogress.h: revert last change by Matthias -- it broke the
933         build of gtkprogressbar.
934
935 2006-06-29  Matthias Clasen  <mclasen@redhat.com>
936
937         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Update the 
938         size of the drawable for the root window when the screen size 
939         changes.  (#346102, Sven Herzberg)
940
941 2006-06-29  Matthias Clasen  <mclasen@redhat.com>
942
943         * NEWS: Updates
944
945         * gtk/gtkprintoperation.c: Clarify docs for the allow-async
946         property.  (#346108, Christian Persch)
947
948 2006-06-28  Matthias Clasen  <mclasen@redhat.com>
949
950         * gtk/gtkprinter.c: 
951         * gtk/gtkprintunixdialog.c: 
952         * gtk/gtkprintoperationpreview.c: 
953         * gtk/gtkprintcontext.c (gtk_print_context_set_cairo_context): 
954         * gtk/gtklabel.c (gtk_label_set_line_wrap_mode): 
955         * gtk/gtkentry.c (gtk_entry_new):       
956         * gtk/gtkprintoperation.c (gtk_print_operation_set_custom_tab_label): 
957         * gtk/gtkclipboard.c (gtk_clipboard_wait_for_rich_text): Documentation
958         additions and fixes.
959
960         * gtk/gtkaspectframe.h:
961         * gtk/gtkaboutdialog.c:
962         * gtk/gtkcalendar.c:
963         * gtk/gtkinputdialog.c: 
964         * gtk/gtk.symbols: Remove unnecessary includes.
965         
966         * gtk/gtkprogress.[hc]: 
967         * gtk/gtkitemfactory.[hc]: Don't unnecessarily use GTK_COMPILATION,
968         remove unnecessary includes.
969
970         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Only select the
971         XKB event details we actually care about.  (#346079, Ryan Lortie)
972
973 2006-06-27  Kristian Rietveld  <kris@gtk.org>
974
975         * gtk/gtktreeview.c (gtk_tree_view_set_model): cancel the
976         expand collapse timeout when unsetting the model (Fixes #327164,
977         reported by Daichi Kawahata).
978
979 2006-06-26  Michael Emmel  <mike.emmel@gmail.com>
980         
981         * gdk/directfb/gdkdirectfb.h: added ifdef to compile with directfb 0.9.24 
982         * gdk/directfb/gdkwindow-directfb.c: ifdef depend on directfb cvs 
983
984 2006-06-26  Kristian Rietveld  <kris@gtk.org>
985
986         Make the insert and set functions somewhat more convenient.
987         (#343841, David Necas).
988
989         * gtk/gtkliststore.c (gtk_list_store_insert_with_values): allow
990         a NULL iter,
991         (gtk_list_store_insert_with_valuesv): likewise.
992
993         * gtk/gtktreestore.c (gtk_tree_store_insert_with_values): ditto,
994         (gtk_tree_store_insert_with_valuesv): likewise.
995
996 2006-06-26  Michael Natterer  <mitch@imendio.com>
997
998         * gtk/gtktextview.c (gtk_text_view_size_allocate): revert "keep
999         cursor visible when size changes" since it breaks things (#344874).
1000
1001 2006-06-26  Matthias Clasen  <mclasen@redhat.com>
1002
1003         * gtk/gtkcombobox.c (gtk_cell_view_menu_item_new): Avoid
1004         a refcounting leak in the python bindings.  (#344876, Phil Dumont)
1005
1006 2006-06-25  Matthias Clasen  <mclasen@redhat.com>
1007
1008         * gtk/gtkprinter.c (gtk_enumerate_printers): Make
1009         this work when the enumeration is stopped early.  (#344074,
1010         Felipe Heidrich)
1011
1012 2006-06-24  Matthias Clasen  <mclasen@redhat.com>
1013
1014         * gtk/gtkcombobox.c: Update the height as well
1015         when changing fonts.  (#321393, Billy Biggs)
1016 `
1017 2006-06-23  Christian Rose  <menthos@menthos.com>
1018
1019         * configure.in: Added "ur" to ALL_LINGUAS.
1020
1021 2006-06-22  Matthias Clasen  <mclasen@redhat.com>
1022
1023         Fix #345663, reported by Kazuki Iwamoto
1024         
1025         * gtk/gtkaction.c: Include gtkiconfactory.h
1026
1027         * gtk/gtkactiongroup.c: Include gtkicontheme.h
1028
1029 2006-06-22  Michael Natterer  <mitch@imendio.com>
1030
1031         * gtk/gtktextview.c (gtk_text_view_size_allocate): keep the cursor
1032         visible when the size changes. Fixes bug #344874.
1033
1034 2006-06-22  Matthias Clasen  <mclasen@redhat.com>
1035
1036         * gtk/gtkpintjob.h: Add a note about updating the registration.
1037         * gtk/gtkprintjob.c (gtk_print_capabilites_get_type): Add missing
1038         capabilitites. 
1039
1040         * modules/printbackends/cups/gtkprintbackendcups.c: Remove
1041         an unused variable and make it compile with Cups 1.1.  (#345644,
1042         Joseph Sacco)
1043
1044 2006-06-21  Matthias Clasen  <mclasen@redhat.com>
1045
1046         * configure.in: Bump version
1047         
1048         * === Released 2.9.4 ===
1049
1050         * modules/printbackends/file/gtkprintbackendfile.c: 
1051         Apply a patch by Christian Persch to support PostScript and PDF
1052         output.
1053
1054         * gtk/gtkprinteroptionwidget.c (radio_changed_cb): Don't free
1055         the value.
1056
1057 2006-06-21  Matthias Clasen  <mclasen@redhat.com>
1058
1059         Apply a patch by John Palmieri to use buffered io using
1060         GIOChannels, clean up error handling and support Cups 1.2
1061         api in the printing code.
1062
1063         * acconfig.h:
1064         * configure.in: Detect Cups 1.2
1065
1066         * gtk/gtkdebug.h:
1067         * gtk/gtkmain.c: Add a printing debug key.
1068
1069         * gtk/gtkprintbackend.[hc]: Remove the GError parameter from
1070         gtk_print_backend_print_stream, and take a  GIOChannel instead
1071         of an fd.
1072
1073         * gtk/gtkprinter-private.h:
1074         * gtk/gtkprinter.c: Replace the fd parameter of 
1075         _gtk_printer_create_cairo_surface by a GIOChannel.
1076
1077         * gtk/gtkprintjob.[hc]: Remove the GError parameter from
1078         gtk_print_job_send and make it return void.
1079
1080         * gtk/gtkprintoperation-unix.c:
1081         * gtk/gtkprintjob.c: Adjust callers, add some debugging support.
1082
1083         * modules/printbackends/Makefile.am: Fix DIST_SUBDIRS.
1084
1085         * modules/printbackends/cups/Makefile.am:
1086         * modules/printbackends/lpr/Makefile.am: Add debug CFLAGS.
1087         
1088         * modules/printbackends/cups/gtkcupsutils.[hc]: 
1089         * modules/printbackends/cups/gtkprintbackendcups.c:
1090         * modules/printbackends/file/gtkprintbackendfile.c:
1091         * modules/printbackends/lpr/gtkprintbackendfile.c: Adapt to
1092         the GIOChannel and GError changes, add debug output
1093         
1094 2006-06-21  Matthias Clasen  <mclasen@redhat.com>
1095
1096         * gtk/gtkprinter.c (gtk_enumerate_printers): Remove an 
1097         unused variable.
1098
1099         * NEWS: Updates
1100
1101         * gtk/gtktreeview.c (gtk_tree_view_class_init): Fix the registration
1102         of the grid-lines property  (#345456, Murray Cumming) 
1103         
1104 2006-06-21  Kristian Rietveld  <kris@imendio.com>
1105
1106         Allocate space for the grid lines when they are enabled.
1107
1108         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): make sure the cell
1109         area does not overlap with the grid lines, also draw the line for
1110         "the next cell" in the last loop iteration, make sure the cursor falls
1111         in between the grid lines,
1112         (validate_row): request extra space for the grid lines.
1113
1114 2006-06-21  Matthias Clasen  <mclasen@redhat.com>
1115
1116         * gtk/gtkprintbackend.h: 
1117         * gtk/gtkprintbackend.c (gtk_print_backend_print_stream): Add an
1118         GError parameter.
1119
1120         * modules/printbackends/file/gtkprintbackendfile.c 
1121         (gtk_print_backend_file_print_stream): 
1122         * modules/printbackends/lpr/gtkprintbackendlpr.c 
1123         (gtk_print_backend_lpr_print_stream): 
1124         * modules/printbackends/cups/gtkprintbackendcups.c 
1125         (gtk_print_backend_cups_print_stream): 
1126         * gtk/gtkprintjob.c (gtk_print_job_send): Update all callers and
1127         implementations.
1128
1129         * modules/printbackends/cups/gtkprintbackendcups.c: Remove the
1130         GError parameter from cups_request_execute(), and various other
1131         cleanups.
1132
1133 2006-06-20  Matthias Clasen  <mclasen@redhat.com>
1134
1135         * gtk/gtkprintjob.c (gtk_print_job_class_init): Make 
1136         track-print-status a property.
1137
1138 2006-06-20  Murray Cumming  <murrayc@murrayc.com>
1139
1140         * gtk/gtkprintoperation.c: (gtk_print_operation_class_init): 
1141         Correctly register the done signal - it sends an enum, not an int.
1142
1143 2006-06-20  Christian Persch  <chpe@cvs.gnome.org>
1144         
1145         * configure.in
1146         * gtk/Makefile.am
1147         * modules/printbackends/Makefile.am
1148         A modules/printbackends/file/.cvsignore
1149         A modules/printbackends/file/Makefile.am
1150         A modules/printbackends/file/gtkprintbackendfile.c
1151         A modules/printbackends/file/gtkprintbackendfile.h
1152         R modules/printbackends/pdf/*:
1153         Rename "pdf" backend to "file" backend. Step 2 from bug #339592.
1154
1155 2006-06-20  Christian Persch  <chpe@cvs.gnome.org>
1156
1157         * gtk/gtkprinteroptionwidget.c: (filesave_changed_cb),
1158         (alternative_set), (construct_widgets): Convert input to filename
1159         encoding and construct an URI from that.
1160         * gtk/gtkprintsettings.h: Add OUTPUT_FILE_FORMAT and OUTPUT_URI keys.
1161         * modules/printbackends/pdf/gtkprintbackendpdf.c: Use those defines.
1162         Step 1 from bug #339592.
1163
1164 2006-06-20  Matthias Clasen  <mclasen@redhat.com>
1165
1166         * gtk/gtkprintjob.c (gtk_print_job_set_source_file): Add to docs.
1167
1168         Fix handling of stock items without icons in action-based
1169         ui.  (#342458, Callum McKenzie)
1170         
1171         * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): Set
1172         the stock id even if there is no icon for it.
1173
1174         * gtk/gtkaction.c (connect_proxy): 
1175         * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): Only
1176         construct a stock icon if the stock item has an icon.
1177
1178 2006-06-20  Matthias Clasen  <mclasen@redhat.com>
1179
1180         * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_info): Better 
1181         fix.
1182
1183         * gtk/gtk.symbols: 
1184         * gtk/gtkprintsettings.h: 
1185         * gtk/gtkprintsettings.c: Remove unused print-to-file setting.
1186
1187 2006-06-20  Carlos Garnacho  <carlosg@gnome.org>
1188
1189         * gtk/gtknotebook.c (gtk_notebook_stop_reorder): unset the pressed
1190         button here.
1191         (gtk_notebook_grab_notify): stop reorder when the widget becomes
1192         shadowed. Fixes bug #335873
1193
1194 2006-06-18  Christian Persch  <chpe@cvs.gnome.org>
1195
1196         * gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area
1197         spacing to HIG-compliant 6px. Bug #345106, follow-up from bug #163850.
1198
1199 2006-06-20  Matthias Clasen  <mclasen@redhat.com>
1200
1201         * gtk/gtkiconview.c (gtk_icon_view_enable_model_drag_dest): 
1202         Small doc fix.  (#345176, Claudio Saavedra)
1203
1204         * gdk/x11/gdkwindow-x11.c (gdk_window_set_functions): Update
1205         the docs. (#345194, Yevgen Muntyan)
1206
1207 2006-06-19  Matthias Clasen  <mclasen@redhat.com>
1208
1209         * gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): Don't leak
1210         dash_list.
1211         (gtk_tree_view_set_column_drag_info): Don't crash if the 
1212         column_drop_func says always no.  (#344850, Christian Weiske)
1213         
1214         Make transparent tray icons work.  (#320034, based on a 
1215         patch by Dan Winship)
1216         
1217         * gtk/gtktrayicon-x11.c (gtk_tray_icon_init): Make trayicons
1218         app-paintable and non-double buffered. 
1219
1220         * gtk/gtkrc.c (_gtk_rc_init): Give tray icons a parent-relative
1221         background in the default style.
1222
1223 2006-06-19  Matthias Clasen  <mclasen@redhat.com>
1224
1225         * gtk/updateiconcache.c: Marks strings for translation.  (#314278,
1226         Claudio Saavedra)
1227
1228         * gtk/gtkentrycompletion.c (gtk_entry_completion_compute_prefix): Don't
1229         call g_str_has_prefix on a NULL strung.  (#344897, Tommi Komulainen)
1230
1231         * gtk/gtkfilechooserdefault.c: 
1232         Avoid a near-duplicate string and add some
1233         translator comments.  (#345320, #345321, Hendrik Richter)
1234
1235 2006-06-19  Federico Mena Quintero  <federico@novell.com>
1236
1237         * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder)
1238         (gtk_file_chooser_get_current_folder_uri): Clarify the use of
1239         these functions, to avoid the case where a chooser is in
1240         SELECT_FOLDER mode and people mistakenly use _get_current_folder()
1241         to get the selection:  they should use _get_filename() instead.
1242
1243 2006-06-19  Alexander Larsson  <alexl@redhat.com>
1244
1245         * gtk/gtk.symbols:
1246         * gtk/gtklabel.[ch]:
1247         Add gtk_label_set_line_wrap_mode, gtk_label_get_line_wrap_mode, and
1248         a wrap-mode property that lets you set the PangoWrapMode.
1249
1250 2006-06-19  Matthias Clasen  <mclasen@redhat.com>
1251
1252         * gtk/gtk.symbols: Add new functions
1253
1254         * gtk/gtkprinter.h: 
1255         * gtk/gtkprinter.c (gtk_enumerate_printers): New function
1256         to list all printers (#344074, Felipe Heidrich)
1257
1258         * gtk/gtkprinter-private.h: 
1259         * gtk/gtkprinter.c (_gtk_printer_get_options) 
1260
1261         * gtk/gtkprintbackend.h: Add a capabilities argument to the 
1262         printer_get_options method and to the _gtk_printer_get_options
1263         function
1264         
1265         * modules/printbackends/lpr/gtkprintbackendlpr.c 
1266         (lpr_printer_get_options): 
1267         * modules/printbackends/pdf/gtkprintbackendpdf.c 
1268         (pdf_printer_get_options): 
1269         * modules/printbackends/cups/gtkprintbackendcups.c 
1270         (cups_printer_get_options): 
1271         * gtk/gtkprintunixdialog.c (selected_printer_changed): Adjust
1272         callers and implementations.
1273
1274         * gtk/gtkprintjob.h: Add a GENERATE_PS capability. 
1275         * gtk/gtkprintunixdialog.c (is_printer_active): And use it here.
1276
1277 2006-06-18  Matthias Clasen  <mclasen@redhat.com>
1278
1279         * tests/testnouiprint.c (main): Don't open a display connection.
1280
1281         * gtk/gtkprintbackend.c (gtk_print_backend_load_modules): Make
1282         this work without a display connection.  (339702, Alexander Larsson)
1283
1284         * gtk/gtkwindow.c (gtk_window_move): Small doc addition. 
1285         (#345275, Behdad Esfahbod)
1286
1287 2006-06-17  Matthias Clasen  <mclasen@redhat.com>
1288
1289         * modules/printbackends/pdf/gtkprintbackendpdf.c:
1290         * modules/printbackends/lpr/gtkprintbackendlpr.c: Fix a typo:
1291         s/Extention/Extension/. 
1292         
1293         * gtk/gtkprintunixdialog.c: Clean up the handling of 
1294         printer-specific options. There is just one extension point on the
1295         main tab now, and all options in the GtkPrintDialogExtension
1296         group are put there. 
1297
1298         * gtk/gtkprinteroption.h: 
1299         * gtk/gtkprinteroption.c: Add GTK_PRINTER_OPTION_TYPE_ALTERNATIVE
1300         which is semantically the same as PICKONE, but is intended to 
1301         show all options all the time.
1302         
1303         * gtk/gtkprinteroptionwidget.c: Implement ALTERNATIVE as radio
1304         group.
1305
1306 2006-06-16  Matthias Clasen  <mclasen@redhat.com>
1307
1308         * modules/printbackends/cups/gtkprintbackendcups.c:
1309         * modules/printbackends/lpr/gtkprintbackendlpr.c: Use a stock icon
1310         for printers.
1311
1312         * gtk/gtkprintunixdialog.c (add_option_to_table): Don't grow
1313         additional columns.
1314
1315         * gtk/gtkprintbackend.h: Add a GtkPrintSettings parameter to the
1316         printer_create_cairo_surface method.
1317         
1318         * modules/printbackends/pdf/gtkprintbackendpdf.c: 
1319         * modules/printbackends/cups/gtkprintbackendcups.c: 
1320         * modules/printbackends/lpr/gtkprintbackendlpr.c: 
1321         * gtk/gtkprinter.c (_gtk_printer_create_cairo_surface): 
1322         * gtk/gtkprinter-private.h: 
1323         * gtk/gtkprintjob.c (gtk_print_job_get_surface): Adapt all users.
1324
1325         * gtk/gtkentrycompletion.c (gtk_entry_completion_finalize): Don't
1326         leak match data.  (#345107,  Christian Weiske)
1327
1328         * gtk/gtkprintunixdialog.c (populate_dialog): Move the conflict
1329         label out of the button box.  (#339456, Christian Persch)
1330
1331         * gtk/gtksizegroup.c (compute_dimension): Ignore unmapped widgets
1332         when ignore_hidden is TRUE.  (#344707, Christian Persch)
1333
1334         * configure.in: Require cvs glib.
1335
1336         * gtk/gtkprintoperation-unix.c: 
1337         (_gtk_print_operation_platform_backend_create_preview_surface): 
1338         Don't use a temporary directory for preview files, since it
1339         is not clear who cleans it up. Instead, use g_mkstemp() directly
1340         to create a temp pdf file, and make the preview app responsible
1341         for cleaning it up.
1342
1343         * gtk/gtkprintbackend.c: Move the registration of the 
1344         gtk-print-preview-command setting from gtkprintbackend.c to 
1345         gtkprintoperation-unix.c, to make sure it is registered before
1346         the first use. Also, document the two settings.
1347
1348         * tests/print-editor.c: Add a "Preview" menu item.
1349
1350         * gtk/gtkprintoperation-unix.c (handle_print_response): When starting
1351         a preview from the print dialog, set the action to PREVIEW.
1352
1353         * gtk/gtkprintoperation.c: Cosmetic changes.
1354
1355 2006-06-16 Matthias Clasens  <mclasen@redhat.com>
1356
1357         * gtk/gtkprintoperation-unix.c: Mark the preview filename
1358         as translatable (#345093, Christian Persch)
1359
1360 Fri Jun 16 11:49:53 2006  Tim Janik  <timj@imendio.com>
1361
1362         * fixed #337882 by applying patches from Tommi Komulainen:
1363
1364         * gtk/gtkprogressbar.c:
1365         (gtk_progress_bar_paint_activity):
1366         (gtk_progress_bar_get_activity): Move activity bar offset and size
1367         calculations to separate function.
1368         (gtk_progress_bar_paint_text): Allow caller to specify offset for the
1369         prelight part in addition to width.
1370         (gtk_progress_bar_paint): Paint the text also in activity mode, #337882.
1371
1372         * gtk/gtkprogressbar.c: (gtk_progress_bar_paint_text): Paint the
1373         prelighted text on top of the normal rather than side by side, to
1374         simplify painting text in activity mode.
1375
1376 2006-06-16  Matthias Clasen  <mclasen@redhat.com>
1377
1378         * modules/printbackends/cups/gtkprintbackendcups.c: Include
1379         gtkprinter-private.h  (#345038, Christian Persch)
1380  
1381 2006-06-15  Matthias Clasen  <mclasen@redhat.com>
1382
1383         * modules/printbackends/pdf/gtkprintbackendpdf.c: Use the
1384         stock floppy icon.
1385
1386         * gtk/gtkprintoperation-unix.c: Set the GENERATE_PDF capability
1387         when creating a print dialog.  (noted by Yevgen Muntyan)
1388
1389 2006-06-15  Carlos Garnacho  <carlosg@gnome.org>
1390
1391         * gtk/gtknotebook.c (gtk_notebook_motion_notify): use
1392         gdk_window_get_pointer() to get pointer coordinates, but limit its
1393         calls to a maximum of 45 times per second for not being too
1394         CPU/network abusive. stop drag operation if (event->state &
1395         GDK_BUTTON1_MASK) is FALSE to prevent tabs from "adhering" to the
1396         pointer. Fixes bug #341571
1397         (gtk_notebook_calculate_tabs_allocation), (gtk_notebook_button_press):
1398         get rid of the "tab jumps to pointer" sensation when beginning a drag
1399         by using the pointer offset in the tab when the drag begins as an
1400         anchor.
1401         (gtk_notebook_redraw_tabs_union): remove, it wasn't worth the little
1402         performance gain and could draw artifacts under some circumstances.
1403         (gtk_notebook_drag_end): do not reparent the detached tab label until
1404         the animation has ended.
1405
1406 2006-06-15  Bastien Nocera  <hadess@hadess.net>
1407
1408         * configure.in: Update the Cairo requirements (#345008)
1409
1410 2006-06-15  Matthias Clasen  <mclasen@redhat.com>
1411
1412         * gtk/gtkprintoperationpreview.c 
1413         (gtk_print_operation_preview_base_init): Fix errors in the
1414         signal definitions.  (#344891, Marko Anastasov)
1415
1416 2006-06-14  Michael Emmel  <mike.emmel@gmail.com>
1417         
1418         * configure.in: updated mininum  dfb to 0.9.24
1419         * gdk/directfb/gdkdirectfb.h: added more directfb wrapper functions
1420         * gdk/directfb/gdkdrawable-directfb.c: wrapper functions and patch from 
1421          Claudio Ciccani <klan@users.sf.net> to use a subsurface for cairo
1422     * gdk/directfb/gdkvisual-directfb.c: changed initalization sequence
1423     * gdk/directfb/gdkwindow-directfb.c: corrected reparent for toplevels
1424     * gdk/directfb/gdkdisplay-directfb.c: changed initilization sequence
1425         to a more rational order
1426
1427 2006-06-14  Federico Mena Quintero  <federico@novell.com>
1428
1429         * perf/gtkwidgetprofiler.c (gtk_widget_profiler_profile_expose):
1430         New function; it lets us time the expose sequence of a widget.
1431         (create_widget): New helper function.
1432         (map_widget): New helper function.
1433         (profile_boot): Use create_widget() instead of doing it by hand.
1434         (profile_map_expose): Use map_widget() instead of doing it by hand.
1435
1436         * perf/main.c (main): Call gtk_widget_profiler_profile_expose() as well.
1437
1438 2006-06-14  Matthias Clasen  <mclasen@redhat.com>
1439
1440         * gtk/gtkpagesetupunixdialog.c: Use GKeyFile for the custom
1441         filename storage.  (#344867, Christian Persch)
1442
1443         * gtk/gtkselection.c: Call init_atoms before using atoms
1444         in several functions.  (#344743, John Finlay)
1445
1446         * gtk/gtktreeview.c (gtk_tree_view_set_search_position+_func):
1447         Allow NULL to reset to default.  (#344838, John Finlay)
1448
1449         * gtk/gtkprintjob.h: Collect booleans into a bitfield
1450         (#344765, Christian Persch)
1451
1452 2006-06-13  Matthias Clasen  <mclasen@redhat.com>
1453
1454         * configure.in: Bump version
1455
1456 2006-06-12  Matthias Clasen  <mclasen@redhat.com>
1457
1458         * === Released 2.9.3 ===
1459
1460         * NEWS: Updates
1461         
1462         * gtk/gtk.symbols: Add gtk_tree_view_grid_lines_get_type.
1463
1464         * configure.in: Set interface age to 0
1465
1466 2006-06-12  Kristian Rietveld  <kris@imendio.com>
1467
1468         Introduce grid and tree lines in GtkTreeView. (#106406,
1469         Martyn Russell).
1470
1471         * gtk/gtktreeprivate.h: add new fields to GtkTreePrivate.
1472
1473         * gtk/gtkenums.h: add GtkTreeViewGridLines.
1474
1475         * gtk/gtktreeview.[ch] (gtk_tree_view_set_grid_lines),
1476         (gtk_tree_view_get_grid_lines),
1477         (gtk_tree_view_set_enable_tree_lines),
1478         (gtk_tree_view_get_enable_tree_lines): new API,
1479         (gtk_tree_view_class_init): new properties,
1480         (gtk_tree_view_init), (gtk_tree_view_{get,set}_property),
1481         (gtk_tree_view_realize), (gtk_tree_view_draw_grid_lines),
1482         (gtk_tree_view_bin_expose): implement.
1483
1484         * gtk/gtk.symbols: update.
1485
1486 2006-06-12  Matthias Clasen  <mclasen@redhat.com>
1487
1488         * gtk/gtkprintunixdialog.c (is_printer_active): Use 
1489         gtk_printer_accepts_ps here.
1490
1491         * modules/printbackends/pdf/gtkprintbackendpdf.c (gtk_print_backend_pdf_init):
1492         Mark the virtual "Print to PDF" printer as not accepting PS.
1493
1494         * gtk/gtk.symbols:
1495         * gtk/gtkprinter.h: 
1496         * gtk/gtkprinter.c: Add two new properties accepts-pdf and
1497         accepts-ps (with getters) to allow learning supported formats.
1498
1499         * gtk/gtkprintjob.h: Add a GTK_PRINT_CAPABILITY_GENERATE_PDF
1500         capability.
1501         
1502         * gtk/gtkprintunixdialog.c: Use it here to hide "Print to PDF" 
1503         from the printer list.  (#339592, Christian Persch)
1504         
1505         * gtk/gtkfilechooserdefault.c: Add support for pasting
1506         filenames into the filechooser.  (#153212, Bastian Nocera)
1507
1508 2006-06-12  Kristian Rietveld  <kris@gtk.org>
1509
1510         * gtk/gtktreemodelfilter.[ch]
1511         (gtk_tree_model_filter_convert_child_iter_to_iter),
1512         (gtk_tree_model_filter_convert_child_path_to_path): report status
1513         in return value instead of spewing assertions.  (#335729, Yevgen
1514         Muntyan).
1515
1516 2006-06-12  Matthias Clasen  <mclasen@redhat.com>
1517
1518         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_finalize): 
1519         Clean up user data.  (#344624, Christian Weiske)
1520
1521         * NEWS: Updates
1522
1523         * gtk/gtkprintjob.c:
1524         * gtk/gtkprintbackend.c: 
1525         * gtk/gtkpagesetupunixdialog.c: 
1526         * gtk/gtkprintunixdialog.c: Cosmetic cleanups.
1527
1528 2006-06-11  Matthias Clasen  <mclasen@redhat.com>
1529
1530         * gtk/gtkassistant.c: Add an accessible implementation in
1531         order to make the buttons visible to a11y tools.  (pointed out
1532         by David Malcolm, #343945)
1533
1534         * gtk/gtkprintoperation-win32.c: Store scale as a percentage.
1535         (#344560, Christian Persch)
1536
1537         * gtk/gtkprogressbar.h: Add a dirty flag to GtkProgressBar.n/ 
1538         * gtk/gtkprogressbar.c: Defer updating of the offscreen
1539         pixmap until expose.  (#344543, Chris Wilson)
1540
1541 2006-06-11  Emmanuele Bassi  <ebassi@gnome.org>
1542
1543         * gtk/gtkrecentchooserdefault.c
1544         (get_is_recent_filtered):
1545         * gtk/gtkrecentchoosermenu.c
1546         (get_is_recent_filtered):
1547         Do not leak the groups string vector. (#344607,
1548         John Finlay)
1549
1550 2006-06-11  Tor Lillqvist  <tml@novell.com>
1551
1552         * gtk/gtkprintoperation-win32.c: Fix MSVC build problem. (#339739,
1553         Kazuki Iwamoto)
1554
1555         * gdk/win32/gdkproperty-win32.c (gdk_property_change): Convert \n
1556         to \r\n also when storing CF_UNICODETEXT (UTF-16) in the
1557         Clipboard. (#344496)
1558
1559 2006-06-10  Matthias Clasen <mclasen@redhat.com>
1560
1561         * gtk/gtkrecentchooserwidget.c 
1562         (gtk_recent_chooser_widget_new_for_manager):
1563         * gtk/gtkrecentchoosermenu.c
1564         (gtk_recent_chooser_menu_new_for_manager): 
1565         Allow NULL to mean the default manager.  (#344530, 
1566         John Finlay)
1567
1568         * gtk/gtkprintoperation-unix.c (page_setup_data_free):
1569         Check if rdata->page_setup is set before unreffing it. 
1570         (#344518, Christian Persch)
1571
1572         * gtk/gtkprintoperation.h: Remove an extra comma.  (#344528, 
1573         Elijah Newren)
1574
1575         * modules/printbackends/gtkprintbackendpdf.c 
1576         (gtk_print_backend_pdf_print_stream): Use the passed in 
1577         destroy notify.  (#344513, Christian Persch)
1578
1579         * configure.in: Require cairo 1.1.7
1580
1581         * gtk/gtkprintoperation.c:
1582         * modules/printbackends/pdf/gtkprintbackendpdf.c: Use
1583         cairo_pdf_surface_set_dpi by cairo_surface_set_fallback_resolution.
1584         (#344512, Elijah Newren)
1585
1586         * gdk-2.0-uninstalled.pc.in: Make compiling against uninstalled
1587         gdk work.  (#344386, Masatake Yamamoto)
1588
1589         * gtk/gtkprintoperation.c: Register create_custom_widget as 
1590         an object-returning signal.  (#344505, Marko Anastasov, patch
1591         by Christian Persch)
1592
1593         * gtk/gtkmarshalers.list: Add the right marshaller.
1594
1595         * gtk/gtk.symbols:
1596         * gtk/gtkprintjob.[hc]: Register GtkPrintCapabilities as a
1597         flags type.  (#344504, Marko Anastasov)
1598
1599 2006-06-09  Benjamin Berg  <benjamin@sipsolutions.net>
1600
1601         * gtk/gtkmenuitem.c: (get_offsets): Take GtkMenu::horizontal-padding
1602         into account when placing submenus (#344290)
1603
1604 2006-06-09  Michael Natterer  <mitch@imendio.com>
1605
1606         * gtk/gtkrange.c: added new style properties "trough-side-details"
1607         and "draw-trough-under-steppers" and fixed the "stepper-spacing"
1608         style property. Fixes bugs #342339 and #342249.
1609
1610         "draw-trough-under-steppers", when set to FALSE, starts trough
1611         drawing next to the steppers instead of drawing the trough "below"
1612         (around) the steppers. If "stepper-spacing" is set to any value
1613         larger than zero, "draw-trough-under-steppers" is set to FALSE
1614         automatically to avoid rendering an area that looks clickable but
1615         isn't.
1616
1617         (gtk_range_calc_layout): honor draw-trough-under-steppers.
1618         Don't reserve stepper-spacing on sides of the range that don't
1619         have steppers.
1620
1621         (gtk_range_expose): changed drawing accordingly. Implement
1622         "trough-side-details" which enables drawing of the upper and lower
1623         parts of the trough with different details. This is useful for
1624         theme engines which want to draw these parts differently.
1625
1626         (coord_to_value): correctly take all rendering options into
1627         account. stepper-spacing > 0 caused jumping and otherwise
1628         strangely behaving ranges before.
1629
1630         (other functions): changed accordingly.
1631
1632 2006-06-09  Tor Lillqvist  <tml@novell.com>
1633
1634         * gdk/win32/gdkdrawable-win32.c (_gdk_win32_drawable_release_dc):
1635         Call ReleaseDC() on DCs acquired with GetDC() (for windows), and
1636         DeleteDC() on DCs acquired with CreateCompatibleDC() (for
1637         bitmaps). According to MSDN, this is the correct thing to do, even
1638         if always using DeleteDC() seems to have worked fine in
1639         practice. (#337491, Chris Wilson)
1640
1641 2006-06-08  Matthias Clasen  <mclasen@redhat.com>
1642
1643         * tests/testprint.c: Update for api changes.
1644
1645         * gtk/gtkprintoperation.c: Fix some copy-and-paste errors,
1646         and rename the pdf-target property to export-filename.
1647
1648         * gtk/gtkfilechooserdefault.c: Turn off profiling code.
1649
1650         * tests/print-editor.c: Update for api changes.
1651
1652         * gtk/gtk.h: Include gtkprintoperationpreview.h
1653
1654         * gtk/gtkprintoperationpreview.c (gtk_print_operation_preview_is_selected): 
1655         Use g_return_val_if_fail (#344288, Kazuki Iwamoto)
1656
1657         * gtk/gtkprintbackend.h: Don't include gtkprinter-private.h here.
1658
1659         * gtk/gtkprintunixdialog.c: 
1660         * gtk/gtkprintoperation-unix.c: 
1661         * gtk/gtkprintjob.c: 
1662         * gtk/gtkprintbackend.c: Instead include it here.
1663
1664         * gtk/gtk.symbols: 
1665         * gtk/gtkprintoperation.h: 
1666         * gtk/gtkprintoperation.c: Rename pdf_target to export_filename.
1667
1668 2006-06-08  Matthias Clasen  <mclasen@redhat.com>
1669
1670         * gtk/gtkprintoperation.h (GtkPrintOperationResult): Get
1671         rid of GTK_PRINT_OPERATION_RESULT_PREVIEW.
1672         
1673         * gtk/gtkprintoperation-unix.c: 
1674         * gtk/gtkprintoperation.c: Update all users.
1675
1676 2006-06-08  Tor Lillqvist  <tml@novell.com>
1677
1678         * gdk/win32/gdkevents-win32.c (gdk_event_translate):
1679         [WM_WINDOWPOSCHANGED] Replace identical code as in
1680         handle_configure_event() with call to that function.
1681         [WM_SIZING] Fix implementation of aspect ratio hints. (#344244)
1682         The hints are for the geometry of the client area, not of the
1683         window including decorations. Improve resizing behaviour in the
1684         presence of aspect hints, to be more in line with typical X window
1685         managers.
1686
1687 2006-06-08  Matthias Clasen  <mclasen@redhat.com>
1688
1689         * gtk/gtktoolbutton.c (gtk_tool_button_style_set): Give
1690         GtkToolButton the same treatment.
1691
1692         * gtk/gtkbutton.c (gtk_button_style_set): Don't call
1693         construct_child here, since some apps make assumptions 
1694         about the lifecycle of the constructed label.  
1695
1696 2006-06-08  Alexander Larsson  <alexl@redhat.com>
1697
1698         * gtk/gtkprintoperation-unix.c (finish_print):
1699         Fix up unix fallout from previous change.
1700
1701 2006-06-08  Alexander Larsson  <alexl@redhat.com>
1702
1703         * gtk/gtkprintoperation-win32.c:
1704         Update windows to build with new APIs and first cut
1705         at preview work.
1706         
1707         * gtk/gtkprintoperation-private.h:
1708         * gtk/gtkprintoperation-unix.c:
1709         * gtk/gtkprintoperation.c
1710         Various updates needed when making the preview work on win32.
1711
1712         * tests/print-editor.c:
1713         Print, don't preview.
1714
1715 2006-06-07  Matthias Clasen  <mclasen@redhat.com>
1716
1717         * gtk/gtkentry.c (popup_targets_received): Make Delete
1718         menuitem insensitive if entry is not editable.  (#344232, 
1719         Milosz Derezynski)
1720
1721         * gtk/gtkprintoperation.c: Add some docs. 
1722
1723         * gtk/gtk.symbols: Add gtk_print_operation_set_allow_async.
1724
1725         * gtk/gtkprintoperation.h: Remove gtk_print_operation_run_async.
1726
1727         * tests/testnotebookdnd.c: Update callers.
1728
1729         * gtk/gtknotebook.h:
1730         * gtk/gtknotebook.c (gtk_notebook_set_window_creation_hook):
1731         Add a destroy notify for the callback data.  (#344209, 
1732         Murray Cumming)
1733
1734 2006-06-07  JĂ¼rg Billeter  <j@bitron.ch>
1735
1736         * gtk/Makefile.am: Fix building gtkbuiltincache.h without system GTK+.
1737
1738 2006-06-07  Alexander Larsson  <alexl@redhat.com>
1739
1740         * gtk/gtk.symbols:
1741         * gtk/gtkprintoperation-private.h:
1742         * gtk/gtkprintoperation-unix.c:
1743         * gtk/gtkprintoperation.[ch]:
1744         Clean up APIs:
1745         Make async a setting instead of separate calls.
1746         Combine settings like show_dialog, show_preview and pdf_target into
1747         an action enum that you pass to gtk_print_dialog_run().
1748         
1749         * tests/print-editor.c:
1750         * tests/testnouiprint.c:
1751         * tests/testprint.c:
1752         * demos/gtk-demo/printing.c:
1753         Update to new APIs
1754
1755 2006-06-07  Bastien Nocera  <hadess@hadess.net>
1756
1757         * configure.in: Update the ATK requirements (#344148)
1758
1759 2006-06-07  Matthias Clasen  <mclasen@redhat.com>
1760
1761         * modules/printbackends/cups/gtkprintercups.c 
1762         (gtk_printer_cups_finalize):  Fix a C99ism.
1763         (#344123, Jens Ganseuer)
1764
1765 2006-06-06  Behdad Esfahbod  <behdad@gnome.org>
1766
1767         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): Correct
1768         rounding of rect members.  Improved docs.  (#337603)
1769
1770 2006-06-06  Matthias Clasen  <mclasen@redhat.com>
1771
1772         * gtk/gtkicontheme.c: Small optimization
1773
1774 2006-06-05  Matthias Clasen  <mclasen@redhat.com>
1775
1776         * configure.in: Bump version
1777
1778         * === Released 2.9.2 ===
1779
1780         * configure.in: Set interface age to 0.
1781
1782         * NEWS: Updates
1783
1784         * gtk/gtkprintoperationpreview.c: Include gtkalias.h
1785
1786         * gtk/gtk.symbols: Add some forgotten new functions.
1787
1788 2006-06-04  Matthias Clasen  <mclasen@redhat.com>
1789
1790         * gtk/gtknotebook.c (gtk_notebook_calculate_shown_tabs):
1791         (gtk_notebook_calc_tabs): Fix borderline cases in tab
1792         visibility calculation.  (#168105, Carlos Garnacho Parro)
1793
1794         * gdk/x11/gdkfont-x11.c (_gdk_font_destroy): Remove the right
1795         XID from the xid table.  (#341327, Sampo Savolainen, Tim Janik)
1796
1797 2006-06-04  Behdad Esfahbod  <behdad@gnome.org>
1798
1799         * gtk/gtkprintoperationpreview.h: Add missing G_END_DECLS (#343838)
1800
1801 2006-06-03  Richard Hult  <richard@imendio.com>                                 
1802
1803         * gdk/quartz/Makefile.am:                                               
1804         * gdk/quartz/gdkspawn-quartz.c: Add spawn functions, copied from the
1805         win32 backend.
1806
1807 2006-06-02  Matthias Clasen  <mclasen@redhat.com>
1808         
1809         * gtk/gtkprintoperation-private.h:
1810         * gtk/gtkprintoperation.h:
1811         * gtk/gtkprintoperation.c: Add a show-preview property. 
1812
1813         * gtk/gtkprintoperation-unix.c: Implement it here.
1814
1815         * gtk/gtkprintoperation-unix.c: Cleanups
1816
1817 2006-06-02  Kristian Rietveld  <kris@imendio.com>
1818
1819         Rubber banding for GtkTreeView, #80127.  Uses same method as
1820         GtkIconView.
1821
1822         * gtk/gtktreeview.c (gtk_tree_view_class_init),
1823         (gtk_tree_view_init), (gtk_tree_view_get_property),
1824         (gtk_tree_view_set_property), (gtk_tree_view_set_rubber_banding),
1825         (gtk_tree_view_get_rubber_banding): add property,
1826         (gtk_tree_view_button_press): start rubber banding if enabled and
1827         press is on a non-selected node,
1828         (gtk_tree_view_button_release): stop rubber banding,
1829         (gtk_tree_view_motion_bin_window), (scrool_row_timeout): enable/update
1830         the rubber band,
1831         (gtk_tree_view_bin_expose): draw rubber band if active,
1832         (gtk_tree_view_stop_rubberband),
1833         (gtk_tree_view_update_rubber_band_selection_range),
1834         (gtk_tree_view_update_rubber_band_selection),
1835         (gtk_tree_view_update_rubber_band),
1836         (gtk_tree_view_paint_rubber_band): new functions.
1837
1838         * gtk/gtktreeview.h: add new set/get function for rubber banding
1839         property.
1840
1841         * gtk/gtktreeprivate.h: add a bunch of new private fields.
1842
1843 2006-06-02  Kristian Rietveld  <kris@imendio.com>
1844
1845         * gtk/gtktreeview.c (gtk_tree_view_leave_notify): revert fix of
1846         #164884 because it's not a problem in gtk+ but in applications and
1847         it breaks starting drags from the edge of a row.
1848
1849 2006-06-02  Kristian Rietveld  <kris@imendio.com>
1850
1851         Separate sensitive/selectable properties.
1852
1853         * gtk/gtktreeselection.c (tree_column_is_sensitive): remove,
1854         (_gtk_tree_selection_row_is_selectable): remove checks to see if at
1855         least one column is sensitive,
1856         (gtk_tree_selection_real_select_node): remove code which enables
1857         insensitive rows to always be unselected.
1858
1859         * gtk/gtktreeview.c (gtk_tree_view_row_changed): remove code
1860         that unselects a node if it just became insensitive.
1861
1862         * gtk/gtkcombobox.c (gtkcombo_box_list_select_func): new function,
1863         based on the at least one column sensitive check from
1864         _gtk_tree_selection_row_is_selectable(),
1865         (gtk_combo_box_list_setup): set selection function on tree selection.
1866
1867 2006-06-02  Kristian Rietveld  <kris@imendio.com>
1868
1869         * gtk/gtktreemodelfilter.c
1870         (gtk_tree_model_filter_convert_child_path_to_path): need to use
1871         gtk_tree_model_filter_get_iter_full() since the path returned
1872         by gtk_real_tree_model_filter_convert_child_path_to_path() includes
1873         invisible nodes.
1874
1875 2006-06-02  Matthias Clasen  <mclasen@redhat.com>
1876
1877         * gtk/gtkstatusicon.c (gtk_status_icon_get_geometry): Allow
1878         to return partial information.  (#343625, Christian Persch)
1879
1880         * gtk/gtkwindow.c (gtk_window_key_release_event): Chain up
1881         to key_release, not to key_press.  (#343677, Tommi Komulainen)
1882
1883 2006-06-02  Alexander Larsson  <alexl@redhat.com>
1884
1885         * gtk/Makefile.am:
1886         Add gtkprintoperationpreview.[ch]
1887         Set default preview command. Hardcoded for now.
1888         
1889         * gtk/gtkmarshalers.list:
1890         Add BOOLEAN:OBJECT,OBJECT,OBJECT
1891         
1892         * gtk/gtkprintbackend.c:
1893         Add preview command property.
1894         
1895         * gtk/gtkprintcontext.[ch]:
1896         Make less dependent on PrintOperation for output settings
1897         Externally set cairo_t and dpi. Resettable.
1898         Create fontmap without metrics hinting (so that print preview
1899         text layout doesn't depend on zoom level).
1900         
1901         * gtk/gtkprintoperation-private.h:
1902         * gtk/gtkprintoperation-unix.c: 
1903         * gtk/gtkprintoperation.[ch]:
1904         Initial work on print preview API and default implementation
1905         using an external preview app.
1906         
1907         * gtk/gtkprintoperation-win32.c:
1908         Some needed updates. Not done, needs more work.
1909         
1910         * gtk/gtkprintoperationpreview.[ch]:
1911         New interface used in print preview api.
1912         
1913         * gtk/gtkprintunixdialog.c:
1914         Add print preview dialog.
1915         
1916         * tests/print-editor.c:
1917         Test using an custom print preview widget.
1918
1919 2006-06-02  Emmanuele Bassi  <ebassi@gnome.org>
1920
1921         * gtk/gtkrecentmanager.c
1922         (gtk_recent_info_get_application_info): Fix a typo (spotted by
1923         Paolo Borelli and coverity).
1924
1925 2006-06-01  Matthias Clasen  <mclasen@redhat.com>
1926         
1927         * tests/testnotebookdnd.c: Small tweaks to test more things.
1928
1929         * gtk/gtktoolbutton.c (gtk_tool_button_class_init): Add
1930         an icon-spacing style property for the same purpose.
1931
1932         * gtk/gtkbutton.c (gtk_button_class_init):  Add an image-spacing
1933         style property that allows to adjust the spacing between image
1934         and label in button.  (#320431, James Moger)
1935
1936         * gtk/gtkprintoperation-private.h: 
1937         * gtk/gtkprintoperation.c: 
1938         * gtk/gtkprintoperation-unix.c: Move the 
1939         PrintPagesData.wait flag to GtkPrintOperationPrivate.is_sync.
1940         Also use a recursive mainloop instead of manually looping.
1941         
1942         * gtk/gtkprintoperation.c: Add some examples to the docs.
1943
1944         * gtk/gtkprintbackend.c (gtk_print_backend_class_init): 
1945         Intern signal names.
1946
1947         * gtk/gtkprintunixdialog.c: 
1948         * gtk/gtkprintoperation-unix.c: Use canonical signal names.
1949
1950 2006-05-31  Matthias Clasen  <mclasen@redhat.com>
1951
1952         * gtk/gtkpagesetupunixdialog.c: Add docs, cleanup some
1953         formatting.
1954
1955         * gtk/gtkprintoperation.c (print_pages_idle): Don't
1956         treat manual_scale like a percentage, its a factor.
1957
1958         * gtk/gtktreeview.c (gtk_tree_view_class_init): Document
1959         signals.  (#302556, Stefan Kost)
1960
1961 2006-05-31  Alexander Larsson  <alexl@redhat.com>
1962
1963         * gtk/gtk.symbols:
1964         * demos/gtk-demo/printing.c:
1965         * tests/print-editor.c:
1966         * tests/testnouiprint.c:
1967         * tests/testprint.c:
1968         * tests/testprintfileoperation.c:
1969         Further updates from the GtkPrintContext functions rename.
1970         
1971         * modules/printbackends/cups/gtkcupsutils.c:
1972         Always set requesting-user-name when doing cups requests.
1973
1974 2006-05-31  Alexander Larsson  <alexl@redhat.com>
1975
1976         * gtk/gtkpagesetupunixdialog.c:
1977         Remove request_details_tag with g_signal_handler_disconnect,
1978         not g_source_remove. (#343475)
1979
1980 2006-05-31  Matthias Clasen  <mclasen@redhat.com>
1981
1982         * gtk/gtkprintcontext.h: 
1983         * gtk/gtkprintcontext.c: 
1984         * gtk/gtkprintoperation.c: 
1985         * gtk/gtkprintoperation-unix.c: Change some function names to be 
1986         longer and better. 
1987         gtk_print_context_get_cairo -> gtk_print_context_get_cairo_context
1988         gtk_print_context_get_fontmap -> gtk_print_context_get_pango_fontmap
1989         gtk_print_context_create_context -> gtk_print_context_create_pango_context
1990         gtk_print_context_create_layout -> gtk_print_context_create_pango_layout
1991         Update all callers.
1992
1993         * gtk/gtkpagesetupunixdialog.c: Don't run the custom page
1994         size dialog.  (#340444, Christian Persch)
1995
1996         * demos/gtk-demo/main.c (main): Display comments in friendly
1997         DodgerBlue instead of scary red.  (#343444, Carol Spears)
1998
1999         * gtk/gtkfontbutton.c: 
2000         * gtk/gtkcolorbutton.c: Clarify the docs of the color-set and
2001         font-set signals.  (#343438, Olexiy Avramchenko)
2002
2003 2006-05-30  Matthias Clasen  <mclasen@redhat.com>
2004
2005         * gtk/gtkmain.c (gtk_grab_notify_foreach): Don't skip internal
2006         children when emitting grab-notify.  (#343425, Markku Vire)
2007
2008         * gdk/gdkpixmap.c: 
2009         * gdk/gdkwindow.c: Don't use G_DEFINE_TYPE, since the instance
2010         struct name does not match the type name.  (#343453, Ed Catmur)
2011
2012         * gtk/gtk.symbols: 
2013         * gtk/gtkbutton.h: 
2014         * gtk/gtkbutton.c: Add a GtkButton::image-position property
2015         with getter and setter, to allow constructing buttons with
2016         the image stacked on top of the label.  (#342930, Johan Dahlin)
2017
2018 2006-05-30  Johan Dahlin  <jdahlin@async.com.br>
2019
2020    * gtk/gtk.symbols:
2021    * gtk/gtkbutton.c: (gtk_button_class_init), (gtk_button_init),
2022    (gtk_button_set_property), (gtk_button_get_property),
2023    (gtk_button_construct_child), (gtk_button_set_image_spacing),
2024    (gtk_button_get_image_spacing):
2025    * gtk/gtkbutton.h:
2026    * gtk/gtktoolbutton.c: (gtk_tool_button_class_init),
2027    (gtk_tool_button_construct_contents),
2028    (gtk_tool_button_set_property), (gtk_tool_button_get_property),
2029    (_gtk_tool_button_get_button), (gtk_tool_button_set_icon_spacing),
2030    (gtk_tool_button_get_icon_spacing):
2031    * gtk/gtktoolbutton.h:
2032    Add GtkButton:image-spacing and GtkToolButton::icon-spacing.
2033    (#320431, James Moger)
2034
2035 2006-05-30  Kristian Rietveld  <kris@gtk.org>
2036
2037         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button): only
2038         check sort column id if connected to sortable model.
2039
2040 2006-05-30  Behdad Esfahbod  <behdad@gnome.org>
2041
2042         * gdk/gdkpango.c (draw_error_underline): Fix offset to center the
2043         underline in requested rectangle. (Ported from pango fix.)
2044
2045 2006-05-29  Michael Natterer  <mitch@imendio.com>
2046
2047         * gtk/gtkdialog.h: removed forgotten declaration of
2048         _gtk_dialog_get_response_for_widget(), the function has been made
2049         public a long time ago.
2050
2051 2006-05-29  Michael Natterer  <mitch@imendio.com>
2052
2053         * gtk/gtktextview.c (gtk_text_view_target_list_notify): applied
2054         patch from Chris Wilson which replaces a useless loop with
2055         built-in access to free'd memory by a simple integer comparison.
2056         Fixes bug #342894.
2057
2058 2006-05-29  Kristian Rietveld  <kris@gtk.org>
2059
2060         * gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): select
2061         the current focus row if nothing is selected and ctrl is not pressed.
2062         (Fixes #324480, Murray Cumming/Srirama Sharma).
2063
2064 2006-05-28  Kristian Rietveld  <kris@gtk.org>
2065
2066         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_cell_focus): refactor
2067         to work correctly in RTL mode.
2068
2069         * gtk/gtktreeview.c (gtk_tree_view_move_cursor_left_right): make
2070         cursor movement to left/right work correctly in RTL mode.
2071
2072 2006-05-28  Behdad Esfahbod  <behdad@gnome.org>
2073
2074         * gdk/gdkrectangle.c (gdk_rectangle_union, gdk_rectangle_intersect):
2075         Note in docs that @dest can be the same as @src1 or @src2. (#343233,
2076         Christian Persch)
2077
2078 2006-05-28  Kristian Rietveld  <kris@gtk.org>
2079
2080         * gtk/gtkstyle.c (gtk_default_draw_flat_box): handle
2081         cell_even_ruled_sorted and cell_odd_ruled_sorted for the selected
2082         state.
2083
2084 2006-05-28  Kristian Rietveld  <kris@gtk.org>
2085
2086         * gtk/gtkenums.h: add GTK_ARROW_NONE.
2087
2088         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_column): always
2089         "show" the arrow if sort_column_id >= 0, only set arrow type if
2090         this column is the column we are currently sorting on. (#331338).
2091
2092 2006-05-27  Matthias Clasen  <mclasen@redhat.com>
2093
2094         * gtk/gtkrecentchoosermenu.c: Avoid trivial differences
2095         in translated strings.  (#343088, Clytie Siddall)
2096
2097 2006-05-28  Kristian Rietveld  <kris@gtk.org>
2098
2099         * gtk/gtktreeview.c (gtk_tree_view_build_tree): emit test_expand_row
2100         and test return value before expanding a branch. (Fixes #321523,
2101         reported by Daniel Lindenaar).
2102
2103 2006-05-28  Kristian Rietveld  <kris@gtk.org>
2104
2105         * gtk/gtktreeview.c (gtk_tree_view_insert_column): set the sizing
2106         type of the new column to FIXED,
2107         (gtk_tree_view_insert_column_with_attributes): likewise. (#341898,
2108         Dan Winship).
2109
2110 2006-05-27  Kristian Rietveld  <kris@gtk.org>
2111
2112         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_remove_node):
2113         only unref if elt->ref_count > 0,
2114         (gtk_tree_model_filter_row_deleted): likewise. (Fixes #340839,
2115         reported by Yevgen Muntyan).
2116
2117 2006-05-27  Kristian Rietveld  <kris@gtk.org>
2118
2119         Small refactoring. (#340428, Paolo Borelli).
2120
2121         * gtk/gtkliststore.c (gtk_list_store_set_valist_internal),
2122         (gtk_list_store_insert_with_valuesv): refactor code to determine
2123         iter compare func into gtk_list_store_get_compare_func().
2124
2125         * gtk/gtktreestore.c (gtk_tree_store_set_valist_internal),
2126         (gtk_tree_store_insert_with_valuesv): likewise.
2127
2128 2006-05-27  Kristian Rietveld  <kris@gtk.org>
2129
2130         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_arrow): really fix
2131         #333284.
2132
2133 2006-05-27  Kristian Rietveld  <kris@gtk.org>
2134
2135         Editable cell window placement and RTL fixes.
2136
2137         * gtk/gtktreeview.c (gtk_tree_view_button_press),
2138         (gtk_tree_view_bin_expose), (gtk_tree_view_get_cell_area),
2139         (gtk_tree_view_create_row_drag_icon): Only add indentation to x
2140         if !rtl,
2141         (gtk_tree_view_create_row_drag_icon): Iterate over columns in reverse
2142         direction if in rtl mode.
2143
2144         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
2145         horizontal_separator is not part of the real background area width,
2146         add 2 * focus_line_width to real_cell_area.x and not
2147         real_background_area.x, fix up event coordinates check in the
2148         PACK_END loop, also set depth to zero at the end of the PACK_END
2149         loop,
2150         (_gtk_tree_view_get_neighbor_sizes): also add column_spacing for each
2151         visible cell.
2152
2153 2006-05-26  Matthias Clasen  <mclasen@redhat.com>
2154
2155         * gtk/stock-icons/24/gtk-orientation-landscape.png:
2156         * gtk/stock-icons/24/gtk-orientation-portrait.png:
2157         * gtk/stock-icons/24/gtk-orientation-reverse-landscape.png:
2158         * gtk/stock-icons/24/gtk-orientation-reverse-portrait.png:
2159         Cleaned up icons by Diana Fong.
2160
2161 2006-05-26  Kristian Rietveld  <kris@gtk.org>
2162
2163         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_arrow): queue a redraw
2164         for the full width of the row, not just the width we got allocated.
2165         (Fixes #333284, reported by Benjamin Berg).
2166
2167 2006-05-26  Kristian Rietveld  <kris@gtk.org>
2168
2169         * gtk/gtktreeview.c (gtk_tree_view_top_row_to_dy): set dy to
2170         page_size + height in the event dy + page_size is about to become
2171         bigger than height.
2172
2173 2006-05-25  Matthias Clasen  <mclasen@redhat.com>
2174
2175         * gtk/gtk.symbols:
2176         * gtk/gtkstatusicon.h:
2177         * gtk/gtkstatusicon.c (gtk_status_icon_get_geometry):
2178         New function that can be used to e.g. position 
2179         notification bubbles wrt to the status icon.  
2180         (#341450, Christian Persch, Havoc Pennington)
2181
2182 2006-05-25  Matthias Clasen  <mclasen@redhat.com>
2183
2184         Make GTK+ work as an untrusted X client. (#136571,
2185         Ed Catmur)
2186
2187         * gdk/x11/gdkdisplay-x11.h:
2188         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): When 
2189         opening a display, determine if we are untrusted.
2190         
2191         * gdk/x11/gdkdisplay-x11.c (gdk_notify_startup_complete): 
2192         Just bail out when we are untrusted.
2193
2194         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Work around
2195         a bug in the Xorg XSECURITY implementation by coercing
2196         toplevel InputOnly windows to InputOutput.
2197
2198         * gdk/x11/gdkwindow-x11.c (_gdk_windowing_get_pointer): 
2199         (_gdk_windowing_window_get_pointer): 
2200         When untrusted, call XQueryPointer on an auxiliary
2201         window, not on the root window.
2202         
2203         * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer): 
2204         If untrusted, loop through all GDK-aware toplevels on all
2205         screens in the hope we hit one containing the pointer; 
2206         then use that as the basis of the current XQueryPointer 
2207         child recursion.
2208
2209         * gdk/x11/gdkmain-x11.c (gdk_pointer_grab): 
2210         (gdk_keyboard_grab): Ignore failed grabs when untrusted.
2211
2212         * gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Only
2213         cache our own toplevels when untrusted.
2214
2215         * gdk/x11/gdkdnd-x11.c (motif_send_enter): Don't try
2216         to do Motif DND as untrusted client.
2217
2218         * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window): 
2219         (gdk_x11_screen_get_window_manager_name): 
2220         (gdk_x11_screen_supports_net_wm_hint): 
2221         Bail out early if untrusted.
2222         
2223         * gtk/gtkcolorsel.c (grab_color_at_mouse): If getting 
2224         the color under the pointer by screenshooting the root 
2225         window fails, it tries to get the color from our own 
2226         window.
2227
2228         * gtk/gtkcolorsel.c (get_screen_color): Make the
2229         dropper_grab_widget a child of the dialog, not a 
2230         toplevel.
2231
2232         * gtk/gtkinvisible.c (gtk_invisible_realize): Respect
2233         a parent window that has been set before realizing.
2234
2235         * gtk/gtkwidget.c (gtk_widget_get_parent_window): 
2236         Always return a previously set parent window.
2237         
2238 2006-05-24  Matthias Clasen  <mclasen@redhat.com>
2239
2240         * gtk/gtkfontbutton.c (gtk_font_button_clicked): 
2241         * gtk/gtkcolorbutton.c (gtk_color_button_clicked): 
2242         Fix the handling of modality by copying what
2243         GtkFileChooserButton does.  (#342754, Yevgen Muntyan)
2244         
2245         * gtk/gtkprintunixdialog.c (create_main_page): Make
2246         the range entry insensitive if another range option
2247         is selected.  (#342783, Caolan McNamara)
2248         (update_dialog_from_capabilities): Make the collate
2249         check button insensitive unless multiple copies are
2250         printed  (#342781, Caolan McNamara)
2251
2252         * gtk/gtkwidget.c: Remove style properties when a widget
2253         class gets finalized, to make style properties work in
2254         dynamic types.  (#342513, Christian Persch)
2255
2256 2006-05-24  Henrique Romano  <henrique@async.com.br>
2257
2258         * gtk/gtkcellview.c: (gtk_cell_view_class_init),
2259         (gtk_cell_view_get_property), (gtk_cell_view_set_property):
2260         Add model property for GtkCellView, part of #172535.
2261
2262 2006-05-24  Matthias Clasen  <mclasen@redhat.com>
2263
2264         * gtk/gtkprintoperation.h: 
2265         * gtk/gtkprintoperation-private.h: 
2266         * gtk/gtk.symbols:
2267         * gtk/gtkprintoperation.c: Add a custom-tab-label property.
2268         
2269         * gtk/gtkprintoperation-unix.c (get_print_dialog): Use it
2270         here.  (#342752, Yevgen Muntyan)
2271
2272 2006-05-24  Alexander Larsson  <alexl@redhat.com>
2273
2274         * gtk/gtk.symbols:
2275         * gtk/gtkprintunixdialog.[ch]:
2276         Add gtk_print_unix_dialog_set_manual_capabilities that controls
2277         what widgets to enable in the dialog depending on the apps
2278         capabilities.
2279         
2280         * gtk/gtkprintbackend.[ch]:
2281         * gtk/gtkprinter-private.h:
2282         * gtk/gtkprinter.c:
2283         * gtk/gtkprintjob.h:
2284         Add printer_get_capabilities to backend.
2285         Move some fallback calls to the printbackend base class.
2286         
2287         * gtk/gtkprintoperation-unix.c:
2288         Set manual capabilities
2289         
2290         * modules/printbackends/cups/gtkprintbackendcups.c:
2291         Implement get_capabilities
2292         
2293         * modules/printbackends/lpr/gtkprintbackendlpr.c:
2294         * modules/printbackends/pdf/gtkprintbackendpdf.c:
2295         Move some methods to baseclass.
2296
2297 2006-05-23  Matthias Clasen  <mclasen@redhat.com>
2298
2299         * gtk/gtkprintoperation.c (print_pages): Do the begin-print
2300         emission in the idle, so that the print dialog goes away
2301         before begin-print.
2302
2303 2006-05-23  Matthias Clasen  <mclasen@redhat.com>
2304
2305         * gtk/gtk.symbols: 
2306         * gtk/gtkprintoperation.h: 
2307         * gtk/gtkprintoperation.c: Add a boolean show-progress  
2308         property, and show a progress dialog if it is set to TRUE.
2309
2310         * gtk/gtkprintoperation.c (pdf_end_run): 
2311         * gtk/gtkprintoperation-win32.c (win32_end_run): 
2312         * gtk/gtkprintoperation-unix.c (unix_end_run): 
2313         * gtk/gtkprintoperation-private.h: Add a cancelled
2314         parameter to end_run, and call it even if the print
2315         operation was cancelled.
2316
2317 2006-05-23  Alexander Larsson  <alexl@redhat.com>
2318
2319         * gtk/gtkprinteroptionwidget.c (filesave_changed_cb):
2320         Allow absolute filenames in filename entry.
2321         Patch from Yevgen Muntyan (#341679)
2322
2323 2006-05-23  Alexander Larsson  <alexl@redhat.com>
2324
2325         * gtk/gtk.symbols:
2326         * gtk/gtkprintunixdialog.[ch]:
2327         Add gtk_print_unix_dialog_add_custom_tab
2328         
2329         * gtk/gtkprintoperation-unix.c:
2330         Implement custom widgets for unix.
2331         Fix some warnings by including cairo-ps/pdf.h
2332         
2333         * gtk/gtkprintoperation-win32.c:
2334         Mark string for translation.
2335
2336 2006-05-22  Matthias Clasen  <mclasen@redhat.com>
2337
2338         * gtk/gtkprintoperation.c (gtk_print_operation_class_init): 
2339         Fix docs.
2340
2341 2006-05-22  Alexander Larsson  <alexl@redhat.com>
2342
2343         * gtk/gtkmain.c:
2344         Make sure grab-notify is emitted on toplevels as well as 
2345         child widgets.
2346
2347         * gtk/Makefile.am:
2348         * gtk/gtkwin32embedwidget.[ch]
2349         Add new widget used for win32 port to embed gtk+
2350         widgets in windows dialog.
2351
2352         * gtk/gtkmarshalers.list:
2353         Add POINTER:VOID
2354
2355         * gtk/gtkprintoperation-private.h:
2356         * gtk/gtkprintoperation.[ch]:
2357         Generic support for custom widgets in print dialog.
2358
2359         * gtk/gtkprintoperation-win32.c:
2360         Implement custom widget support for win32.
2361
2362         * tests/print-editor.c:
2363         Allow setting of font using custom widgets in the print dialog.
2364
2365 2006-05-22  Behdad Esfahbod  <behdad@gnome.org>
2366
2367         Rollback the following changes, to fix it the proper way in Pango:
2368
2369         * gdk/gdkinternals.h:
2370         * gdk/gdkscreen.c (gdk_screen_class_init), (gdk_screen_finalize),
2371         (update_fontmap_resolution), (gdk_screen_set_resolution):  Add new
2372         function _gdk_screen_get_font_map() and have one fontmap per screen,
2373         with the correct resolution set on it.
2374
2375         * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Use
2376         _gdk_screen_get_font_map() instead of setting resolution on the
2377         PangoCairoContext.  (#342529)
2378
2379 2006-05-22  Emmanuele Bassi  <ebassi@gnome.org>
2380
2381         * gtk/gtkrecentmanager.h:
2382         * gtk/gtkrecentmanager.c
2383         (gtk_recent_info_get_application_info): Don't mask "time" with
2384         the "time" argument.
2385
2386 2006-05-22  Matthias Clasen  <mclasen@redhat.com>
2387
2388         * gdk/gdkcolor.h: gdk_color_parse returns boolean, not int.
2389         (#342569, Masatake Yamato)
2390
2391         * gtk/gtkprintunixdialog.c (dialog_set_scale): Don't return
2392         a value from a void function.
2393
2394         * gtk/gtkprinter.c (_gtk_printer_prepare_for_print) 
2395         (_gtk_printer_get_settings_from_options) 
2396         (_gtk_printer_request_details): Don't return values from void
2397         functions.
2398
2399         * gtk/gtkrecentchooserutils.c (delegate_unselect_uri): Don't
2400         return a value from a void function.
2401
2402         * gtk/gtkfilesystem.c (gtk_file_system_cancel_operation): Don't
2403         return a value from a void function.  Also, don't put 
2404         semicolons behind G_DEFINE_TYPE. (#342543)
2405
2406         * gtk/gtkwidget.c (gtk_widget_class_init): Add docs
2407         for new style properties.  (#342535, Mart Raudsepp)
2408
2409         * gdk/x11/gdkscreen-x11.c: Remove _gdk_x11_screen_request_cm_notification
2410
2411         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Directly call 
2412         gdk_display_request_selection_notification. 
2413
2414         * gdk/x11/gdkdisplay-x11.c: Several cleanups.
2415         
2416 2006-05-21  Behdad Esfahbod  <behdad@gnome.org>
2417
2418         * gdk/gdkinternals.h:
2419         * gdk/gdkscreen.c (gdk_screen_class_init), (gdk_screen_finalize),
2420         (update_fontmap_resolution), (gdk_screen_set_resolution):  Add new
2421         function _gdk_screen_get_font_map() and have one fontmap per screen,
2422         with the correct resolution set on it.
2423
2424         * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Use
2425         _gdk_screen_get_font_map() instead of setting resolution on the
2426         PangoCairoContext.  (#342529)
2427
2428 2006-05-22  Tor Lillqvist  <tml@novell.com>
2429
2430         * gtk/gtkfilesystemwin32.c: Make it compile again. Doesn't work
2431         properly yet, though. There is lots of commonality between this
2432         file and gtkfilesystemunix.c that should really be factored out.
2433
2434 2006-05-19  Matthias Clasen  <mclasen@redhat.com>
2435
2436         * gtk/gtkpaned.c (gtk_paned_compute_position): Avoid warnings
2437         if a child is NULL.  (#342007, Patrick Monnerat)
2438         
2439         * gtk/gtk.symbols: 
2440         * gtk/gtkprintoperation.h: 
2441         * gtk/gtkprintoperation.c (gtk_print_operation_cancel): New function
2442         to cancel a running print operation.
2443
2444         * gtk/gtkprintoperation-private.h (struct _GtkPrintOperationPrivate): 
2445         Add a cancelled flag, use g types, use bitfields.
2446
2447         * gtk/gtkprintoperation.c (print_pages): Clean up after the idle
2448         in the synchronous case.
2449
2450         * gtk/gtknotebook.c (gtk_notebook_pages_allocate): Fix a 
2451         boundary case in scrolling where a tab was not shown.  (#168105,
2452         Hiroyuki Ikezoe, patch by Kouhei Sutou)
2453
2454 2006-05-19  Damon Chaplin  <damon@gnome.org>
2455
2456         * gtk/gtkfontsel.c (gtk_font_selection_init): use
2457         atk_relation_add_target() to add the targets, since it sets up weak
2458         references to avoid crashes. (#305530)
2459
2460 2006-05-18  Matthias Clasen  <mclasen@redhat.com>
2461
2462         * gtk/gtkprintoperation.h: 
2463         * gtk/gtkprintoperation.c: Add a GtkPrintOperation:: paginate signal 
2464         that gets emitted to paginate a document in chunks.
2465
2466         * gtk/gtkprintoperation-private.h: 
2467         * gtk/gtkmarshalers.list: Add necessary glue.
2468
2469         * gtk/gtkcalendar.c (gtk_calendar_drag_motion): Don't produce
2470         a stuck drag if shift is held.  (#341734, Sebastien Bacher) 
2471
2472         * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display): 
2473         Always set protocol.  (#342003, Tommi Komulainen)
2474
2475         * gtk/gtkimage.c (icon_theme_changed): Only unref the pixbuf
2476         if the image has the appropriate storage type.  (#342096, Tommi
2477         Komulainen)
2478
2479         * configure.in: Actually require GLib 2.11
2480         
2481         * gtk/gtkentry.c (gtk_entry_drag_data_received): Make drops
2482         end up at the right spot.  (#342072,  Yevgen Muntyan)
2483
2484 2006-05-18  Michael Natterer  <mitch@imendio.com>
2485
2486         * gtk/gtkrange.c: canonicalize the name of the "activate-slider"
2487         style property and use GTK_PARAM_READABLE instead of
2488         G_PARAM_READABLE. Moved one "activate_slider" variable to the
2489         local scope its used in.
2490
2491 2006-06-18  Michael Emmel  <mike.emmel@gmail.com>
2492
2493         * gdk/directfb/gdkscreen-directfb.c: 
2494         * added gdk_screen_is_composited to compile
2495         * Bug 342091
2496
2497 2006-05-17  Alexander Larsson  <alexl@redhat.com>
2498
2499         * gtk/gtkprintoperation-win32.c:
2500         Update to changed APIs.
2501
2502 2006-05-16  Matthias Clasen  <mclasen@redhat.com>
2503
2504         * configure.in: Bump version
2505
2506         * === Released 2.9.1 ====
2507
2508         * configure.in: Reset interface age
2509         
2510         * NEWS: Updates
2511
2512 Tue May 16 12:36:25 2006  Søren Sandmann  <sandmann@redhat.com>
2513
2514         * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Move getting the
2515         property out of the loop, and rename the variable 'max_expand'.
2516
2517         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Fix the decription
2518         for the max-child-expand property. 
2519
2520 2006-05-16  Matthias Clasen  <mclasen@redhat.com>
2521
2522         * gtk/gtkprinter.c (gtk_printer_class_init): 
2523         * gtk/gtkprintjob.c (gtk_print_job_class_init): 
2524         * gtk/gtkprintoperation.c (gtk_print_operation_class_init): 
2525         Cosmetic cleanups.
2526
2527         * gtk/gtkpagesetupunixdialog.c (populate_dialog): Add labels
2528         for page orientations, also add the fourth one.  (#339589)
2529
2530         * gtk/stock-icons/24/gtk-orientation-reverse-portrait.png: New
2531         icon.
2532         
2533         * gtk/Makefile.am: Add it here.
2534         
2535         * gtk/gtkstock.[hc]: Add stock items for the page orientations.
2536
2537 2006-05-16  Michael Natterer  <mitch@imendio.com>
2538
2539         * gtk/gtktoolbar.c: added "max-child-expand" style property which
2540         limits the space taken by expanding tool items. Fixes bug #340722.
2541
2542 2006-05-16  Kristian Rietveld  <kris@imendio.com>
2543
2544         * gtk/gtkpathbar.c (gtk_path_bar_dispose): cancel all pending handles
2545         in the button list. (Fixes #341035, reported by William Jon McCann).
2546
2547 2006-05-16  Kristian Rietveld  <kris@imendio.com>
2548
2549         * gtk/gtkfilechooserdefault.c
2550         (show_and_select_paths_finished_loading): put the newly selected
2551         row(s) the in the middle of the view,
2552         (update_current_folder_get_info_cb),
2553         (gtk_file_chooser_default_update_current_folder): make sure reload
2554         state is set to RELOAD_HAS_FOLDER while loading the new folder,
2555         so _map() won't start loading the current working directory. (Fixes
2556         #341028, reported by Michael Natterer).
2557
2558 2006-05-15  Matthias Clasen  <mclasen@redhat.com>
2559
2560         * gtk/gtktreeview.c (gtk_tree_view_button_press): Fix
2561         an RTL problem with toggles in expander columns. 
2562         (#341896, Roozbeh Pournader) 
2563
2564 Mon May 15 15:12:05 2006  Søren Sandmann  <sandmann@redhat.com>
2565
2566         * gtk/gtklayout.c (gtk_layout_realize),
2567         * gtk/gtkiconview.c (gtk_icon_view_realize),
2568         * gtk/gtktreeview.c (gtk_tree_view_realize): Set the background of
2569         the clip windows to NULL, since they are generally invisible and
2570         don't have EXPOSURE set, which means they temp-unvlicker code
2571         doesn't apply to them.
2572
2573         * gdk/x11/gdkgeometry-x11.c (_gdk_window_move_resize_child): Unset
2574         the background of the parent window during resizing. Invalidate
2575         the uncoered area of the parent window. Bug 341332.
2576
2577 2006-05-15  Richard Hult  <richard@imendio.com>
2578
2579         * gdk/quartz/gdkevents-quartz.c (_gdk_events_init): Remove obsolete 
2580         comment.
2581         (poll_func): Remove assert and add a comment on how to fix properly.
2582         (gdk_events_pending): Implement.
2583
2584 2006-05-15  Matthias Clasen  <mclasen@redhat.com>
2585
2586         * gtk/gtkprintoperation.c: Reverse the order of
2587         ranges when printing in reverse.  (#341578)
2588
2589 2006-05-15  Alexander Larsson  <alexl@redhat.com>
2590         
2591         * gtk/gtkprintjob.[ch]:
2592         Added gtk_print_job_set/get_track_print_status
2593
2594         * gtk/gtkprintoperation-private.h:
2595         * gtk/gtkprintoperation.[ch]:
2596         Add gtk_print_operation_set_track_print_status.
2597         
2598         * gtk/gtkprintoperation-unix.c:
2599         Implement track_print_status on unix
2600         
2601         * gtk/gtkprintoperation-win32.c:
2602         Implement track_print_status on win32
2603         
2604         * gtk/gtk.symbols:
2605         Added symbols
2606         
2607         * modules/printbackends/cups/gtkprintbackendcups.c:
2608         Implement track_print_status for cups
2609         
2610         * tests/print-editor.c:
2611         Test track_print_status.
2612
2613 2006-05-15  Matthias Clasen  <mclasen@redhat.com>
2614
2615         * gtk/gtkprintoperation.c: Do page rendering in an idle when
2616         running asynchronous. 
2617
2618 2006-05-15  Alexander Larsson  <alexl@redhat.com>
2619
2620         * gtk/gtk.symbols: 
2621         * gtk/gtkprintbackend.[ch]: (_gtk_print_backend_create):
2622         Never unload print backends.
2623         Remove gtk_print_backend_unref_at_idle.
2624
2625         * modules/printbackends/cups/gtkprintbackendcups.c:
2626         (cups_dispatch_watch_finalize):
2627         Don't use the unref_at_idle hack since that caused
2628         deadlocks. Instead we never unload print backends, which
2629         is not really a big problem.
2630
2631 2006-05-14  Murray Cumming  <murrayc@murray.com>
2632
2633         * gtk/gtkframe.c: Restored the / at the start of the comment 
2634         block, to fix the build.
2635
2636 2006-05-13  Matthias Clasen  <mclasen@redhat.com>
2637
2638         * gtk/*.c:
2639         * gdk-pixbuf/*.c:
2640         * gdk/*.c: Remove erroneous ; after G_DEFINE_TYPE 
2641         macros.  (#341692, Yevgen Muntyan)
2642
2643         * gtk/gtktextbtree.c: 
2644         * gtk/gtktextview.c: Move some asserts to the right 
2645         place.  (#341661, #341665, Pascal Terjan)
2646
2647 2006-05-12  Matthias Clasen  <mclasen@redhat.com>
2648
2649         * gtk/gtknotebook.c: Fix some corner cases in the size
2650         allocation logic for tabs.  (#341577, Carlos Garnacho Parro)
2651
2652         * gtk/gtkprintunixdialog.c: Some fixes to capitalization of
2653         labels.  (#341558, Dennis Cranston)
2654
2655         * gtk/gtknotebook.c: Handle tab_label being NULL better.
2656         (#341455, William Jon McCann, patch by Carlos Garnacho Parro)
2657
2658         * gtk/gtkruler.c: Reinstate the ruler metrics strings, since
2659         they are used by glade, pointed out by Damon Chaplin.
2660
2661 2006-05-12  Alexander Larsson  <alexl@redhat.com>
2662
2663         * gtk/gtkwindow.c:
2664         Better handling of the window group on unsetting transient-for, since
2665         the transient parent might have changed group.
2666         
2667         * gtk/gtkmenu.c:
2668         Combine the handling of transient for the attach-widget and the
2669         window group handling by setting transient-to on popup/popdown only.
2670
2671         See bug #340401
2672         
2673         * gtk/gtkprintunixdialog.c:
2674         Remove part of old fix no longer needed.
2675
2676 2006-05-12  Alexander Larsson  <alexl@redhat.com>
2677
2678         * gtk/gtkprintoperation.c (gtk_print_operation_set_n_pages):
2679         Update g_object_notify to new property name.
2680
2681 2006-05-12  Alexander Larsson  <alexl@redhat.com>
2682
2683         * gtk/gtkrecentmanager.c:
2684         Fix build errors.
2685         
2686         * gtk/gtk.symbols:
2687         * demos/gtk-demo/printing.c:
2688         * gtk/gtkprintoperation-win32.c:
2689         * gtk/gtkprintoperation.[ch]:
2690         * gtk/gtkprintsettings.[ch]: 
2691         * modules/printbackends/cups/gtkprintbackendcups.c:
2692         * modules/printbackends/lpr/gtkprintbackendlpr.c:
2693         * modules/printbackends/pdf/gtkprintbackendpdf.c:
2694         * tests/print-editor.c:
2695         * tests/testnouiprint.c:
2696         * tests/testprint.c:
2697         * tests/testprintfileoperation.c:
2698         Rename functions from nr_of_pages to n_pages, and num_copies to
2699         n_copies to match other gtk+ names.
2700         
2701         * gtk/gtkmenu.c: (gtk_menu_popdown):
2702         Only re-set window group on popdown if we set it on popup (i.e.
2703         if there is a parent menu shell).
2704         Fixed part of bug #340401
2705
2706         * gtk/gtkwindow.c:
2707         Add (contruct) property "transient-for" to GtkWindow. This
2708         is needed for the fix to bug #340401.
2709         
2710         * gtk/gtkprintunixdialog.c:
2711         Use the transient-for property on construction and populate the dialog
2712         with widgets after that. This fixes bug #340401.
2713         More n_pages renames.
2714
2715 2006-05-11  Emmanuele Bassi  <ebassi@cvs.gnome.org>
2716
2717         * gtk/gtkrecentmanager.h: Remove the error parameter to the
2718         gtk_recent_manager_add() and gtk_recent_manager_add_full()
2719         functions; remove the unneeded error codes from the error
2720         enumeration.  (#336774).
2721
2722         * gtk/gtkrecentmanager.c: Make gtk_recent_manager_add() and
2723         gtk_recent_manager_add_full() complain loudly about wrong or
2724         missing meta-data, instead of using a GError.  (#336774)
2725
2726 2006-05-11  Matthias Clasen  <mclasen@redhat.com>
2727
2728         * demos/gtk-demo/Makefile.am (demos): Add it here.
2729
2730         * demos/gtk-demo/printing.c (do_printing): Add a GtkPrintOperation demo.
2731
2732 2006-05-11  Carlos Garcia Campos  <carlosgc@gnome.org>
2733
2734         * gtk/gtkfilechooserembed.c: use I_() instead of _() when creating
2735         response-requested signal. Fixes bug #341416
2736
2737 2006-05-11  Matthias Clasen  <mclasen@redhat.com>
2738
2739         * gdk/gdkkeysyms.h: Regenerated from Xorg 7.1 keysyms.h, using
2740         gdkkeysyms-update.pl.
2741
2742         * gdk/gdkkeysyms-update.pl: Script to sync gdkkeysyms.h
2743         with Xorg.  (#321896, Simos Xenitellis)
2744
2745         * gdk/Makefile.am (EXTRA_DIST): Add gdkkeysyms-update.pl
2746
2747         * gdk/gdkkeysyms.h: Consistently use lowercase in hex numbers.
2748
2749 2006-05-10  Carlos Garnacho  <carlosg@gnome.org>
2750
2751         * gtk/gtknotebook.c: check that tab_label is not NULL before checking
2752         that it's notebook's child. Closes #341247.
2753
2754 Wed May 10 15:57:53 2006  Tim Janik  <timj@imendio.com>
2755
2756         * applied unified patch for configurable scroll arrow sizes from
2757         bug #333632 and bug #325282.
2758
2759         * gtk/gtkwidget.c (gtk_widget_class_init): added ::scroll-arrow-hlength
2760         and ::scroll-arrow-vlength style properties. fixed upper limit for
2761         ::separator-width and ::separator-height to be MAXINT.
2762
2763         * gtk/gtkmenu.c: use GtkWidget::scroll-arrow-vlength to determine the
2764         scroll arrow size, instead of using a hard coded constant.
2765
2766         * gtk/gtknotebook.c: use GtkWidget::scroll-arrow-vlength and
2767         GtkWidget::scroll-arrow-hlength to determine scroll arrow sizes.
2768         added GtkNotebook::arrow-spacing style property to configure the
2769         spacing between scroll arrows.
2770
2771 2006-05-10  Matthias Clasen  <mclasen@redhat.com>
2772
2773         * gtk/gtkpagesetupunixdialog.c: Don't include langinfo.h
2774         unconditionally.  (#341217)
2775
2776 2006-05-10  John (J5) Palmieri  <johnp@redhat.com>
2777
2778         * modules/printbackends/cups/gtkprintbackendcups.c:
2779         make the _CUPS_MAP_ATTR_STR macro not dup the string so we don't
2780         leak 
2781
2782 2006-05-10  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
2783
2784         * gtk/paper_names.c: Correct #11 Envelope typo.
2785
2786 2006-05-09  Tor Lillqvist  <tml@novell.com>
2787
2788         * gdk/win32/gdkevents-win32.c (doesnt_want_scroll): Look at both
2789         GDK_SCROLL_MASK and GDK_BUTTON_PRESS_MASK. (#139628)
2790
2791 2006-05-09  Matthias Clasen  <mclasen@redhat.com>
2792
2793         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add a :cursor-position
2794         property.  (#334412, Yevgen Muntyan)
2795
2796         * gtk/gtk.symbols:
2797         * gtk/gtkmessagedialog.[hc]: Add an image property.  (#337306, Alex Graveley)
2798
2799 2006-05-09  Carlos Garnacho  <carlosg@gnome.org>
2800
2801         * gtk/gtknotebook.c: create an independent GdkWindow to behave nicely
2802         during reordering with tab_labels with their own window, also use
2803         gtk_drag_set_icon_widget() for the DnD icon to avoid drawing garbage
2804         from offscreen regions. Closes bug #335707.
2805         (gtk_notebook_tab_space), (gtk_notebook_calculate_shown_tabs),
2806         (gtk_notebook_calculate_tabs_allocation): new functions, 
2807         gtk_notebook_pages_allocate() functionality has been splitted into
2808         these.
2809
2810 2006-05-08  Matthias Clasen  <mclasen@redhat.com>
2811
2812         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_add_shortcut_folder): 
2813         * gtk/gtktextbufferserialize.c (parse_attr_element): Fix some typos in
2814         messages.  (#341091, Tino Meinen)
2815
2816         * gtk/gtkstatusicon.c: Some cleanups.
2817         
2818         * gtk/gtkstatusicon.c (gtk_status_icon_get_property): Silently return
2819         NULL if the storage type of the image does not match.  (#340516, Christian
2820         Persch)
2821
2822         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Elide (_x) in the middle
2823         of the string, too.  (#323956, Abel Cheung)
2824
2825         * gtk/gtkuimanager.c (update_node): Fix tooltips. (#340527, Jon-Kare Hellan)
2826
2827         * configure.in: Require Pango 1.13.0
2828
2829         * gtk/gtknotebook.c: 
2830         * gtk/gtkwindow.c: 
2831         * gtk/gtkrange.c: Fix doc typos.
2832
2833 2006-05-08  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
2834
2835         * gtk/gtkprintunixdialog.c (gtk_print_unix_dialog_class_init):
2836         Corrected a duplicate word.
2837
2838         * gtk/gtkrecentmanager.c (gtk_recent_manager_add_full): Corrected
2839         a typo.
2840
2841 2006-05-07  Matthias Clasen  <mclasen@redhat.com>
2842
2843         * gtk/gtkrange.c (gtk_range_key_press):  Chain up, to
2844         make bindings work.  Noticed by Al Puzzuoli.
2845         
2846 2006-05-07  Matthias Clasen  <mclasen@redhat.com>
2847
2848         * gtk/gtkseparator.c: 
2849         * gtk/gtkscrollbar.c: 
2850         * gtk/gtkpaned.c: 
2851         * gtk/gtkoldeditable.c: 
2852         * gtk/gtkmisc.c: 
2853         * gtk/gtkitem.c: 
2854         * gtk/gtkimcontext.c: 
2855         * gtk/gtkrange.c:
2856         * gtk/gtkscale.c: Make types abstract again.
2857
2858 2006-05-06  Matthias Clasen   <mclasen@redhat.com>
2859         
2860         * gdk/gdkwindow.c (gdk_window_get_toplevels): Fix a wrong
2861         reference in the docs.  (#340870, Ed Catmur)
2862
2863 2006-05-05  Christian Persch  <chpe@cvs.gnome.org>
2864
2865         * modules/printbackends/cups/gtkprintbackendcups.c:
2866         * modules/printbackends/lpr/gtkprintbackendlpr.c:
2867         * modules/printbackends/pdf/gtkprintbackendpdf.c: Always register
2868           the type with the type module, even if it had been registered
2869           before. Fixes bug #340676.
2870
2871 2006-05-05  Matthias Clasen  <mclasen@redhat.com>
2872
2873         * gtk/gtkprintunixdialog.c: Use theme colors for 
2874         the page layout indicator, and do RTL flipping for
2875         the collate indicator.
2876
2877 2006-05-05  Matthias Clasen  <mclasen@redhat.com>
2878
2879         * configure.in: Require GLib 1.11.0
2880
2881         * configure.in: Bump version
2882
2883         * === Released 2.9.0 ===
2884
2885         * configure.in: Require cairo 1.1.6
2886
2887         * gtk/Makefile.am: Tweaks to make distcheck work.
2888
2889 2006-05-05  Alexander Larsson  <alexl@redhat.com>
2890
2891         * gtk/gtkprintoperation-unix.c:
2892         Implement per-page paper sizes.
2893         
2894         * gtk/gtkprintoperation.c:
2895         Implement per-page paper sizes for pdf output.
2896         Make gtk_print_operation_set_pdf_target() work again
2897         
2898         * tests/Makefile.am:
2899         * tests/testprint.c:
2900         * tests/testprintfileoperation.[ch]:
2901         Add more test code for printing support.
2902         This tests per-page paper sizes & orientation and
2903         deriving from GtkPrintOperation.
2904
2905 2006-05-04  Michael Emmel  <mike.emmel@gmail.com>
2906
2907         * gdk/directfb/gdkkeys-directfb.c: DIKI_ALTGR to compile with
2908         directfb 0.9.25.1
2909
2910 2006-05-04  Michael Natterer  <mitch@imendio.com>
2911
2912         * gtk/gtk.symbols: remove gtk_printer_set_backend so it compiles
2913         again.
2914
2915 2006-05-04  Alexander Larsson  <alexl@redhat.com>
2916
2917         * gtk/gtk.symbols:
2918         Added new symbols
2919         
2920         * gtk/gtkpagesetupunixdialog.c:
2921         * gtk/gtkprintunixdialog.c:
2922         Destroy backends when finalizing dialogs.
2923         Fix printer leak in selected_printer_changed.
2924         
2925         * gtk/gtkprintbackend.[ch]:
2926         Convert from interface to baseclass.
2927         Move printer hashtable here so that the baseclass can handle
2928         the slightly complicated ownership model.
2929         Add gtk_print_backend_destroy which runs the dispose method,
2930         causing the ref-cycles between the backend and its printers
2931         to be broken.
2932         Add gtk_print_backend_unref_at_idle().
2933         
2934         * gtk/gtkprinter.[ch]:
2935         GtkPrinter objects now ref their backend so that its always
2936         availible, since its needed for the printer object to work.
2937         This causes a reference-cycle that is broken using
2938         gtk_print_backend_destroy.
2939         Add gtk_printer_compare.
2940         
2941         * gtk/gtkprintoperation-private.h:
2942         * gtk/gtkprintoperation-unix.c:
2943         * gtk/gtkprintoperation.c:
2944         Implement !show_dialog for unix.
2945         Make sure the print data is fully spooled before returning
2946         from a sync run_dialog.
2947         
2948         
2949         * modules/printbackends/cups/gtkcupsutils.[ch]:
2950         Add gtk_cups_request_ipp_add_strings
2951         
2952         * modules/printbackends/cups/gtkprintbackendcups.c:
2953         * modules/printbackends/cups/gtkprintercups.c:
2954         * modules/printbackends/lpr/gtkprintbackendlpr.c:
2955         * modules/printbackends/pdf/gtkprintbackendpdf.c:
2956         Convert backends to derive instead of implementing interface.
2957         Move common code into baseclass.
2958         CUPS:
2959           Remove the printer polling in dispose, not finalize.
2960           In the cups watch, remove the backend at idle instead of
2961           immediately, since the unref can cause the module to be unloaded.
2962           Limit the number of printer attributes requested
2963           Get printer uri in initial printer listing so that we can use
2964           the printer object immediately.
2965         
2966         * tests/Makefile.am:
2967         * tests/testnouiprint.c:
2968         Add testcase for !show_dialog.
2969
2970 2006-05-04  Matthias Clasen  <mclasen@redhat.com>
2971
2972         * gtk/gtk.symbols:
2973         * gtk/gtkfilesystem.c:
2974         * gtk/gtkfilesystemunix.c:
2975         * gtk/gtkprintbackend.h:
2976         * gtk/gtkrecentchooserdefault.c:
2977         * gtk/gtkrecentchooserdefault.h:
2978         * gtk/paper_names_offsets.c: Make symbol list mstch reality.
2979         
2980         * gtk/Makefile.am: Fix a typo.
2981         
2982         * gdk/x11/Makefile.am (EXTRA_DIST): Add gdksettings.c
2983
2984 2006-05-03  Matthias Clasen  <mclasen@redhat.com>
2985
2986         * NEWS: Updates
2987
2988 2006-05-04  Murray Cumming <murrayc@murrayc.com>
2989
2990         * gtk/gtktreemodel.c: (gtk_tree_model_base_init): Changed the 
2991         language of the signals documentation slightly. Bug #340205.
2992
2993 2006-05-03  Federico Mena Quintero  <federico@novell.com>
2994
2995         Merged the federico-filename-entry branch, to fix bug #136541.
2996         Combined ChangeLogs:
2997
2998         2006-04-17  Federico Mena Quintero  <federico@novell.com>
2999
3000         * gtk/gtkfilechooserdefault.c (pending_select_paths_process):
3001         Oops, we *do* need to check that we are in OPEN mode before
3002         selecting the first row in the file list.  See
3003         https://bugzilla.novell.com/show_bug.cgi?id=166906
3004         (gtk_file_chooser_default_get_paths): If we are in the case for
3005         the file list, and the list has no selected rows, jump to the case
3006         for the filename entry.  This is so that
3007
3008                1. The user types a filename in the SAVE filename entry
3009                   ("foo.txt").
3010
3011                2. He then double-clicks on a folder ("bar") in the file
3012                   list.
3013
3014         will yield the expected "bar/foo.txt" selection.
3015
3016         2006-03-29  Federico Mena Quintero  <federico@novell.com>
3017
3018         * gtk/gtkpathbar.c (gtk_path_bar_init): Reduce the inter-button
3019         spacing to 0.
3020
3021         * gtk/gtkfilechooserdefault.c (browse_widgets_create): Make the
3022         location label bold.
3023
3024         2006-03-29  Federico Mena Quintero  <federico@novell.com>
3025
3026         * gtk/gtkfilechooserdefault.c (location_mode_set): Just change the
3027         location_mode field if we are in SAVE/CREATE_FOLDER modes.
3028         (gtk_file_chooser_default_get_paths): Get the path based on the
3029         currently focused widget, or the last-focused widget.  This is
3030         what we should have been doing in the beginning, but it worked out
3031         fine because we didn't have the possibility of a filename entry in
3032         OPEN mode.
3033         (gtk_file_chooser_default_should_respond): Handle the case where
3034         the last focused widget is the location_entry.
3035
3036         2006-03-28  Federico Mena Quintero  <federico@novell.com>
3037
3038         * gtk/gtkfilechoosersettings.[ch]: New files with a simple
3039         framework for saving/loading settings from the file chooser in
3040         $XDG_CONFIG_HOME/gtk-2.0/gtkfilechooser.
3041
3042         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_unmap):
3043         Save the current settings.
3044         (settings_save): New helper function.  We save the location_mode
3045         and show_hidden flags.
3046         (gtk_file_chooser_default_map): Load the settings.
3047         (settings_load): New helper function.
3048
3049         * gtk/gtkfilechooserentry.c
3050         (_gtk_file_chooser_entry_set_file_part): Oops, don't modify
3051         in_change.  Our handlers are what set the file_part, so they
3052         *must* be run when we modify the text.
3053
3054         2006-03-27  Federico Mena Quintero  <federico@novell.com>
3055
3056         * gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault):
3057         Removed the save_file_name_entry.  We'll make this be the same as
3058         the location_entry widget.
3059         (struct _GtkFileChooserDefault): Leave only location_button,
3060         location_entry_box, location_label, location_entry.  We'll use a
3061         single toggle button for the location entry, which will appear
3062         below the path bar.
3063         (struct _GtkFileChooserDefault): Added a
3064         processing_pending_selections flag.
3065
3066         * gtk/gtkfilechooserdefault.c (save_widgets_create): Destroy the
3067         old location_entry if necessary, and hide the location toggle
3068         widgets.
3069         (update_chooser_entry): In multiple selection mode, just clear the
3070         location_entry.
3071         (check_save_entry): Allow running in OPEN or SELECT_FOLDER modes
3072         if we are in LOCATION_MODE_FILENAME_ENTRY.
3073         (gtk_file_chooser_default_should_respond): Switch to a folder if
3074         the location_entry contains a folder name in OPEN and SAVE mode,
3075         not just SAVE mode.  If the entry doesn't contain a folder name,
3076         but is otherwise well-formed, and we are in OPEN mode, return that
3077         we should respond with that filename.
3078         (gtk_file_chooser_default_initial_focus): Focus the location_entry
3079         if appropriate.
3080         (browse_widgets_create): Create the location_entry_box and the
3081         location_label here.
3082         (update_appearance): Call location_mode_set() when switching back
3083         to OPEN/SELECT_FOLDER mode.  Hide the location_button when
3084         switching to SAVE/CREATE_FOLDER mode.
3085         (pending_select_paths_process): Turn the
3086         processing_pending_selections flag on and off around changes to
3087         the current selection.  Don't special-case OPEN mode anymore,
3088         since the new flag will take care of things in
3089         update_chooser_entry().
3090         (update_chooser_entry): Don't do anything if
3091         processing_pending_selections is TRUE.  This keeps the entry from
3092         being polluted when changing folders.
3093         (location_popup_handler): In OPEN/SELECT_FOLDER modes, toggle
3094         between the path bar and the entry.  In SAVE/CREATE_FOLDER modes, simply focus the
3095         location_entry.
3096         (update_from_entry): Removed.
3097         (location_entry_create): Removed.
3098         (open_location_cb): Removed.
3099         (file_list_build_popup_menu): Don't add an "Open _Location" menu item.
3100         (location_entry_set_initial_text): Don't do anything if
3101         current_folder is NULL.
3102
3103         * gtk/gtkfilechooserentry.c
3104         (_gtk_file_chooser_entry_set_file_part): Turn in_change on and off
3105         around the call to gtk_entry_set_text().  This makes completion
3106         not happen when the caller has explicitly set a name.
3107
3108         2006-03-24  Federico Mena Quintero  <federico@novell.com>
3109
3110         * gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault):
3111         Added fields location_mode_box, location_pathbar_radio,
3112         location_filename_radio, location_widget_box, location_label,
3113         location_entry.  The radio buttons will switch between the pathbar
3114         and the location entry; the other boxes are for layout purposes.
3115         (enum LocationMode): New enum.
3116         (struct _GtkFileChooserDefault): Added a location_mode field.
3117
3118         * gtk/gtkfilechooserdefault.c (browse_widgets_create): Create the
3119         location radio buttons to switch between the pathbar and the
3120         location entry.  Pack the browse_path_bar in the new
3121         location_widget_box instead of a generic hbox.
3122         (location_buttons_create): New function.
3123         (gtk_file_chooser_default_init): Initialize impl->location_mode.
3124         (location_switch_to_path_bar): New function.
3125         (location_switch_to_filename_entry): New function.
3126
3127         * gtk/gtkfilechooserbutton.c (model_add_special): The display_name
3128         should not be const.
3129
3130 2006-05-03  Matthias Clasen  <mclasen@redhat.com>
3131
3132         * gtk/gtkprintunixdialog.c: Replace the xpm collate icons
3133         by cairo drawing that respects themes.
3134
3135         * gdk/quartz/Makefile.am (libgdk_quartz_la_SOURCES): Add
3136         missing files.  (#340533, Ludovic Rousseau)
3137
3138         * gtk/gtkprintunixdialog.c (draw_page_cb): Don't leak the
3139         cairo context here.  (#340522, Christian Persch)
3140
3141         * gtk/gtkprintoperation-unix.c (unix_finish_send): Don't
3142         use gtk_dialog_run for the error dialog, and improve the
3143         dialog in other ways.  (#340510, Christian Persch)
3144
3145         * gtk/gtkpagesetupunixdialog.c: Beautify the custom
3146         paper size dialog.  (#339590, patch by Christian Persch)
3147         
3148         * gtk/gtkaccessible.c:
3149         * gtk/gtkclipboard.c:
3150         * gtk/gtkfilefilter.c:
3151         * gtk/gtkimmodule.c:
3152         * gtk/gtkmenubar.c: More G_DEFINE_TYPE conversion.
3153
3154         * gtk/gtkwidget.c: Make GtkWidget abstract again.
3155
3156 2006-05-02  Matthias Clasen  <mclasen@redhat.com>
3157
3158         * gtk/*.c: Use G_DEFINE_TYPE and g_type_register_static_simple()
3159         where applicable, for ~5000 lines of code reduction. This also
3160         reduces the size of the data section by ~9k. The overall library
3161         sizes shrinks a bit less, since the text section gets a bit
3162         larger.
3163
3164 2006-05-02  Kristian Rietveld  <kris@imendio.com>
3165
3166         * gtk/gtktreeview.c (gtk_tree_view_row_inserted): set tmpnode to
3167         the return value of the _gtk_rbtree_insert* functions, since that
3168         is the node we really want to check for visibilty.
3169
3170 2006-05-02  Matthias Clasen  <mclasen@redhat.com>
3171
3172         * gtk/gtkprinter.[hc]: Don't use virtual as a parameter name.
3173         (#340394, Christian Persch)
3174
3175 2006-05-02  Christian Persch  <chpe@cvs.gnome.org>
3176
3177         * gtk/gtkpagesetupunixdialog.c:
3178         * gtk/gtkprintcontext.c: 
3179         * gtk/gtkprinter.c:
3180         * gtk/gtkprinteroptionwidget.c:
3181         * gtk/gtkprintjob.c:
3182         * gtk/gtkprintoperation-unix.c:
3183         * gtk/gtkprintoperation.c:
3184         * gtk/gtkprintunixdialog.c: Use a priv variable when accessing priv
3185           multiple times in the same function. Bug #340288.
3186
3187 2006-05-02  Michael Natterer  <mitch@imendio.com>
3188
3189         * gtk/gtklabel.c (gtk_label_set_line_wrap): added note about the
3190         inablity to do height-for-width text layout and suggest to use
3191         gtk_widget_set_size_request() for getting a label that wraps at
3192         some specific position.
3193
3194 2006-05-02  Kristian Rietveld  <kris@imendio.com>
3195
3196         * ChangeLog.gtk-async-file-chooser: added ChangeLog entries from
3197         the kris-async-branch.
3198
3199         * Makefile.am: updated EXTRA_DIST
3200
3201 2006-05-02  Alexander Larsson  <alexl@redhat.com>
3202
3203         * ChangeLog.gtk-printing: 
3204         * Makefile.am (EXTRA_DIST):
3205         Add ChangeLog.gtk-printing
3206
3207 2006-05-01  Matthias Clasen  <mclasen@localhost.localdomain>
3208
3209         * NEWS: Updates
3210
3211 2006-05-02  Kristian Rietveld  <kris@imendio.com>
3212
3213
3214         * configure.in: Up ABI version to 2.10.0 (by Matthias' request).
3215
3216 2006-05-01  Kristian Rietveld  <kris@imendio.com>
3217
3218         Merge of the GTK+ asynchronous file chooser branch.  Please see
3219         the kris-asynch-branch for more detailed ChangeLog entries.
3220
3221         * configure.in: increase binary version to 2.9.0.
3222
3223         * gtk/gtk.symbols:
3224         * gtk/gtkfilechooser.c:
3225         * gtk/gtkfilechooserbutton.c:
3226         * gtk/gtkfilechooserdefault.c:
3227         * gtk/gtkfilechooserdialog.c:
3228         * gtk/gtkfilechooserembed.c:
3229         * gtk/gtkfilechooserembed.h:
3230         * gtk/gtkfilechooserentry.c:
3231         * gtk/gtkfilechooserentry.h:
3232         * gtk/gtkfilechooserprivate.h:
3233         * gtk/gtkfilesystem.c:
3234         * gtk/gtkfilesystem.h:
3235         * gtk/gtkfilesystemmodel.c:
3236         * gtk/gtkfilesystemmodel.h:
3237         * gtk/gtkfilesystemunix.c:
3238         * gtk/gtkpathbar.c:
3239         * gtk/gtkpathbar.h:
3240         Merge from kris-async-branch.
3241
3242 2006-05-01  Matthias Clasen  <mclasen@redhat.com>
3243
3244         * NEWS: Updates
3245
3246 2006-04-30  Matthias Clasen  <mclasen@redhat.com>
3247
3248         * gtk/gtktreemodel.c (gtk_tree_model_base_init): Document
3249         GtkTreeModel signals.
3250
3251 2006-04-19  Michael Emmel  <mike.emmel@gmail.com>
3252
3253         * gdk/directfb/gdkdrawable-directfb.c: removed all subtracting one on
3254         clipping
3255
3256 2006-04-30  Kristian Rietveld  <kris@imendio.com>
3257
3258         Fix for #340200, spotted by Torsten Schoenfeld.
3259
3260         * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): fix up logic
3261         calculating the level indentation,
3262         (gtk_tree_view_start_editing): remove code calculating the
3263         level indentation, since _get_cell_area() takes care of this for us.
3264
3265 2006-04-30  Matthias Clasen  <mclasen@redhat.com>
3266
3267         Fix problems with setting symbolic colors from rc files.
3268         (#338345, Benjamin Berg)
3269         
3270         * gtk/gtkrc.c (gtk_rc_settings_changed, gtk_rc_font_name_changed) 
3271         (gtk_rc_color_hash_changed, gtk_rc_reparse_all_for_settings): Don't
3272         freeze notification for settings changes while parsing; instead
3273         manually avoid recursion, and update the color hashes.
3274
3275 2006-04-30  Matthias Clasen  <mclasen@redhat.com>
3276
3277         * gtk/gtksettings.c (gtk_settings_class_init): Change the default
3278         value of the gtk-color-scheme setting to "".
3279
3280         * gtk/gtkprinteroption.c: 
3281         * gtk/gtkprinteroptionwidget.c: 
3282         * gtk/gtkprintunixdialog.c: Improve the print dialog layout,
3283         mark some more strings for translation.  (#340139, Christian Persch)
3284
3285         * gtk/gtkstatusicon.c (gtk_status_icon_class_init): Fix the definition
3286         of the ::size-changed signal, and improve its documentation.
3287         (#340112, Christian Persch)
3288
3289 2006-04-29  Behdad Esfahbod  <behdad@gnome.org>
3290
3291         * gtk/gtkwidget.c (gtk_widget_create_pango_layout)
3292         (gtk_widget_get/create_pango_context): Change colormap to font map in
3293         docs. (#340093)
3294
3295 2006-04-29  Matthias Clasen  <mclasen@redhat.com>
3296
3297         * gtk/gtk.symbols: 
3298         * gtk/gtkstatusicon.h: 
3299         * gtk/gtkstatusicon.c (gtk_status_icon_position_menu): Add a menu
3300         position function for use with popups on status icons.  (#334573, 
3301         Christian Persch)
3302
3303         * gtk/gtkwidget.c (gtk_widget_is_composited): Fix a C99ism.  (#340055,
3304         Kazuki Iwamoto)
3305
3306 2006-04-28  Matthias Clasen  <mclasen@redhat.com>
3307
3308         * gtk/gtkcellrenderertext.c (get_size): Use _static variants when
3309         copying and merging short-lived Pango layouts. (#340033, Morten Welinder)
3310
3311 2006-04-28  Behdad Esfahbod  <behdad@gnome.org>
3312
3313         * gtk/gtkwidget.c (gtk_widget_create_pango_layout): Fix typo in
3314         docs. (#340063)
3315
3316 2006-04-28  Matthias Clasen  <mclasen@redhat.com>
3317
3318         * gtk/gtktreeview.c (gtk_tree_view_drag_begin): Don't force
3319         the standard DND icon if the user has a custom DND source.  
3320         (#339522, Joe Wreschnig)
3321
3322 2006-04-28  Michael Natterer  <mitch@imendio.com>
3323
3324         * gtk/gtktextbuffer.c (create_clipboard_contents_buffer): keep a
3325         reference to the source buffer while the clipboard contents buffer
3326         exists, because it is needed for serializing the contents buffer.
3327         Makes copying from the contents buffer possible even after the
3328         resp. text view is destroyed (for example when there is a
3329         clipboard manager running on app exit) (bug #339195).
3330
3331 2006-04-27  Behdad Esfahbod  <behdad@gnome.org>
3332
3333         * gdk/gdkpango.c (gdk_pango_renderer_draw_glyphs): Cast to double
3334         before dividing by PANGO_SCALE. (#334582)
3335
3336 2006-04-27  Matthias Clasen  <mclasen@redhat.com>
3337
3338         * gtk/gtkentry.c (popup_position_func): Improve positioning
3339         of the menu when popped up by keynav.  (#334987, Christian
3340         Persch)
3341
3342         * gtk/gtkdnd.c (gtk_drag_set_icon_window): Handle the case
3343         of being called after the drag is cancelled.  (#339224, 
3344         Benjamin Otte)
3345
3346         * gdk/x11/gdkscreen-x11.c (_gdk_x11_screen_process_owner_change):
3347         Use XFixes only if it is available.  (#339839, Marko Anastasov)
3348
3349 2006-04-26  Federico Mena Quintero  <federico@novell.com>
3350
3351         * gtk/gtkdialog.c (gtk_dialog_close): Don't make this conditional
3352         on having a GTK_RESPONSE_CANCEL button -> end the idiocy.  Fixes
3353         bug #101293.
3354
3355 2006-04-26  Kristian Rietveld  <kris@imendio.com>
3356
3357         * gtk/gtktreeview.c (node_is_visible): new function,
3358         (validate_visible_area): when a node is validated, only queue a
3359         redraw for that node, not for the entire widget (a redraw for the
3360         entire widget is only needed when the sizes change, and
3361         _queue_resize() will take care of that),
3362         (do_validate_rows): do not queue a redraw, redraws are only needed
3363         for changes in the visible area and validate_visible_area() takes
3364         care of that,
3365         (gtk_tree_view_row_inserted): for fixed height mode, only queue
3366         a resize and redraw if the node is visible, else no redraw is needed.
3367
3368 2006-04-26  Kristian Rietveld  <kris@imendio.com>
3369
3370         If this new "row-ending-details" property is turned on, more
3371         detailed "details" will be passed to the theme engine for drawing
3372         the background, drop indicator and focus rectangle.  Requirement is
3373         that the theme engine supports these details. (#333760).
3374
3375         * gtk/gtktreeview.c (gtk_tree_view_class_init): add row-ending-details
3376         style property,
3377         (gtk_tree_view_bin_expose): pass more detailed detail to
3378         gtk_paint_flat_box() if the property is turned on,
3379         (gtk_tree_view_bin_expose): likewise for the drop indicator,
3380         (gtk_tree_view_bin_expose): likewise for the focus rectangle.
3381
3382 2006-04-26  Kristian Rietveld  <kris@imendio.com>
3383
3384         New "show-expanders" and "level-indentation" properties, which can
3385         be used for customizing the tree view.  (For example to do
3386         grouping as demonstrated in the test application).
3387         Discussion in #80869.
3388
3389         * gtk/gtktreeprivate.h: add level_indentation field.
3390
3391         * gtk/gtktreeview.c (gtk_tree_view_class_init),
3392         (gtk_tree_view_init), (gtk_tree_view_set_property),
3393         (gtk_tree_view_get_property): add the properties to the object,
3394         (gtk_tree_view_button_press), (do_prelight),
3395         (gtk_tree_view_bin_expose), (validate_row),
3396         (gtk_tree_view_discover_dirty_iter), (gtk_tree_view_get_cell_area),
3397         (gtk_tree_view_create_row_drag_icon): take the new properties
3398         into account,
3399         (gtk_tree_view_start_editing): fix cell placement code.
3400
3401         * tests/testgrouping.c: new test application, showing how to
3402         implement grouping.
3403
3404         * tests/Makefile.am: updated.
3405
3406 2006-04-25  Matthias Clasen  <mclasen@redhat.com>
3407
3408         * gdk/gdk.symbols: Add gdk_screen_is_composited
3409
3410         * gtk/gtkprintjob.c (gtk_print_job_set_source_file): Add docs.
3411
3412         * gtk/gtkprintoperation.c: Add docs.
3413
3414 Tue Apr 25 10:25:28 2006  Søren Sandmann  <sandmann@redhat.com>
3415
3416         * tests/testgtk.c (create_alpha_window): Create 'composited' label.
3417
3418         * tests/testgtk.c (on_composited_changed): New function, change
3419         the label to say whether the screen is composited or not.
3420
3421         * gtk/gtkwindow.c (gtk_window_on_composited_changed): When
3422         composited status change, invalidate the window and propagate the signal;.
3423
3424         * gtk/gtkwindow.c (gtk_window_map): Set the appropriate type hint
3425         if reset_type_hint is TRUE.
3426
3427         * gtk/gtkwindow.c (gtk_window_set_type_hint): If hint is one of
3428         the old hints, store a shadow copy in the public window->type_hint
3429         bitfield, otherwise set this field to normal. Set the private
3430         field to the type hint.
3431
3432         * gtk/gtkwindow.c (gtk_window_init): Initialize priv->type_hint. 
3433
3434         * gtk/gtkwindow.c (struct _GtkWindowPrivate): New field
3435         "reset_type_hint" indicating whether the type hint needs to be
3436         reset. New field type_hint containing a GdkWindowTypeHint.
3437
3438         * gtk/gtkwidget.c (propagate_composited_changed): New function to
3439         propagate changes in composited status.
3440         (gtk_widget_class_init): Add composited_changed signal.
3441         
3442         * gtk/gtkwidget.h (struct _GtkWidgetClass): New signal composited-changed.
3443
3444         * gtk/gtkwidget.c (gtk_widget_is_composited): New function.
3445
3446         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): Set transient for.
3447
3448         * gtk/gtktooltips.c (gtk_tooltips_force_window): Set the type hint
3449
3450         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Compute whether
3451         the item belongs to a menubar. Set the type_hint appropriately
3452         depending on the outcome.
3453
3454         * gtk/gtkmenu.c (gtk_menu_position): Set the default type hint here.
3455
3456         * gtk/gtkmenu.c (gtk_menu_attach_to_widget): connect to hierarchy
3457         changed on the attach widget.
3458
3459         * gtk/gtkmenu.c (attach_widget_hierarchy_changed): New function to
3460         set the transient_for property for menus.
3461
3462         * gtk/gtkdnd.c (set_icon_stock_pixbuf): Set the appropriate type hint.
3463
3464         * gtk/gtkcombo.c (gtk_combo_popup_list): Make the popup window
3465         transient for the toplevel.
3466
3467         * gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Set
3468         transient-for, for the popup window.
3469
3470         * gdk/x11/gdkwindow-x11.c (gdk_window_get_type_hint): Support for
3471         new window types.
3472
3473         * gdk/x11/gdkwindow-x11.c (gdk_window_set_type_hint): Add support
3474         for new window types.
3475
3476         * gdk/x11/gdkscreen-x11.c (_gdk_x11_screen_process_owner_change):
3477         New function called whenever the compositing manager comes and goes.
3478
3479         * gdk/x11/gdkscreen-x11.c (gdk_screen_is_composited): New function.
3480
3481         * gdk/x11/gdkscreen-x11.c
3482         (_gdk_x11_screen_request_cm_notification, make_cm_atom,
3483         check_is_composited): New functions
3484
3485         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
3486         _gdk_x11_screen_process_owner_change when an
3487         XFixesSelectionNotifyEvent is received.
3488
3489         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Call
3490         _gdk_x11_screen_request_cm_notification() on all screens.
3491
3492         * gdk/quartz/gdkscreen-quartz.c (gdk_screen_is_composited): Dummy
3493         implementation. 
3494
3495         * gdk/gdkscreen.c (gdk_screen_class_init): New signal,
3496         'composited-changed'.
3497
3498         * gdk/gdkwindow.h: Add new EWMH window types.
3499
3500         * gdk/win32/gdkscreen-win32.c (gdk_screen_is_composited) 
3501
3502 2006-04-25  Matthias Clasen  <mclasen@redhat.com>
3503         
3504         * modules/printbackends/cups/gtkprintbackendcups.c: 
3505         Add some more translatable PPD option names.
3506
3507 2006-04-24  Matthias Clasen  <mclasen@redhat.com>
3508
3509         * po/POTFILES.in:
3510         * po-properties/POTFILES.in: Updates
3511
3512         * gtk/paper_names.c: Declare PaperInfo here.
3513
3514         * gtk/gen-paper-names.c: Add a prefix to gettext msgids.
3515
3516         * gtk/paper_names_offsets.c: Regenerated.
3517         
3518         * gtk/gtkpapersize.c (gtk_paper_size_get_display_name):
3519         Use g_strip_context() to strip the prefix.
3520
3521 2006-04-24  Matthias Clasen  <mclasen@redhat.com>
3522         
3523         * gtk/gtkfontbutton.c: Small doc fixes.
3524
3525         * gtk/gtkprintunixdialog.h: 
3526         * gtk/gtkpagesetupunixdialog.h: Fix includes (#338665)
3527
3528         * gtk/gtkprintsettings.h (GtkPageRange): Declare in a way grokked by gtk-doc.
3529
3530         * gdk/gdkregion-generic.c: Documentation fixes.
3531
3532         * gdk/directfb/gdkmain-directfb.c: Make the comment not look like
3533         a doc comment.
3534
3535         * gtk/gtkprintunixdialog.c: Add docs.
3536
3537         * gtk/gtkstatusicon.c (gtk_status_icon_get_visible): Typo fix.
3538
3539 2006-04-24  Alexander Larsson  <alexl@redhat.com>
3540
3541         * gtk/gtkprinter.c:
3542         Don't ref the backend since the backend owns the printer.
3543
3544 2006-04-24  Alexander Larsson  <alexl@redhat.com>
3545
3546         * gtk/gtkpagesetupunixdialog.c (update_combo_sensitivity_from_printers):
3547         Remove spew.
3548
3549 2006-04-24  Alexander Larsson  <alexl@redhat.com>
3550
3551         * gtk/gtkprintunixdialog.c (create_page_setup_page):
3552         Even/Odd Pages -> Even/Odd Sheets
3553
3554 2006-04-24  Matthias Clasen  <mclasen@redhat.com>
3555
3556         * gtk/gtk.symbols:
3557         * gtk/gtkprintoperation.c (gtk_print_operation_run_async): Refactor the
3558         gtk_print_operation_run() code and add an _async version.
3559
3560         * gtk/gtkprintoperation-private.h:
3561         * gtk/gtkprintoperation-unix.c
3562         (_gtk_print_operation_platform_backend_run_dialog_async)
3563         (gtk_print_run_page_setup_dialog_async): Variants of the run functions
3564         which don't call gtk_dialog_run(), but only show the dialog and return,
3565         and handle the response in a signal handler.
3566
3567         * gtk/gtkprintoperation-win32.c (gtk_print_run_page_setup_dialog_async) 
3568         (_gtk_print_operation_platform_backend_run_dialog_async): Implement these 
3569         by calling the sync versions.
3570
3571         * gtk/gtkprintoperation-unix.c: Cleanups.
3572
3573         * gtk/gtkpagesetupunixdialog.c (gtk_page_setup_unix_dialog_get_page_setup):
3574         Remove redundant code.
3575
3576         * gtk/Makefile.am: Install gtkprintjob.h as Unix-specific print API.
3577
3578         * gtk/gtkprintoperation-unix.c (gtk_print_run_page_setup_dialog): 
3579         Return a copy of the original page setup if the dialog was canceled.
3580
3581 2006-04-24  Alexander Larsson  <alexl@redhat.com>
3582
3583         * gtk/gtkprintjob.h:
3584         Declare GtkPrintJob.
3585         
3586         * gtk/gtkprintunixdialog.c: (gtk_print_unix_dialog_get_settings):
3587         Change g_return_if_fail to g_return_val_if_fail.
3588
3589 2006-04-24  Alexander Larsson  <alexl@redhat.com>
3590
3591         * configure.in:
3592         Check for cairo-pdf.h.
3593         Check for cairo-ps.h on non-win32.
3594
3595 2006-04-24  Matthias Clasen  <mclasen@redhat.com>
3596
3597         * gtk/gtkclipboard.h: 
3598         * gtk/gtkprinter.c: 
3599         * gtk/gtkprintsettings.h: 
3600         * gtk/gtkprintsettings.c: Match parameter names with the headers.
3601
3602         * gtk/gtkprintoperation-unix.c (gtk_print_run_page_setup_dialog): 
3603         Add docs.
3604
3605         * gtk/gtktextbufferrichtext.c (gtk_text_buffer_deserialize): 
3606         * gtk/gtkstatusicon.c (gtk_status_icon_get_storage_type): 
3607         * gtk/gtktreeview.c (gtk_tree_view_set_search_position_func): 
3608         * gtk/gtktreeview.c (gtk_tree_view_get_headers_clickable): 
3609         * gtk/gtkcellrendererspin.c (gtk_cell_renderer_spin_new): 
3610         * gtk/gtkmenu.c (gtk_menu_get_for_attach_widget): Fix the docs.
3611
3612         * gtk/gtkprinter.h: Don't declare GtkPrintJob here.
3613         * gtk/gtkprinter-private.h: Instead include gtkprintjob.h.
3614
3615 2006-04-23  Matthias Clasen  <mclasen@redhat.com>
3616
3617         * gtk/gtkprinter-private.h: 
3618         * gtk/gtkprintbackend.h: 
3619         * gtk/gtkprinter.[hc]: 
3620         * gtk/gtkprintjob.[hc]: Use g types, add documentation, and some
3621         stylistic fixups.
3622
3623         * gtk/gtkaboutdialog.c (activate_url): Avoid a compiler warning.
3624
3625         * gtk/gtkpapersize.[hc]: Use g types, add documentation.
3626
3627         * gtk/gtkprintunixdialog.c (gtk_print_unix_dialog_get_settings): 
3628         Use g_return_val_if_fail in non-void functions.
3629
3630         * gtk/Makefile.am: Add gtkprintutils.[hc]
3631
3632         * gtk/gtkprintutils.[hc]: New files, move the unit conversion
3633         functions here.
3634
3635         * gtk/gtkpagesetupunixdialog.c: 
3636         * gtk/gtkprintsettings.c: 
3637         * gtk/gtkpagesetup.c: 
3638         * gtk/gtkpapersize.c: Replace all static copies of to_mm/from_mm
3639         by the copies in gtkprintutils.c.
3640
3641         * gtk/gtkpagesetup.[hc]: Use g types, add documentation.
3642
3643         * gtk/gtkprintsettings.c: More documentation
3644
3645 2006-04-22  Tor Lillqvist  <tml@novell.com>
3646
3647         * gtk/Makefile.am (gtk_private_h_sources): Small workaround for
3648         weird bug in some versions of Automake at least on Windows.
3649
3650 2006-04-21  Alexander Larsson  <alexl@redhat.com>
3651
3652         Merge the gtk-printing branch.
3653         For more detailed ChangeLog entries, see the ChangeLog.gtk-printing.
3654         
3655         * .cvsignore:
3656         * Makefile.am:
3657         * configure.in:
3658         * docs/tools/widgets.c:
3659         * gtk+-unix-print-2.0.pc.in:
3660         * gtk/Makefile.am:
3661         * gtk/gen-paper-names.c:
3662         * gtk/gtk.h:
3663         * gtk/gtk.symbols:
3664         * gtk/gtkenums.h:
3665         * gtk/gtkiconfactory.c:
3666         * gtk/gtkmarshalers.list:
3667         * gtk/gtkpagesetup.[ch]:
3668         * gtk/gtkpagesetupunixdialog.[ch]:
3669         * gtk/gtkpapersize.[ch]:
3670         * gtk/gtkprint-win32.[ch]:
3671         * gtk/gtkprintbackend.[ch]:
3672         * gtk/gtkprintcontext.[ch]:
3673         * gtk/gtkprinter-private.h:
3674         * gtk/gtkprinter.[ch]:
3675         * gtk/gtkprinteroption.[ch]:
3676         * gtk/gtkprinteroptionset.[ch]:
3677         * gtk/gtkprinteroptionwidget.[ch]:
3678         * gtk/gtkprintjob.[ch]:
3679         * gtk/gtkprintoperation-private.h:
3680         * gtk/gtkprintoperation-unix.c:
3681         * gtk/gtkprintoperation-win32.c:
3682         * gtk/gtkprintoperation.[ch]:
3683         * gtk/gtkprintsettings.[ch]:
3684         * gtk/gtkprintunixdialog.[ch]:
3685         * gtk/paper_names.c:
3686         * gtk/paper_names_offsets.c:
3687         Platform independent printing API and implementations
3688         for unix and windows.
3689
3690         * gtk/gtkstock.h:
3691         * gtk/stock-icons/24/gtk-orientation-landscape.png:
3692         * gtk/stock-icons/24/gtk-orientation-portrait.png:
3693         * gtk/stock-icons/24/gtk-orientation-reverse-landscape.png:
3694         Add stock icons for page orientation.
3695         
3696         * modules/Makefile.am:
3697         * modules/printbackends/Makefile.am:
3698         * modules/printbackends/cups/Makefile.am:
3699         * modules/printbackends/cups/gtkcupsutils.[ch]:
3700         * modules/printbackends/cups/gtkprintbackendcups.[ch]:
3701         * modules/printbackends/cups/gtkprintercups.[ch]:
3702
3703         Cups printing backend for unix.
3704         
3705         * modules/printbackends/lpr/Makefile.am:
3706         * modules/printbackends/lpr/gtkprintbackendlpr.[ch]:
3707         lpr printing backend for unix.
3708         
3709         * modules/printbackends/pdf/Makefile.am:
3710         * modules/printbackends/pdf/gtkprintbackendpdf.[ch]:
3711         print-to-pdf printing backend for unix.
3712         
3713         * tests/.cvsignore:
3714         * tests/Makefile.am:
3715         * tests/print-editor.c:
3716         Test application for printing.
3717
3718         * gdk/gdk.symbols:
3719         * gdk/win32/gdkevents-win32.c:
3720         * gdk/win32/gdkwin32.h:
3721         Add gdk_win32_set_modal_dialog_libgtk_only so that we can pump the
3722         mainloop while displaying a win32 common dialog.
3723
3724         * gdk/directfb/Makefile.am:
3725         Whitespace cleanup.
3726         
3727 2006-04-20  Paolo Borelli  <pborelli@katamail.com>
3728
3729         * gtk/gtkcombobox.c: plug small leak (#339132)
3730         * tests/testcombo.c: ditto
3731
3732 2006-04-19  Michael Emmel  <mike.emmel@gmail.com>
3733
3734         * gdk/directfb/gdkdrawable-directfb.c: fixed off by one error in
3735         clip patch from (#330824)
3736
3737 2006-04-19  Murray Cumming  <murrayc@murrayc.com>
3738
3739         * gtk/gtkfilechooserbutton.c: _GtkFileChooserButtonPrivate:
3740         Added has_title flag so we can remember whether a title has 
3741         been set.
3742         (gtk_file_chooser_button_constructor): If no title has been
3743         set then set it to the default title. This means that the 
3744         default title will be used if the dialog was instantiated with 
3745         g_object_new(), without using the gtk_file_chooser_button_new() 
3746         convenience function. This helps language bindings.
3747         (gtk_file_chooser_button_set_property): Set has_title when 
3748         setting the title.
3749
3750 2006-04-19  Tor Lillqvist  <tml@novell.com>
3751
3752         * gdk/win32/gdkkeys-win32.c (handle_special): Map VK_NUMPAD[0-9]
3753         to GDK_KP_[0-9]. (#337562)
3754
3755 2006-04-18  Matthias Clasen  <mclasen@redhat.com>
3756
3757         * gtk/gtkrc.c: Allocate pixmap_path dynamically, rather than
3758         using a fixed array of size 128.
3759
3760         * gtk/gtkiconcache.c: Apply a patch by Paolo Borelli to factor
3761         out a strip_suffix() function and save some memory.  (#338307)
3762
3763 2006-04-18  Carlos Garnacho  <carlosg@gnome.org>
3764
3765         * gtk/gtknotebook.c (gtk_notebook_pages_allocate): removed wrong
3766         condition check that caused tab labels not to be drawn under certain
3767         circumstances. Bug #338734.
3768
3769 2006-04-17  Kjartan Maraas  <kmaraas@gnome.org>
3770
3771         * configure.in: Remove obsolete entry for no_NO
3772         * po-properties/no.po: And the translation
3773         * po/no.po: And the translation.
3774
3775 2006-04-17  Matthias Clasen  <mclasen@redhat.com>
3776
3777         * demos/gtk-demo/colorsel.c (expose_event_callback): Small formatting
3778         fix.
3779
3780 2006-04-17  Christian Persch  <chpe@cvs.gnome.org>
3781
3782         * gtk/gtkdnd.c: (gtk_drag_dest_set), (gtk_drag_dest_set_proxy): Fix
3783         UMR in gtk_drag_dest_motion. Bug #338725.
3784
3785 2006-04-17  Matthias Clasen  <mclasen@redhat.com>
3786
3787         * gtk/gtksettings.c (gtk_settings_class_init): 
3788         * gtk/gtkentry.c (gtk_entry_class_init): Fix typos
3789         in property blurbs.  (#338772, Clytie Siddall)
3790
3791 2006-04-16  Richard Hult  <richard@imendio.com>
3792
3793         * gdk/quartz/gdkdrawable-quartz.c: (gdk_quartz_draw_drawable): Add check 
3794         for source being a window.
3795
3796         * gdk/quartz/gdkwindow-quartz.c: (_gdk_windowing_window_get_pointer):
3797         Don't assert on window not being the root window.
3798
3799 2006-04-16  Richard Hult  <richard@imendio.com>
3800
3801         * gdk/quartz/gdkdrawable-quartz.c: Remove leading cairo/ in include.
3802
3803 2006-04-16  Matthias Clasen <mclasen@redhat.com>
3804
3805         * gdk/x11/gdkwindow-x11.c (set_initial_hints ): Avoid a
3806         possible array overrun.  (Coverity)
3807
3808         * gtk/gtkcalendar.c (gtk_calendar_key_press): Avoid a
3809         possible array overrun.  (Coverity)
3810
3811         * gtk/gtktextbuffer.c (_gtk_text_buffer_remove_all_tags):
3812         Avoid a NULL dereference.  (Coverity)
3813
3814 2006-04-15  Matthias Clasen <mclasen@redhat.com>
3815
3816         * gtk/gtkrecentmanager.c: Make filename_warning() static,
3817         and use caseless matching when looking for file:/.  
3818         (#336772, Morten Welinder)
3819
3820 2006-04-13  Anders Carlsson  <andersca@imendio.com>
3821
3822         * gdk/quartz/gdkevents-quartz.c:
3823         (synthesize_enter_event):
3824         (synthesize_leave_event):
3825         (synthesize_crossing_events):
3826         Take grabs into account.
3827
3828         (find_window_for_event):
3829         Only return grabbed window when owner_events is FALSE.
3830
3831 2006-04-13  Matthias Clasen  <mclasen@redhat.com>
3832
3833         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Reorganize slightly
3834         to avoid a possible NULL dereference.  (Coverity)
3835
3836 2006-04-12  Matthias Clasen  <mclasen@redhat.com>
3837
3838         * gtk/gtktreeview.c (gtk_tree_view_get_arrow_xrange): Don't
3839         allow passing NULL for x1 or x2, adjust callers.
3840
3841         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_get_neighbor_sizes): 
3842         Reorganize to avoid a possible NULL pointer dereference.  (Coverity)
3843
3844         * gtk/gtknotebook.c (gtk_notebook_page_allocate): Reorganize
3845         to avoid a possible NULL dereference.  (Coverity)
3846
3847         * gdk/x11/gdkimage-x11.c (gdk_image_new_bitmap): Handle
3848         closed displays correctly.  (Coverity)
3849
3850         * contrib/gdk-pixbuf-xlib/Makefile.am:
3851         * modules/engines/pixbuf/Makefile.am
3852         * gdk-pixbuf/Makefile.am: Build fixes for Cygwin.  (#338262)
3853
3854         * gdk/x11/gdkselection-x11.c (make_list): Make this work
3855         for list == NULL.  (Coverity)
3856
3857         * gdk/x11/gdkkeys-x11.c (gdk_keymap_get_entries_for_keycode): 
3858         Rearrange the code a bit.
3859
3860         * gtk/gtktextlayout.c (gtk_text_layout_validate_yrange): 
3861         Handle _gtk_text_line_get_data() returning NULL in all
3862         cases.  (Coverity)
3863
3864         * gtk/gtkuimanager.c: Make find_menu_position and
3865         find_toolbar_position void.  (#338100)
3866
3867 2006-04-12  Anders Carlsson  <andersca@imendio.com>
3868
3869         * gdk/quartz/gdkkeys-quartz.c:
3870         Handle page up and page down.
3871
3872 2006-04-12  Anders Carlsson  <andersca@imendio.com>
3873
3874         * gdk/quartz/gdkdrawable-quartz.c:
3875         (_gdk_quartz_drawable_release_context):
3876         Don't flush if we're inside a begin_paint/end_paint pair.
3877         
3878         * gdk/quartz/gdkwindow-quartz.c:
3879         (gdk_window_impl_quartz_end_paint):
3880         Free clip region here.
3881
3882 2006-04-12  Matthias Clasen  <mclasen@redhat.com>
3883
3884         * gtk/gtkuimanager.c (start_element_handler): Don't pass
3885         a negative value as string length to get_child_node().  (Coverity)
3886
3887         * gtk/gtkicontheme.c (insert_theme): Handle dirs == NULL
3888         gracefully.  (Coverity)
3889
3890         * gtk/gtknotebook.c (gtk_notebook_remove): Silently do nothing
3891         if the widget is not a child.  (Coverity)
3892
3893 2006-04-11  Matthias Clasen  <mclasen@redhat.com>
3894
3895         * gdk/x11/gdkkeys-x11.c (get_xkb): Return early in error
3896         cases.  (Coverity)
3897
3898         * gtk/gtktextview.c (selection_motion_event_handler): Remove
3899         some unused variables.
3900
3901         * gtk/gtktreeview.c ((gtk_tree_view_search_position_func): Apply
3902         a patch from David Trowbridge to improve the positioning of the
3903         search popup.  (#338047)
3904
3905 2006-04-11  Emmanuele Bassi  <ebassi@cvs.gnome.org>
3906
3907         * gtk/gtkrecentmanager.c (gtk_recent_manager_init)
3908         (gtk_recent_manager_new): Remove the unneeded setting of the
3909         storage file inside the constructor. (Murray Cumming)
3910         (build_recent_items_list): Reset the dirty bit when done rebuilding
3911         the list from the storage file.
3912
3913 2006-04-11  Matthias Clasen  <mclasen@redhat.com>
3914
3915         * gtk/gtkscale.c (gtk_scale_get_layout_offsets): Silence
3916         compiler warnings.
3917
3918         * gtk/gtkinputdialog.c (gtk_input_dialog_set_mapping_mode): Don't
3919         dereference info before checking it for NULL.  (Coverity)
3920
3921 2006-04-11  Anders Carlsson  <andersca@mac.imendio.com>
3922
3923         * gdk/quartz/GdkQuartzView.c:
3924         (-[GdkQuartzView drawRect:]):
3925         * gdk/quartz/gdkdrawable-quartz.c:
3926         (gdk_quartz_ref_cairo_surface):
3927         (_gdk_quartz_drawable_get_context):
3928         (_gdk_quartz_drawable_release_context):
3929         * gdk/quartz/gdkwindow-quartz.c:
3930         (gdk_window_impl_quartz_finalize):
3931         (gdk_window_impl_quartz_class_init):
3932         (gdk_window_impl_quartz_begin_paint_region):
3933         (gdk_window_impl_quartz_end_paint):
3934         (gdk_window_impl_quartz_invalidate_maybe_recurse):
3935         (gdk_window_impl_quartz_process_updates):
3936         (gdk_window_impl_quartz_paintable_init):
3937         (_gdk_window_impl_quartz_get_type):
3938         * gdk/quartz/gdkwindow-quartz.h:
3939         Have GdkWindowImplQuartz implement GdkPaintable.
3940
3941 2006-04-10  Michael Natterer  <mitch@imendio.com>
3942
3943         * gtk/gtktextbufferrichtext.c (gtk_text_buffer_deserialize):
3944         pasted rich text should not be affected by tags that are active at
3945         the insertion point. Therefore, remove and remember all active
3946         tags, and re-apply them left and right of the inserted text after
3947         pasting. Fixes bug #337653.
3948
3949 2006-04-11  Anders Carlsson  <andersca@imendio.com>
3950
3951         * gdk/gdkinternals.h:
3952         * gdk/gdkwindow.c:
3953         (_gdk_paintable_get_type):
3954         (gdk_window_begin_paint_region):
3955         (gdk_window_end_paint):
3956         (gdk_window_process_updates):
3957         (gdk_window_invalidate_maybe_recurse):
3958         Add new GdkPaintable interface which implementation objects can 
3959         implement in order to override gdk painting functions.
3960
3961 2006-04-10 Vladimer Sichinava  <vlsichinava@gmail.com>
3962
3963         * configure.in: Added "ka" (Georgian) to ALL_LINGUAS
3964
3965 2006-04-07  Hans Breuer  <hans@breuer.org>
3966
3967         * gtk/makefile.msc.in tests/makefile.msc : updated
3968
3969 2006-04-06  Tor Lillqvist  <tml@novell.com>
3970
3971         Correct the appearance of non-square icons and cursors: pad them
3972         to square so that Windows won't stretch them.
3973
3974         * gdk/win32/gdkcursor-win32.c (create_alpha_bitmap)
3975         (create_color_bitmap): Always create square bitmaps, take only
3976         side length as argument.
3977         (pixbuf_to_hbitmaps_alpha_winxp, pixbuf_to_hbitmaps_normal):
3978         Corresponding changes.
3979
3980 2006-04-05  Matthias Clasen  <mclasen@redhat.com>
3981
3982         * gtk/gtktextview.c (text_window_realize): Lower the window, to
3983         prevent late-constructed text windows from covering child 
3984         widgets.  (#336796, Yevgen Muntyan)
3985
3986         * gtk/gtkmain.c (gtk_grab_add, gtk_grab_remove, gtk_grab_notify) 
3987         (gtk_grab_notify_foreach): Rework the code which emits ::grab-notify
3988         signals to ensure that we emit enough signals. Also optimize the
3989         code to not do unnecessary tree walking.
3990
3991         * gtk/gtkwidget.c (gtk_widget_class_init): Document ::grab-notify.
3992
3993 2006-04-05  Paolo Borelli  <pborelli@katamail.com>
3994
3995         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle the case of \r
3996         and \n split across lines. Bug #337022.
3997         * tests/testtextbuffer.c: add unit test.
3998
3999 Tue Apr  4 12:25:36 2006  Søren Sandmann  <sandmann@redhat.com>
4000
4001         * gdk/x11/gdkimage-x11.c (gdk_image_class_init): Add "_private" to
4002         make it build.
4003
4004 2006-04-04  Matthias Clasen  <mclasen@redhat.com>
4005
4006         * gdk/gdkdisplay.c: 
4007         * gdk/gdkdisplaymanager.c:
4008         * gdk/gdkdraw.c:
4009         * gdk/gdkkeys.c:
4010         * gdk/gdkpixmap.c:
4011         * gdk/gdkscreen.c:
4012         * gdk/gdkwindow.c:
4013         * gdk/x11/gdkcolor-x11.c:
4014         * gdk/x11/gdkdisplay-x11.c:
4015         * gdk/x11/gdkdnd-x11.c:
4016         * gdk/x11/gdkdrawable-x11.c:
4017         * gdk/x11/gdkgc-x11.c:
4018         * gdk/x11/gdkimage-x11.c:
4019         * gdk/x11/gdkinput.c:
4020         * gdk/x11/gdkpixmap-x11.c:
4021         * gdk/x11/gdkscreen-x11.c:
4022         * gdk/x11/gdkwindow-x11.c: Use G_DEFINE_TYPE.
4023
4024         * gdk/x11/gdkcolor-x11.c: 
4025         * gdk/x11/gdkdnd-x11.c:
4026         * gdk/x11/gdkimage-x11.c: Use instance private data.
4027
4028 2006-04-03  Matthias Clasen  <mclasen@redhat.com>
4029
4030         * gdk/gdkrgb.c: Get rid of a duplicate copy of the visual names.
4031
4032         * gtk/gtkmain.c: Make gtk_args const.
4033
4034         * gtk/gtkicontheme.c (pixbuf_supports_svg): Save one static.
4035
4036         * gtk/gtkrecentchooser.c (gtk_recent_chooser_error_quark):
4037         * gtk/gtkrecentmanager.c (gtk_recent_manager_error_quark):
4038         * gtk/gtkfilechooser.c (gtk_file_chooser_error_quark):
4039         * gtk/gtkfilesystem.c (gtk_file_system_error_quark):
4040         * gtk/gtkicontheme.c (gtk_icon_theme_error_quark): No point
4041         in making the error path fast by caching quarks. 
4042
4043         * gtk/gtkfilesel.c (no_stat_dirs): Avoid relocation.
4044
4045         * gdk/gdk.c: Here too.
4046
4047         * gdk/gdkinternals.h: 
4048         * gdk/x11/gdkmain-x11.c: 
4049         * gdk/win32/gdkmain-win32.c: 
4050         * gdk/directfb/gdkdisplay-directfb.c: 
4051         * gdk/quartz/gdkmain-quartz.c: Make _gdk_windowing_args const.
4052
4053         * gdk/win32/gdkpixmap-win32.c: Include gdkscreen.h  (#337032,
4054          Kazuki IWAMOTO)
4055
4056         * gtk/gtkprogressbar.c (gtk_progress_bar_set_text): Mention
4057         that %NULL is allowed.  (#336937, Christian Neumair)
4058
4059         * gtk/gtkmain.c: Get rid of an unnecessary static variable.
4060
4061         * gtk/gtktextlayout.c: Fix a warning.
4062         
4063         * gtk/gtktextsegment.h: 
4064         * gtk/gtktextsegment.c: 
4065         * gtk/gtktextchild.c:
4066         * gtk/gtktextbtree.c:
4067         * gtk/gtktextmark.c: 
4068         * gtk/gtktexttypes.h: Make the segment class pointers const.
4069
4070         * gtk/gtktextbufferserialize.c: Make parser struct const.
4071         
4072         * gtk/gtkuimanager.c: Make parser struct const.
4073
4074         * gtk/gtklinkbutton.c: Make the default colors const.
4075
4076         * gtk/gtkuimanager.c: Avoid relocations. 
4077
4078         * gtk/gtkxembed.c (_gtk_xembed_message_name): Reduce size of static
4079         buffer.
4080
4081         * gtk/gtktext.c (gtk_text_key_press): Avoid relocations.
4082
4083         * gtk/gtkrc.c (gtk_rc_add_initial_default_files) 
4084         (gtk_rc_add_default_file): Allocate the gtk_rc_default_files array
4085         dynamically.
4086
4087 2006-04-02  Matthias Clasen  <mclasen@redhat.com>
4088
4089         * gtk/gtkrc.c: Avoid relocations for the array of symbol names. 
4090
4091         * gtk/gtkruler.c: Remove unused strings from the ruler_metrics 
4092         structs, to avoid relocations.  (#336917, Stephane Chauveau)
4093
4094 2006-04-02  Emmanuele Bassi  <ebassi@cvs.gnome.org>
4095
4096         * gtk/gtkrecentmanager.c (gtk_recent_manager_set_filename): Build
4097         the items list after setting the storage file.
4098
4099         * gtk/gtkrecentmanager.c (display_closed): Use the right string
4100         for unsetting the default manager object from the screen.       
4101
4102 2006-04-01  Behdad Esfahbod  <behdad@gnome.org>
4103
4104         * gtk/gtkfilesel.c (gtk_file_selection_get_filename): Oops. (#336784)
4105
4106 2006-04-01  Behdad Esfahbod  <behdad@gnome.org>
4107
4108         * gtk/gtkfilesel.c (gtk_file_selection_get_filename): Use a GString
4109         instead of static buffer to reduce .bss by 8kb. (#336784)
4110
4111 2006-04-01  Dom Lachowicz <cinamod@hotmail.com>
4112
4113         * modules/engines/ms-windows/msw_style.c (draw_hline): Emulate WinXP's
4114         drawing of menu separators
4115         
4116 2006-03-31  Behdad Esfahbod  <behdad@gnome.org>
4117
4118         * gtk/gtkrecentmanager.c: Convert filenames to UTF-8 before printing
4119         them out in warning messages. (#336770, Morten Welinder)
4120
4121 2006-03-31  Behdad Esfahbod  <behdad@gnome.org>
4122
4123         * gtk/gtkrecentmanager.c (gtk_recent_info_last_application): Update
4124         last_stamp inside the look. (#336771, Morten Welinder)
4125
4126 2006-03-31  Behdad Esfahbod  <behdad@gnome.org>
4127
4128         * gtk/gtkrecentchoosermenu.c (gtk_recent_chooser_menu_get_property):
4129         Add missing break. (#336769, Morten Welinder)
4130
4131 2006-03-31  Behdad Esfahbod  <behdad@gnome.org>
4132
4133         * gtk/gtkfilesystem.c (gtk_file_system_get_bookmark_label):
4134         * gtk/gtklinkbutton.c (gtk_link_button_new_with_label): Return NULL
4135         instead of FALSE in g_return_val_if_fail in a pointer-returning
4136         function. (#336764, Morten Welinder)
4137
4138 2006-04-01  Gora Mohanty  <gmohanty@cvs.gnome.org>
4139
4140         * configure.in: Added 'or' (Oriya) to ALL_LINGUAS.
4141
4142 2006-03-31  Matthias Clasen  <mclasen@redhat.com>
4143
4144         * gtk/gtkrecentmanager.c (gtk_recent_info_get_age): Don't
4145         assert that the age is positive.  (#336773, Morten Welinder)
4146
4147 2006-03-31  Matthias Clasen  <mclasen@redhat.com>
4148
4149         * gtk/gtkicontheme.c (load_icon_data): Don't leak the keyfile 
4150         parser in the error case. 
4151         
4152         * gtk/gtkicontheme.c (load_icon_data, free_unthemed_icon) 
4153         (icon_data_free, load_themes):
4154         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon_data): Use the slice
4155         allocator for GtkIconData and UnthemedIcon structs.
4156
4157 2006-03-30  Behdad Esfahbod  <behdad@gnome.org>
4158
4159         * gtk/gtkcalendar.c: Fix translation comments for localizable
4160         digit formats. (fixes bug #336650)
4161
4162 2006-03-30  Matthias Clasen  <mclasen@redhat.com>
4163
4164         * gtk/gtkrecentmanager.h (struct _GtkRecentData): Fix the doc
4165         comment format.
4166
4167         * gtk/gtkrecentmanager.c (gtk_recent_manager_has_item) 
4168         (gtk_recent_manager_purge_items, gtk_recent_manager_lookup_item) 
4169         (gtk_recent_manager_get_limit, gtk_recent_manager_add_full) 
4170         (gtk_recent_manager_get_items, gtk_recent_manager_remove_item): 
4171
4172         * gtk/gtkrecentfilter.c (gtk_recent_filter_add_age): 
4173         * gtk/gtkrecentchooser.c (gtk_recent_chooser_set_show_numbers) 
4174         (gtk_recent_chooser_set_sort_func): 
4175         * gtk/gtknotebook.h (gtk_notebook_set_tab_detachable): Sync
4176         parameter names between .c and .h files to help gtk-doc.
4177
4178         * gdk/gdkregion-generic.c (gdk_region_get_clipbox): Reword
4179         docs to help gtk-doc.
4180
4181         * docs/tools/widgets.c (get_all_widgets): Add 
4182         GtkRecentChooserDialog.
4183
4184         * gtk/gtkdnd.c (gtk_drag_get_icon): Make sure to get an
4185         icon window when constructing the fallback_icon. This
4186         fixes a crash when dragging icons between screens in
4187         nautilus.  (#325751, Hylke van der Schaaf)
4188
4189 2006-03-30  Michael Emmel  <mike.emmel@gmail.com>
4190
4191         * gdk/directfb/gdkpixmap-directfb.c implement
4192             (gdk_pixmap_foreign_new_for_screen)
4193
4194 2006-03-30  Emmanuele Bassi  <ebassi@cvs.gnome.org>
4195
4196         Add documentation for the GtkLinkButton (#336592)
4197
4198         * docs/reference/tmpl/gtklinkbutton.sgml: Add description
4199         of the GtkLinkButton.
4200
4201         * docs/reference/gtk/migrating-GtkLinkButton.sgml: Guidelines
4202         for migrating code from GnomeHRef to the GtkLinkButton.
4203
4204         * docs/reference/gtk/gtk-docs.sgml:
4205         * docs/reference/gtk/Makefile.am: Build glue for the porting
4206         guide.
4207
4208 2006-03-29  Matthias Clasen <mclasen@redhat.com>
4209
4210         * gdk/gdk.symbols:
4211         * gdk/gdkpixmap.h:
4212         * gdk/win32/gdkpixmap-win32.c:
4213         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new_for_screen):
4214         New function to allow wrapping a native pixmap without
4215         a server roundtrip.  (#334954, David Baron) 
4216
4217         * gtk/gtk.symbols:
4218         * gtk/gtkrecent*.c: Fix some symbol aliasing glitches.
4219
4220 2006-03-29  Emmanuele Bassi  <ebassi@cvs.gnome.org>
4221
4222         * gtk/gtkrecentchoosermenu.c: Make gtkalias.h the last included file.
4223
4224 2006-03-29  Emmanuele Bassi  <ebassi@cvs.gnome.org>
4225
4226         * gtk/gtk.symbols: Fix a typo that broke aliasing rules.
4227
4228 2006-03-29  Richard Hult  <richard@imendio.com>
4229
4230         * gdk/quartz/gdkproperty-quartz.c: Add missing CLIPBOARD atom.
4231
4232 2006-03-29  Emmanuele Bassi  <ebassi@cvs.gnome.org>
4233
4234         * docs/reference/gtk/migrating-GtkRecentChooser.sgml: Add a migration
4235         guide for porting to the new GtkRecent stuff from the old EggRecent
4236         code.
4237
4238         * docs/reference/gtk/tmpl/gtkrecentchooser.sgml:
4239         * docs/reference/gtk/tmpl/gtkrecentchooserdialog.sgml:
4240         * docs/reference/gtk/tmpl/gtkrecentchoosermenu.sgml:
4241         * docs/reference/gtk/tmpl/gtkrecentchooserwidget.sgml:
4242         * docs/reference/gtk/tmpl/gtkrecentfilter.sgml:
4243         * docs/reference/gtk/tmpl/gtkrecentmanager.sgml: Add template files
4244         for the reference guide.
4245
4246         * docs/reference/gtk/gtk-docs.sgml:
4247         * docs/reference/gtk/gtk-sections.txt:
4248         * docs/reference/gtk/Makefile.am: Build glue for add GtkRecent to
4249         the reference guide.
4250
4251 2006-03-29  Emmanuele Bassi  <ebassi@cvs.gnome.org>
4252
4253         * tests/Makefile.am:
4254         * tests/testrecentchooser.c: Add a test suite for GtkRecentChooser.
4255
4256 2006-03-29  Emmanuele Bassi  <ebassi@cvs.gnome.org>
4257
4258         Import GtkRecent* from libegg.
4259
4260         * gtk/gtkrecentmanager.[ch]: Add GtkRecentManager, an object
4261         for managing a list of recently used resources.
4262
4263         * gtk/gtkrecentchooser.[ch]:
4264         * gtk/gtkrecentchooserdefault.[ch]:
4265         * gtk/gtkrecentchooserdialog.[ch]:
4266         * gtk/gtkrecentchoosermenu.[ch]:
4267         * gtk/gtkrecentchooserprivate.h:
4268         * gtk/gtkrecentchooserutils.[ch]:
4269         * gtk/gtkrecentchooserwidget.[ch]: Add GtkRecentChooser, a
4270         GTypeInterface for widgets implementing viewers for recently
4271         used resources.
4272
4273         * gtk/gtkrecentfilter.[ch]: GtkRecentFilter, a filter object
4274         for GtkRecentChooser implementations.
4275
4276         * gtk/gtk.h:
4277         * gtk/gtk.symbols:
4278         * gtk/Makefile.am: Build glue for GtkRecent*.
4279
4280 2006-03-29  Matthias Clasen  <mclasen@redhat.com>
4281
4282         * gtk/gtknotebook.c (gtk_notebook_real_insert_page): Emit
4283         page-added before switch-page.  (#335691, Christian Persch)
4284
4285 2006-03-29  Matthias Clasen  <mclasen@redhat.com>
4286
4287         * gtk/gtkfilechooserdefault.c (queue_edited_idle): Handle
4288         double queuing, rather than asserting that it does not 
4289         happen.  (#330617)
4290
4291 2006-03-28  Matthias Clasen  <mclasen@redhat.com>       
4292
4293         * gtk/gtknotebook.c (gtk_notebook_set_tab_detachable): Fix
4294         docs syntax, also commit a patch from #335707 to improve
4295         notebook DND with window widgets.
4296
4297         * gtk/gtktextview.c (gtk_text_view_start_selection_drag): 
4298         (selection_motion_event_handler): Fix drag-selection after
4299         double-click.  (#323862, Benjamin Berg)
4300
4301         * gtk/gtktextview.c (get_iter_at_pointer): Factor this out
4302         into a function and use it in move_mark_to_pointer_and_scroll,
4303         drag_scan_timeout and selection_motion_event_handler.
4304         (Paolo Borelli)
4305
4306 2006-03-28  Matthias Clasen  <mclasen@redhat.com>
4307
4308         * gtk/gtktextview.c (gtk_text_view_do_popup) 
4309         (gtk_text_view_grab_notify): Move the call to 
4310         gtk_text_view_end_selection_drag() from gtk_text_view_do_popup
4311         to gtk_text_view_grab_notify, so that it works not only
4312         for the text views own popup, but also for other ways in which
4313         we might become grab-shadowed during a selection drag.
4314         (#74620, Li Yuan)
4315
4316 2006-03-28  Sven Herzberg  <herzi@gnome-de.org>
4317
4318         reviewed by: Tim Janik
4319         
4320         * gtk/gtkpixmap.c: (gtk_pixmap_set): only check for equal colormaps if
4321         the new pixmap is not NULL; fixes a warning when gtk_pixmap_set is
4322         called from gtk_pixmap_finalize (bug 336254)
4323
4324 2006-03-27  Anders Carlsson  <andersca@imendio.com>
4325
4326         * gdk/quartz/gdkevents-quartz.c:
4327         (select_thread_func):
4328         (got_fd_activity):
4329         (poll_func):
4330         (gdk_event_translate):
4331         Make the poll func work with real file descriptors.
4332         We do this by creating a thread which calls poll and then
4333         signals the main thread using a run loop source.
4334         
4335         * gtk/gtkclipboard-quartz.c:        
4336         (-[GtkClipboardOwner pasteboard:provideDataForType:]):
4337         Remove debugging output
4338
4339 2006-03-27  Matthias Clasen  <mclasen@redhat.com>
4340
4341         * gtk/gtkmnemonichash.c (_gtk_mnemonic_hash_activate): Check that 
4342         the widget is viewable.  (#336200, Bastian Nocera)
4343
4344 2006-03-27  Michael Natterer  <mitch@imendio.com>
4345
4346         * gtk/gtkmenu.c (gtk_menu_scroll_by): bail out if there is no need
4347         for scrolling (more obvious than adding additional conditions to
4348         the scroll offset calculation). Fixes bug #335912.
4349
4350 2006-03-27  Anders Carlsson  <andersca@imendio.com>
4351
4352         * gtk/Makefile.am:
4353         Add -xobjective-c to cflags.
4354         (#335956, Lllian Angel)
4355         
4356         * gtk/gtkdnd-quartz.c:
4357         (gtk_drag_dest_set_track_motion):
4358         (gtk_drag_dest_get_track_motion):
4359         Add stubs for new functions.
4360         (#335955, Lillian Angel)
4361         
4362 2006-03-27  Richard Hult  <richard@imendio.com>
4363
4364         * gdk/quartz: Add more stubs.
4365
4366 2006-03-27  Michael Natterer  <mitch@imendio.com>
4367
4368         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_property):
4369         add missing ')'.
4370
4371 2006-03-26  Matthias Clasen  <mclasen@redhat.com>
4372
4373         * gtk/Makefile.am: Fix a srcdir != builddir build problem.
4374         (#335915, Yevgen Muntyan)
4375
4376         * gtk/gtktextbuffer.c (gtk_text_buffer_get_property):
4377         * gtk/gtksettings.c (gtk_settings_get_property):
4378         * gtk/gtkuimanager.c (gtk_ui_manager_get_property): Fix leaks.
4379
4380         * gtk/gtktexttag.c (gtk_text_tag_get_property):
4381         * gtk/gtkcellrenderertext.c (gtk_cell_render_text_get_property):
4382         Avoid an unnecessary strdup.  (#336013)
4383
4384 2006-03-24  Matthias Clasen  <mclasen@redhat.com>
4385
4386         * gtk/gtktextview.c (gtk_text_view_value_changed): Don't call
4387         gdk_window_invalidate_rect() on unrealized widgets.  (#335717,
4388         Nicolas Setton)
4389
4390 Fri Mar 24 14:53:20 2006  Tim Janik  <timj@imendio.com>
4391
4392         * gtk/gtktreemodel.h: 
4393         * gtk/gtktextbtree.h: back out G_GNUC_WARN_UNUSED_RESULT on iterator
4394         functions which turned out to cause too much trouble.
4395
4396 2006-03-23  Matthias Clasen  <mclasen@redhat.com>
4397
4398         * AUTHORS: small update
4399
4400 2006-03-23  Matthias Clasen  <mclasen@redhat.com>
4401
4402         Support subclasses in RC files.  (#142417, Todd Berman, patch
4403         based on a patch by Benjamin Berg)
4404         
4405         * gtk/gtkrc.h: 
4406         * gtk/gtkrc.c: Support <classname> elements in widget_class paths 
4407         in rc files which match any classes derived from named class.
4408
4409         (_gtk_rc_init): Use the new syntax in the default rc string.
4410
4411         * gtk/gtkbindings.c: Support the new syntax for bindings too.
4412         
4413         * tests/testrc.c: Tests for widget_class path matching
4414
4415 2006-03-23  Carlos Garnacho  <carlosg@gnome.org>
4416
4417         * gtk/gtkdnd.c (gtk_drag_dest_motion): make sure that gdk_drag_event()
4418         is called when track_motion is TRUE to receive drag_motion and
4419         drag_leave events properly.
4420
4421 2006-03-22  Matthias Clasen  <mclasen@redhat.com>
4422
4423         * gtk/gtknotebook.c (gtk_notebook_remove): Emit the ::page-removed
4424         signal after removing the page.  (#335238, Christian Persch)
4425
4426 2006-03-22  Carlos Garnacho  <carlosg@gnome.org>
4427
4428         * gtk/gtkexpander.c: Make it to expand when hovering during DnD
4429
4430 2006-03-22  Matthias Clasen  <mclasen@redhat.com>
4431
4432         Improved DND support for GtkNotebook  (#332991, Carlos Garnacho)
4433         
4434         * gtk/gtk.symbols: 
4435         * gtk/gtkdnd.h: 
4436         * gtk/gtkdnd.c: Add a track_motion flag on GtkDragDest
4437         with getter and setter, for cases where the drag destination
4438         is interested in drag motion events independent of targets.
4439
4440         * gtk/gtksettings.c (gtk_settings_class_init): Add a setting
4441         for the timeout used when expanding during DND.
4442
4443         * gtk/gtknotebook.c: Use the track_motion flag to switch
4444         notebook tabs when hovering over tabs during DND.
4445         
4446 2006-03-22  Matthias Clasen  <mclasen@redhat.com>
4447
4448         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Use fg_gc to
4449         draw the inter-row drop highlight. Also draw the line all the 
4450         way across, and flip it in RTL mode. (#334906, Ian McDonald)
4451
4452 2006-03-22  Johan Dahlin  <jdahlin@async.com.br>
4453
4454         * tests/testtreeview.c: Add a column that demonstrates how to use
4455         the new spinbutton cellrenderer.
4456
4457 2006-03-22  Matthias Clasen  <mclasen@redhat.com>
4458
4459         * tests/prop-editor.c: 
4460         * tests/testtreeview.c: Remove pointless includes of config.h,
4461         to make it easier compilable against system GTK+.
4462
4463 2006-03-22  Michael Natterer  <mitch@imendio.com>
4464
4465         * gtk/gtkentry.c: renamed last-char-timeout to
4466         password-hint-timeout and store all its data in a struct attached
4467         as QData.
4468
4469         * gtk/gtkcellrendererspin.c: fix typo in #include.
4470
4471 2006-03-22  Carlos Garnacho  <carlosg@gnome.org>
4472
4473         * gtk/gtknotebook.c: send a GtkWidget** instead of a GtkNotebookPage*
4474         when doing tabs DnD, this allows DnD interaction with other widgets,
4475         added some docs for this too.
4476         * tests/testnotebookdnd.c: add some code to test it.
4477
4478 2006-03-22  Matthias Clasen  <mclasen@redhat.com>
4479
4480         * gtk/gtk.symbols: 
4481         * gtk/gtkcellrendererspin.h:
4482         * gtk/gtkcellrendererspin.c: Add a cell renderer which 
4483         uses a spinbutton to edit the value of a cell. (#156023,
4484         Daniel Kasak, Lorenzo Gil Sanchez, Carlos Garnacho)
4485
4486         * gtk/gtk.h: 
4487         * gtk/Makefile.am: Glue it in.
4488
4489 2006-03-21  Matthias Clasen  <mclasen@redhat.com>
4490
4491         * tests/testtreeview.c (drag_begin_cb): Test setting up
4492         drag icons for tree dnd.
4493
4494 2006-03-22  Michael Natterer  <mitch@imendio.com>
4495
4496         * gtk/gtkentry.c: applied modified patch from maemo-gtk which
4497         allows the most recently entered character in a hidden entry to be
4498         shown for a configurable period of time. Fixes bug #334560.
4499
4500 2006-03-22  Michael Natterer  <mitch@imendio.com>
4501
4502         * gtk/gtktextbuffer.h (enum GtkTextBufferTargetInfo): count down
4503         from G_MAXUINT to avoid clashes with application-added DND
4504         targets.
4505
4506         * gtk/gtktextview.c (gtk_text_view_init): set an empty
4507         GtkTargetList on the drag_dest so it is not NULL when a derived
4508         class' init() function is called.
4509
4510         (gtk_text_view_target_list_notify): copy the text buffer's paste
4511         targets into the view's destinstion target list (preserving
4512         application-added DND targets), instead of replacing the view's
4513         target list. Fixes bug #334399.
4514
4515 2006-03-21  Anders Carlsson  <andersca@imendio.com>
4516
4517         * gtk/Makefile.am:
4518         Add new files.
4519         
4520         * gtk/gtkclipboard-quartz.c: Added.
4521         * gtk/gtkdnd-quartz.c: Added.
4522         * gtk/gtkquartz.c: Added.
4523         * gtk/gtkquartz.h: Added.
4524         Add dnd and clipboard implementations.
4525
4526 2006-03-21  Michael Natterer  <mitch@imendio.com>
4527
4528         * gdk/quartz/Makefile.am: removing trailing \ fixes the build.
4529
4530 2006-03-21  Anders Carlsson  <andersca@imendio.com>
4531
4532         * gdk/quartz/gdkgeometry-quartz.c:
4533         (gdk_window_scroll):
4534         Implement gdk_window_scroll.
4535
4536 2006-03-21  Anders Carlsson  <andersca@imendio.com>
4537
4538         * gdk/quartz/GdkQuartzWindow.c:
4539         (drag_operation_to_drag_action):
4540         (drag_action_to_drag_operation):
4541         (update_context_from_dragging_info):
4542         (-[GdkQuartzWindow draggingEntered:]):
4543         (-[GdkQuartzWindow draggingEnded:]):
4544         (-[GdkQuartzWindow draggingExited:]):
4545         (-[GdkQuartzWindow draggingUpdated:]):
4546         (-[GdkQuartzWindow performDragOperation:]):
4547         (-[GdkQuartzWindow wantsPeriodicDraggingUpdates]):
4548         (-[GdkQuartzWindow draggedImage:endedAt:operation:]):
4549         * gdk/quartz/gdkdnd-quartz.c:
4550         (gdk_drag_context_finalize):
4551         (gdk_drag_context_init):
4552         (gdk_drag_context_class_init):
4553         (gdk_drag_begin):
4554         (gdk_drag_status):
4555         Add the GDK part of the DND implementation.
4556
4557         * gdk/quartz/Makefile.am:
4558         Add some missing headers.
4559         
4560         * gdk/quartz/gdkdrawable-quartz.h:
4561         * gdk/quartz/gdkprivate-quartz.h:
4562         * gdk/quartz/gdkquartz.h:
4563         * gdk/quartz/gdkwindow-quartz.c:
4564         (gdk_quartz_window_get_nsview):
4565         New function, for use by the GTK part of the DND implementation
4566
4567 2006-03-21  Anders Carlsson  <andersca@imendio.com>
4568
4569         * gdk/quartz/gdkdrawable-quartz.c:
4570         (gdk_quartz_ref_cairo_surface):
4571         (gdk_quartz_draw_rectangle):
4572         (gdk_quartz_draw_arc):
4573         (gdk_quartz_draw_polygon):
4574         (gdk_quartz_draw_drawable):
4575         (gdk_quartz_draw_segments):
4576         (gdk_quartz_draw_lines):
4577         (gdk_quartz_draw_pixbuf):
4578         (gdk_quartz_draw_image):
4579         (_gdk_quartz_drawable_get_context):
4580         * gdk/quartz/gdkdrawable-quartz.h:
4581         Offset coordinates by 0.5 pixels to get consistant results for both
4582         image contexts and screen contexts.
4583
4584 2006-03-21  Anders Carlsson  <andersca@imendio.com>
4585
4586         * gdk/quartz/GdkQuartzWindow.c 
4587         ([GdkQuartzWindow -windowDidMove:]): Synthesize GDK_CONFIGURE events
4588         when the window position changes.
4589
4590 2006-03-20  Matthias Clasen  <mclasen@redhat.com>
4591
4592         * gtk/gtkdnd.c (gtk_drag_get_cursor): Remove an unused variable.
4593
4594         * gtk/gtknotebook.c (gtk_notebook_remove_tab_label): Don't leave
4595         page->tab_label dangling.
4596         (gtk_notebook_real_remove): Use GTK_IN_DESTRUCTION to determine
4597         if we are being called during destruction of the notebook, rather
4598         than maintaining that information as a passed-in parameter.
4599         (gtk_notebook_destroy): Leave the removal of the children
4600         to the container destroy method.  (#319032, Yevgen Muntyan)
4601
4602 2006-03-20  Matthias Clasen  <mclasen@redhat.com>
4603
4604         * gtk/gtkcombobox.c (gtk_combo_box_remove): Use the existing
4605         GTK_IN_DESTRUCTION flag, rather than roll our own.
4606
4607 2006-03-20  Matthias Clasen  <mclasen@redhat.com>
4608         
4609         * gtk/gtk.symbols: 
4610         * gtk/gtkscrolledwindow.h: 
4611         * gtk/gtkscrolledwindow.c: Add a window-placement-set property
4612         and a gtk-scrolled-window-placement setting.  (#157025, Christian
4613         Neumair)
4614
4615 2006-03-20  Matthias Clasen  <mclasen@redhat.com>
4616
4617         * gtk/gtkmain.c (gtk_get_option_group): Make sure gettext
4618         is initialized before using it.  (#335129, Christian Persch)
4619
4620 2006-03-19  Matthias Clasen  <mclasen@redhat.com>
4621
4622         * MAINTAINERS: Add this, at the request of the GNOME sysadmin team.
4623
4624         * AUTHORS: Updates, typo fix
4625
4626         * gtk/gtkiconview.c (gtk_icon_view_set_cursor): Document that
4627         @cell must be one of the renderers of the icon view, warn if 
4628         it is not, and ignore @start_editing if @cell is not set.
4629         (#335001, Emmanuel Rodriguez)
4630
4631 2006-03-16  Matthias Clasen  <mclasen@redhat.com>
4632
4633         * configure.in: Add a missing comma.  (#334774, Peter Breitenlohner)
4634
4635         * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full) 
4636         (gtk_action_group_add_toggle_actions_full) 
4637         (gtk_action_group_add_radio_actions_full): Check for a stock 
4638         icon, not a stock item, when deciding whether to use stock-id 
4639         or icon-name.  (#334760, Jody Goldberg)
4640
4641         * gtk/gtkimage.c (gtk_image_clear): Update the size of the image, 
4642         by swapping the implementations of gtk_image_clear and
4643         gtk_image_reset.  (#334657)
4644
4645         * README.in: Add a note about GtkNotebook signals.
4646
4647 2006-03-15  Matthias Clasen  <mclasen@redhat.com>
4648
4649         * gtk/gtkcombobox.c (gtk_combo_box_list_button_released) 
4650         (gtk_combo_box_list_key_press): Popdown the list before changing
4651         the active iter, otherwise people will be surprised by the
4652         grabs that are still in place when their ::changed handler
4653         runs. 
4654
4655 2006-03-15  Dom Lachowicz <cinamod@hotmail.com>
4656
4657         * modules/engines/ms-windows/msw_style.c: Override style->realize/
4658         style->unrealize, so that GTK+ doesn't automatically attempt to apply
4659         shading to the GC colors, causing a mismatch with the Win32 native
4660         colors. Problem found by (and suggested solution by) "Cosmic Integer"
4661
4662         * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Make expander-size
4663         a bit closer to Microsoft's values (bug 325699, Brad Taylor)
4664         
4665 2006-03-14  Matthias Clasen  <mclasen@redhat.com>
4666
4667         * tests/testcellrenderertext.c: Add test cases for alignment.
4668
4669         * gtk/gtkcellrenderertext.c: Add an alignment property,
4670         and fix some cases where ellipsize_set was being used to
4671         mean "we're ellipsizing" even when ellipsize was set to NONE.  
4672         (#318761, Ross Burton)
4673
4674         * gtk/gtkimcontextsimple.c: Make return and release work again
4675         to commit a hex sequence. Additionally, make escape reset the
4676         im context when in a hex sequence.  (#334423, Behdad Esfahbod)
4677
4678 2006-03-13  Matthias Clasen  <mclasen@redhat.com>
4679
4680         Make actions work with named icons.  (#323484, Jorn Baayen)
4681         
4682         * gtk/gtkactiongroup.c: If the stock-id field of a GtkActionEntry
4683         does not contain a registered stock id, interpret it as an
4684         icon name.
4685
4686         * gtk/gtkaction.c: Add an icon-name property to actions and
4687         use it for icons if a stock-id is not specified.
4688
4689 2006-03-12  Matthias Clasen  <mclasen@redhat.com>
4690
4691         * gtk/gtkwindow.c (gtk_window_compute_configure_request): Don't
4692         for the creation of geometry info here.  (#114533)
4693
4694 2006-03-11  Tor Lillqvist  <tml@novell.com>
4695
4696         * gdk/win32/gdkdrawable-win32.c (draw_polygon): Use Polygon() for
4697         outlined polygons, too. Same idea as in draw_rectangle(): Set pen
4698         to NULL_PEN if drawing a filled polygon, set brush to HOLLOW_BRUSH
4699         if drawing a polygon outline. (#332662)
4700         (gdk_win32_draw_polygon): Corresponding simplification: no need to
4701         add an extra final copy of the starting point.
4702
4703 2006-03-11  Dom Lachowicz <cinamod@hotmail.com>
4704
4705         * modules/engines/ms-windows: Speed up the Windows theme
4706         considerably (#163724, John Ehresman)
4707         Be more careful about setting Pango font descriptions (#333372)
4708         
4709 2006-03-11  Matthias Clasen  <mclasen@redhat.com>
4710
4711         * gtk/gtkrange.c (gtk_range_key_press): Allow to cancel 
4712         a drag with ESC.  (#58389, Søren Sandmann)
4713
4714 2006-03-10  Matthias Clasen  <mclasen@redhat.com>
4715
4716         * gtk/gtkrange.c: Add a style property ::activate_slider that
4717         allows themes to draw the slider active while dragged.  (#311992,
4718         Benjamin Berg)
4719
4720         * gtk/gtkcolorsel.c (gtk_color_selection_init): Fix two labels.
4721
4722         * gtk-engine-check-abi.sh: Add a script to check that theme
4723         engines don't export any extra functions. 
4724
4725 2006-03-10  Matthias Clasen  <mclasen@redhat.com>
4726
4727         * gtk/gtkcolorsel.c (gtk_color_selection_init): Avoid a mnemonic
4728         conflict.  (#163850, Dennis Cranston)
4729
4730         * gtk/gtkaboutdialog.c (gtk_show_about_dialog): Make the behaviour
4731         of the about dialog consistent with other dialogs in gtk. If the
4732         dialog is constructed with gtk_about_dialog_new(), the creator
4733         is reponsible for handling the response by hiding or closing the
4734         dialog. gtk_show_about_dialog() handles it by hiding the dialog.
4735         (#333360, Daniel Drake)
4736
4737         * README.in: Mention this change.
4738
4739 2006-03-10  Matthias Clasen  <mclasen@redhat.com>
4740
4741         Apply a patch from Dennis Cranston to make dialogs more
4742         consistent  (#163850)
4743         
4744         * gtk/gtkcolorsel.c (make_label_spinbutton): Left-align labels.
4745         
4746         * gtk/gtkfontsel.c (gtk_font_selection_init): 
4747         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): 
4748         * gtk/gtkcolorsel.c (gtk_color_selection_init): 
4749         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4750         * gtk/gtkinputdialog.c (gtk_input_dialog_init): Update the layout
4751         of the dialog to follow HIG recommendations. Also update labels.
4752
4753         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): HIG-compatible 
4754         spacing.
4755         (gtk_message_dialog_font_size_change): Merged into 
4756          gtk_message_dialog_style_set.
4757
4758 2006-03-10  Matthias Clasen  <mclasen@redhat.com>
4759
4760         * gtk/gtkstyle.c: Remove g_return_if_fail() checks
4761         from static functions.
4762
4763 2006-03-10  Federico Mena Quintero  <federico@novell.com>
4764
4765         Make Shift-P and Shift-N activate typeahead in GtkTreeView
4766         (i.e. they are just normal capital letters).  Fixes bug #334098.
4767
4768         * gtk/gtktreeview.c (gtk_tree_view_add_move_binding): Add an
4769         "add_shifted_binding" argument which determines whether we'll add
4770         the same binding with GDK_SHIFT_MASK.
4771         (gtk_tree_view_class_init): Use add_shifted_binding=FALSE for GDK_p
4772         and GDK_n; use TRUE for all the rest.
4773
4774 2006-03-10  Michael Natterer  <mitch@imendio.com>
4775
4776         * gtk/gtkentry.[ch]: applied refactored patch from maemo-gtk that
4777         replaces the INNER_BORDER define by an "inner-border" style
4778         property of type GtkBorder. Additionally, add an "inner-border"
4779         object property plus API which allows to override any theme
4780         border, to allow pixel-perfect positioning of entries for inline
4781         editing. Fixes bug #333922.
4782
4783         * gtk/gtk.symbols: add the new public functions.
4784
4785 2006-03-09  Matthias Clasen  <mclasen@redhat.com>
4786
4787         * gtk/gtkcombobox.c (gtk_combo_box_class_init): Replace the
4788         popup-show and popup-hide signals with a readonly popup-shown
4789         property.  (#162531, Christian Persch)
4790
4791 2006-03-09  Ross Burton  <ross@openedhand.com>
4792
4793         * gtk/gtkwidget.c:
4794         * gtk/gtkrange.c:
4795         * gtk/gtktogglebutton.c:
4796         Turn off prelighting when gtk-touchscreen-mode is enabled (#135666)
4797
4798 Thu Mar  9 14:29:43 2006  Tim Janik  <timj@gtk.org>
4799
4800         * gtk/gtkobject.c (gtk_object_init): move the floating flag from
4801         the GInitiallyUnowned bit to GTK_FLOATING. fixes tests/floatingcheck.
4802         kudos to mitch for debugging this.
4803
4804 2006-03-09  Matthias Clasen <mclasen@redhat.com>
4805
4806         * Makefile.am: Add ChangeLog.pre-2.8 to EXTRA_DIST.
4807
4808 2006-03-09  Tor Lillqvist  <tml@novell.com>
4809
4810         * gtk/gtk.symbols: No gtk_tray_icon_get_type on Win32.
4811
4812 2006-03-08  Carlos Garnacho  <carlosg@gnome.org>
4813
4814         Rename ::tab-added and ::tab-removed signals to ::page-added and
4815         ::page-removed for not conflicting with other tab reordering
4816         implementations. Fixes bug #333743.
4817
4818         Also rename ::tab-reordered to ::page-reordered, and emit it in
4819         gtk_notebook_reorder_child () to make it behave consistently with the
4820         other two signals.
4821
4822         * gtk/gtknotebook.c (gtk_notebook_class_init): rename signals.
4823         (gtk_notebook_reorder_tab)
4824         (gtk_notebook_button_release)
4825         (gtk_notebook_remove)
4826         (gtk_notebook_real_insert_page): emit respectively renamed signals
4827         (gtk_notebook_reorder_child): also emit ::page-reordered here
4828
4829         * tests/testnotebookdnd.c: use renamed signals
4830
4831 2006-03-08  Michael Natterer  <mitch@imendio.com>
4832
4833         * gdk/gdkscreen.h
4834         * gdk/x11/gdkscreen-x11.c
4835         * gdk/gdk.symbols: added gdk_screen_get_active_window() and
4836         gdk_screen_get_window_stack() (patch from maemo-gtk).
4837         Fixes bug #320881.
4838
4839         * gdk/directfb/gdkscreen-directfb.c
4840         * gdk/quartz/gdkscreen-quartz.c
4841         * gdk/win32/gdkscreen-win32.c: added the functions as stubs.
4842
4843 2006-03-08  Michael Natterer  <mitch@imendio.com>
4844
4845         * tests/prop-editor.c (unichar_changed): zero-initialize the
4846         GValue before calling g_value_init().
4847
4848 2006-03-08  Michael Natterer  <mitch@imendio.com>
4849
4850         * gtk/gtkentry.c (gtk_entry_adjust_scroll): make sure that the
4851         text_area_width is always >= 0. Fixes bug #316712 (Dan Winship).
4852
4853 2006-03-07  Federico Mena Quintero  <federico@novell.com>
4854
4855         Cancel drags when the grabs get broken.  Fixes bug #333056:
4856
4857         * gtk/gtkdnd.c (gtk_drag_selection_received): The time argument is
4858         a guint, not guint32.
4859         (gtk_drag_source_event_cb): Return gboolean, not gint.
4860         (gtk_drag_anim_timeout): Likewise.
4861         (gtk_drag_motion_cb): Likewise.
4862         (gtk_drag_key_cb): Likewise.
4863         (gtk_drag_button_release_cb): Likewise.
4864         (gtk_drag_abort_timeout): Likewise.
4865         (gtk_drag_begin_internal): Connect to "grab-broken-event" on the
4866         ipc_widget.
4867         (gtk_drag_source_info_destroy): Disconnect from the
4868         "grab-broken-event" callback.
4869         (gtk_drag_end): Likewise.
4870         (gtk_drag_grab_broken_event_cb): New callback.  We cancel the drag
4871         if the grab was broken and not regrabbed by the DnD code.
4872
4873 2006-03-07  Federico Mena Quintero  <federico@novell.com>
4874
4875         * gtk/gtkfilechooserdefault.c (shortcuts_button_press_event_cb):
4876         Hack to let the treeview's button-press-event handler run before
4877         ours.  This lets the selection be updated before we pop up a
4878         context menu.
4879
4880 Tue Mar  7 17:16:34 2006  Tim Janik  <timj@gtk.org>
4881
4882         * configure.in: depend on glib-2.10.1.
4883
4884         * gtk/gtkobject.c: fixed up messing with non-GtkObject floating flags.
4885         this requires glib-2.10.1.
4886
4887 2006-03-07  Michael Natterer  <mitch@imendio.com>
4888
4889         Add infrastructure for copy/paste and DND of rich text for
4890         GtkTextBuffer. Fixes bug #324177.
4891
4892         * gtk/gtktextbufferrichtext.[ch]: new files implementing a
4893         per-buffer registry of rich text formats.
4894
4895         * gtk/gtk.h: #include gtktextbufferrichtext.h
4896
4897         * gtk/gtktextbufferserialize.[ch]: new files implementing an
4898         internal serialization format that can handle all of a text
4899         buffer's tags and pixbufs. It's not useful for anything except
4900         tranfer between instances of GtkTextBuffer (Anders Carlsson).
4901
4902         * gtk/Makefile.am: build the new files.
4903
4904         * gtk/gtkclipboard.[ch]: added convenience APIs for rich text,
4905         just as they exist for plain text and pixbufs.
4906
4907         * gtk/gtkselection.[ch]: added rich text convenience APIs here
4908         too.  Return the target list from gtk_target_list_ref(). Register
4909         GtkTargetList as boxed type. Added
4910         gtk_target_table_new_from_list() and gtk_target_table_free(),
4911         which make converting between GtkTargetList and arrays of
4912         GtkTargetEntry considerably easier.
4913
4914         * gtk/gtktextutil.[ch]: added _gtk_text_util_create_rich_drag_icon()
4915         which creates a fancy rich text icon (Matthias Clasen).
4916
4917         * gtk/gtktextbuffer.[ch]: use all the new stuff above and
4918         implement copy and paste of rich text. Added APIs for getting the
4919         target lists used for copy and paste. Added public enum
4920         GtkTextBufferTargetInfo which contains the "info" IDs associated
4921         with the entries of the target lists.
4922
4923         * gtk/gtktextview.c: use the new rich text APIs and
4924         GtkTextBuffer's new target list API to enable DND of rich text
4925         chunks.
4926
4927         * gtk/gtk.symbols: export all the new symbols added.
4928
4929         * tests/testtext.c: added rich text testing stuff.
4930
4931 2006-03-06  Matthias Clasen  <mclasen@redhat.com>
4932
4933         * gtk/gtktextview.c (text_window_invalidate_cursors): Take
4934         cursor width into account when calculating the area to 
4935         be invalidated.  (#333377, #323401 Steve FrĂ©cinaux)
4936
4937         * gtk/gtkmain.c (post_parse_hook): Set error when returning
4938         FALSE.  (#333268, Paolo Maggi, Christian Persch)
4939         
4940         * gtk/gtkpixmap.c (gtk_pixmap_set): Check that the pixmap
4941         has the right depth.  (#333363, Ed Catmur)
4942
4943 2006-03-05  Matthias Clasen  <mclasen@redhat.com>
4944
4945         * gtk/gtkiconview.c (adjust_wrap_width): Apply some
4946         arbitrary lower limit for the guessed wrap width. (#332466,
4947         Donald Straney)
4948
4949 2006-03-05  Matthias Clasen  <mclasen@redhat.com>
4950
4951         Fix handling of image-only buttons.  (#332985, Kalle 
4952         Vahlmann, #333555)
4953         
4954         * gtk/gtkbutton.c (gtk_button_construct_child): Don't
4955         return early if there an image to show.
4956         (show_image): Always return TRUE if there is no text.
4957
4958 2006-03-04  Matthias Clasen  <mclasen@redhat.com>
4959
4960         * gdk/x11/gdkinput-x11 (gdk_input_translate_coordinates):
4961         Adjust the handling of min values for the x and y axes of 
4962         extended input devices  (#324562, #142536, Denis Auroux and 
4963         Robert Ă–gren)
4964
4965         * gtk/gtkexpander.c (gtk_expander_paint_focus): Position
4966         the focus rectangle correctly in RTL mode.  (#333291,
4967         Benjamin Berg)
4968
4969 2006-03-03  Tor Lillqvist  <tml@novell.com>
4970
4971         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_commit_char)
4972         (gtk_im_context_simple_reset): Avoid emitting superfluous
4973         preedit_changed signals. Thanks to Matthias. (#319407)
4974
4975 2006-03-03  Michael Natterer  <mitch@imendio.com>
4976
4977         Applied modified patch from maemo-gtk which makes separators more
4978         themeable. Fixes bug #332022.
4979
4980         * gtk/gtkwidget.c: added style properties "wide-separators",
4981         "separator-width" and "separator-height".
4982
4983         * gtk/gtkhseparator.c
4984         * gtk/gtkvseparator.c
4985         * gtk/gtkmenuitem.c
4986         * gtk/gtktoolbar.c: honor the new settings and paint separators
4987         using gtk_paint_box() if wide-separators is true.
4988
4989 2006-03-02  Dom Lachowicz <cinamod@hotmail.com>
4990
4991         * modules/engines/ms-windows/msw_style.c: Fix combobox theming
4992         regression noted in bug 321301
4993         * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Ditto
4994         
4995 2006-03-02  Matthias Clasen  <mclasen@redhat.com>
4996
4997         * gtk/gtkiconview.c (gtk_icon_view_layout) 
4998         (gtk_icon_view_row_inserted, gtk_icon_view_scroll_to_path): 
4999         Make scroll_to_path work for newly inserted items, by delaying
5000         the scroll until layout is done.  (#332923, Cory Dodt)
5001
5002         * gtk/gtkcolorbutton.c (render): Use GTK_WIDGET_IS_SENSITIVE,
5003         not GTK_WIDGET_SENSITIVE.  (#333133, Christian Persch)
5004
5005 2006-03-02  Ross Burton  <ross@openedhand.com>
5006
5007         * gtk/gtktooltips.c:
5008         Disable tooltips if gtk-touchscreen-mode is activated (#315112).
5009
5010 2006-03-01  Kristian Rietveld  <kris@imendio.com>
5011
5012         * gtk/gtktreeselection.c (row_is_selectable): rename to
5013         _gtk_tree_selection_row_is_selectable and export internally,
5014         (gtk_tree_selection_real_select_node): changed so it is always
5015         possible to unselect insensitive nodes, changed the logic a bit to
5016         be more clear.
5017
5018         * gtk/gtktreeprivate.h: add _gtk_tree_selection_row_is_selectable.
5019
5020         * gtk/gtktreeview.c (gtk_tree_view_row_changed): Unselect a row if
5021         it became insensitive.
5022
5023 2006-02-27  Federico Mena Quintero  <federico@novell.com>
5024
5025         * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Check that
5026         the fontsel has a screen assigned before doing anything.  This
5027         will at least warn the caller of what is wrong, since we only
5028         populate the family_list until we get a screen.  Also, put the
5029         reference docs here.  Fixes bug #332756.
5030         (gtk_font_selection_dialog_get_font_name): Document this here.
5031         (gtk_font_selection_get_font_name): Document this here; mention
5032         that the font names get normalized, so the result of this function
5033         may not be the same as what you set with
5034         gtk_font_selection_set_font_name().
5035
5036 2006-02-27  Matthias Clasen  <mclasen@redhat.com>
5037
5038         * gtk/gtk.symbols:
5039         * gtk/gtktrayicon-x11.c: Fix symbol lists for make check.
5040
5041 2006-02-27  Michael Natterer  <mitch@imendio.com>
5042
5043         * gdk/x11/gdksettings.c: map "gtk-touchscreen-mode" to the
5044         "Gtk/TouchscreenMode" XSettings property, remove trailing
5045         whitespace.
5046
5047         * gdk/x11/checksettings.c: #include <string.h> and sprinkled some
5048         newlines.
5049
5050 Mon Feb 27 14:52:50 2006  Tim Janik  <timj@imendio.com>
5051
5052         * gdkevents-x11.c:
5053         * gdksettings.c: moved and renamed the gdk_settings_names and 
5054         gdk_settings_map.
5055
5056         * gdk/x11/checksettings.c: test program for the gdk_settings_map array.
5057
5058         * gdk/x11/Makefile.am: run checksettings as part of make check.
5059
5060 2006-02-27  Matthias Clasen  <mclasen@redhat.com>
5061
5062         * gtk/gtkdnd.c (gtk_drag_get_cursor): Comment out some unused
5063         code, and fix the reference point of composited drag cursors.
5064         (#320132, Christian Neumair)
5065
5066 Sun Feb 26 10:24:10 PST 2006  Michael Emmel  <mike.emmel@gmail.com>
5067         
5068         *gdk/directfb/README
5069         Updated README to remove old build instructions
5070
5071 Sat Feb 25 10:35:23 PST 2006  Michael Emmel  <mike.emmel@gmail.com>
5072         
5073         *gdk/directfb/gdkdisplay-directfb.c
5074         *gdk/directfb/gdkwindow-directfb.c
5075         Added stubs for shape window functions to fix compile problems
5076
5077 2006-02-24  Federico Mena Quintero  <federico@novell.com>
5078
5079         * gtk/gtkfilechooserdefault.c (shortcuts_list_create): Make the
5080         column header visible, and make it be "_Places".  Changed the
5081         accessible object name to Places as well.  Fixes bug #331306.
5082         (file_pane_create): Do not create the path bar and "create folder"
5083         button here...
5084         (browse_widgets_create): ... but create them here instead.  This
5085         moves the path bar to be above both the hpaned, giving it the full
5086         width of the dialog.  Fixes bug #327733.
5087
5088 Thu Feb 23 13:28:21 2006  Tim Janik  <timj@imendio.com>
5089
5090         * gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale): remove unconditional
5091         warnings about missing X locale support. Gdk properly handles this
5092         situation anyway.
5093
5094 Fri Feb 17 14:20:29 2006  Tim Janik  <timj@imendio.com>
5095
5096         * gtk/gtktreemodel.h: 
5097         * gtk/gtktextbtree.h: added G_GNUC_WARN_UNUSED_RESULT warnings for
5098         iterator functions, to avoid invalid iterators go unnoticed,
5099         suggested by Markku Vire <markku.vire@movial.fi>.
5100
5101 2006-02-23  Matthias Clasen  <mclasen@redhat.com>
5102
5103         * tests/Makefile.am: 
5104         * tests/testnotebookdnd.c: Add notebook DND tests.
5105
5106         * gtk/gtknotebook.h: Add a reorder_tab keynav signal and an
5107         insert_page vfunc to GtkNotebook.
5108
5109         * gtk/gtk.symbols:
5110         * gtk/gtknotebook.c: Support notebook DND. New API includes
5111         gtk_notebook_set_window_creation_hook, 
5112         gtk_notebook_[gs]et_group_id,
5113         gtk_notebook_[gs]et_tab_reorderable, 
5114         gtk_notebook_[gs]et_tab_detachable (#73240, Carlos Garnacho)
5115
5116 2006-02-23  Matthias Clasen  <mclasen@redhat.com>
5117
5118         * gtk/gtktextiter.c: Fix macro declaration
5119
5120         * gtk/gtkaboutdialog.c: Remove an accidentally included function.
5121
5122 2006-02-22  Matthias Clasen  <mclasen@redhat.com>
5123
5124         * gtk/gtktextbtree.c: 
5125         * gtk/gtktextiter.c: Minor optimizations.  (#332059, Arnaud Charlet)
5126
5127         * gtk/gtkradiobutton.c (gtk_radio_button_clicked): Emit notify::active
5128         here, when changing the value of this property.  (#331651)
5129
5130         * gtk/gtknotebook.c: Apply a patch by Paolo Borelli to
5131         make the tab menu keynavigatable.  (#331440)
5132
5133 2006-02-22  Matthias Clasen  <mclasen@redhat.com>
5134
5135         * gtk/gtkaboutdialog.c: Change Close buttons to GTK_RESPONSE_CANCEL
5136         so Escape works. (#331940, Daniel Drake)
5137
5138 2006-02-22  Michael Natterer  <mitch@imendio.com>
5139
5140         * gtk/gtksettings.c: added boolean property gtk-touchscreen-mode,
5141         which essentially means "there are no motion notify events", so
5142         widgets can't use the pointer hovering them for anything.
5143
5144         * gtk/gtkmenu.c: if gtk-touchscreen-mode is TRUE, scroll menus
5145         when clicking the scroll arrows, since hovering goes undetected.
5146         Fixes bug #323028.
5147
5148         Added boolean style property "double-arrows" which always makes
5149         both scroll arrows visible when the menu is too long.
5150         For pushed-in popup menus, both arrows are always shown
5151         (regardless of double-arrows), in order to fix user confusion
5152         about the blank area. Fixes bug #129463.
5153
5154 2006-02-21  Kristian Rietveld  <kris@imendio.com>
5155
5156         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_rows_reordered):
5157         Make sure we always update the virtual root, also when ->priv->root
5158         is still NULL.  (Markku Vire)
5159
5160 2006-02-21  Anders Carlsson  <andersca@imendio.com>
5161
5162         * gdk/quartz/gdkselection-quartz.c:
5163         (make_list):
5164         (gdk_text_property_to_utf8_list_for_display):
5165         Add these from the win32 backend.
5166
5167 2006-02-20  Matthias Clasen  <mclasen@redhat.com>
5168
5169         * gtk/gtknotebook.c: Properly update internal state
5170         when child visibility changes.  (#331785, Sebastien Bacher)
5171
5172         * gdk/gdkgc.c (_gdk_gc_update_context): Obtain the
5173         background color from the gc when it is needed.  (#331820)
5174
5175 2006-02-19  Matthias Clasen  <mclasen@redhat.com>
5176
5177         * gdk/gdkgc.c (_gdk_gc_update_context): Add a gc_changed
5178         argument, and avoid setting the clip region if the gc
5179         has not changed. 
5180
5181         * gdk/gdkgc.c: Update all callers.
5182
5183         * gdk/gdkpango.c (get_cairo_context): Avoid updating the
5184         context if nothing changed.
5185
5186 2006-02-20  Anders Carlsson  <andersca@imendio.com>
5187
5188         * gdk/quartz/gdkdisplay-quartz.c:
5189         (gdk_display_supports_shapes):
5190         (gdk_display_supports_input_shapes):
5191         * gdk/quartz/gdkwindow-quartz.c:
5192         (gdk_display_warp_pointer):
5193         (gdk_window_input_shape_combine_mask):
5194         (gdk_window_input_shape_combine_region):
5195         (gdk_window_set_child_input_shapes):
5196         (gdk_window_set_accept_focus):
5197         (gdk_window_merge_child_input_shapes):
5198         Add stubs for input shape functions.
5199
5200 2006-02-20  Anders Carlsson  <andersca@imendio.com>
5201
5202         * gdk/quartz/gdkevents-quartz.c:
5203         (get_keyboard_modifiers_from_nsevent):
5204         Fix typo so ctrl gets passed on to the gdk event.
5205         
5206         * gdk/quartz/gdkproperty-quartz.c:
5207         (gdk_atom_name):
5208         g_strdup the atom name.
5209
5210 2006-02-20  Tor Lillqvist  <tml@novell.com>
5211
5212         * gdk/win32/gdkdisplay-win32.c (gdk_display_supports_shapes):
5213         New function, return TRUE.
5214         (gdk_display_supports_input_shapes): New function, return FALSE.
5215
5216         * gdk/win32/gdkwindow-win32.c (do_shape_combine_region): New
5217         function. Factor out code from gdk_window_shape_combine_mask().
5218         (gdk_window_shape_combine_region): Actually do something. Convert
5219         region to a HRGN and call do_shape_combine_region().
5220         (gdk_window_input_shape_combine_mask)
5221         (gdk_window_input_shape_combine_region)
5222         (gdk_window_set_child_input_shapes)
5223         (gdk_window_merge_child_input_shapes): New functions, dummy
5224         implementations.
5225
5226 2006-02-20  Michael Natterer  <mitch@imendio.com>
5227
5228         * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): adding boolean
5229         have_shapes and have_input_shapes members fixes the build.
5230
5231 2006-02-20  Tor Lillqvist  <tml@novell.com>
5232
5233         * gdk/win32/gdkfont-win32.c: Replace all calls to g_strcasecmp()
5234         with g_ascii_strcasecmp().
5235
5236 2006-02-19  Matthias Clasen  <mclasen@redhat.com>
5237
5238         Support input shapes:  (#331070)
5239         
5240         * gdk/gdk.symbols: 
5241         * gdk/gdkdisplay.h: 
5242         * gdk/gdkwindow.h: 
5243         * gdk/x11/gdkdisplay-x11.c (gdk_display_supports_shapes) 
5244         (gdk_display_supports_input_shapes): Functions to determine
5245         if a display supports shaped windows or input shapes.
5246
5247         * gdk/x11/gdkwindow-x11.c (gdk_window_input_shape_combine_region): 
5248         (gdk_window_input_shape_combine_mask): 
5249         (gdk_window_set_child_input_shapes): 
5250         (gdk_window_merge_child_input_shapes): Input shape versions
5251         of the window shape API.
5252
5253         * gtk/gtk.symbols: 
5254         * gtk/gtkwidget.h: 
5255         * gtk/gtkwidget.c (gtk_widget_input_shape_combine_mask): 
5256         New function to set an input shape on a widget.
5257
5258 2006-02-19  Matthias Clasen  <mclasen@redhat.com>
5259
5260         * gtk/gtklinkbutton.c (gtk_link_button_class_init): Fix
5261         a cast.
5262
5263 2006-02-17  Matthias Clasen  <mclasen@redhat.com>
5264
5265         DND keynav support:
5266         
5267         * gtk/gtkdnd.c (gtk_drag_update_idle): Protect against 
5268         info->last_event being NULL.
5269         (gtk_drag_key_cb): Handle arrow keys to move the drag icon
5270         and space or enter to drop.
5271
5272 2006-02-17  Matthias Clasen  <mclasen@redhat.com>
5273
5274         * gdk/gdkregion-generic.c (gdk_region_union_with_rect):
5275         Be robust and reject rectangles with negative width or
5276         height.  (#331467, Benjamin Berg)
5277
5278
5279 2006-02-17  Kristian Rietveld  <kris@imendio.com>
5280
5281         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_rows_reordered):
5282         Only update the virtual root if the child path is an ancestor
5283         of the virtual root.  (Patch from Markku Vire).
5284
5285 2006-02-16  Federico Mena Quintero  <federico@novell.com>
5286
5287         * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_map): Call
5288         ::initial_focus() on the child before calling ::map() on our
5289         parent class.  This will prevent the shortcuts treeview from
5290         highlighting its first row as a result of getting assigned focus
5291         by gtk_dialog_map().
5292
5293 2006-02-14  Matthias Clasen  <mclasen@redhat.com>
5294
5295         * gtk/gtkwidget.c (gtk_widget_send_expose): Remove redundant
5296         check.  Pointed out by Bodo-Merle Sandor.
5297
5298         * gtk/gtkcolorbutton.c (gtk_color_button_[un]realize):
5299         Remove unnecessary checks.  
5300
5301 2006-02-12  Matthias Clasen  <mclasen@redhat.com>
5302
5303         * gtk/gtkicontheme.c (gtk_icon_theme_list_icons): Give working
5304         examples in the docs.  (#330944, John Spray)
5305
5306 2006-02-10  Matthias Clasen  <mclasen@redhat.com>
5307         
5308         * gtk/gtkiconview.c (gtk_icon_view_get_item_at_coords): Fix
5309         row_spacing/column_spacing confusion.  (#330732, Donald Straney)
5310
5311 2006-02-10  Matthias Clasen  <mclasen@redhat.com>
5312
5313         * gtk/gtkstyle.c: Add some docs. (#330073, Mart Raudsepp)
5314
5315         * gtk/gtkentrycompletion.c (gtk_entry_completion_match_selected): 
5316         Guard against NULL.  (#330177, Raphael Slinckx)
5317
5318 2006-02-10  Murray Cumming  <murrayc@murrayc.com>
5319
5320         * docs/reference/gtk/tmpl/gtkcomboboxentry.sgml: Mention that 
5321         the changed signal is emitted when typing - not just when 
5322         selecting from the list. Suggest use of GtkEntry::action to 
5323         etect end of typing.
5324          gtk/gtkcombobox.c: (gtk_combo_box_class_init): changed signal 
5325         ocumentation: Mention that the GtkComboBoxEntry emits it when 
5326         he users types, not just when he selects from the list.
5327
5328 2006-02-10  Murray Cumming  <murrayc@murrayc.com
5329
5330         * gtk/gtkassistant.h: Correct the declaration of the prepare 
5331         default signal handler to match its registration and use.
5332
5333 2006-02-09  Ross Burton  <ross@burtonini.com>
5334
5335         * gtk/gtkfontbutton.c:
5336         Work out the font size in floating point, and display the font
5337         size with %g instead of %d (#317590)
5338
5339 2006-02-09  Tor Lillqvist  <tml@novell.com>
5340
5341         * gdk/win32/gdkevents-win32.c (gdk_event_translate)
5342         <WM_MOUSELEAVE>: If we don't know where we went, and have
5343         generated a leave event, set current_window to the root
5344         window. This assures we will generate proper enter and leave
5345         events for popup windows. (#325521)
5346
5347 2006-02-08  John Ehresman  <jpe@wingware.com>
5348
5349         * gdk/win32/gdkevents-win32.c (gdk_event_translate)
5350         <WM_MOUSEACTIVATE>
5351         * gdk/win32/gdkwindow-win32.c (show_window_internal)
5352         (gdk_window_raise): Call SetWindowPos() instead of
5353         SetForegroundWindow() or BringWindowToTop() if the window
5354         shouldn't accept focus. (#327375)
5355         
5356 2006-02-08  John Ehresman  <jpe@wingware.com>
5357
5358         * gdk/win32/gdkwindow-win32.c: Let gdk_window_set_decorations()
5359         take precedence over anything derived from hints. Restructure
5360         related code and logic, add some new helper functions. (#327217)
5361
5362 2006-02-08  Matthias Clasen  <mclasen@redhat.com>
5363
5364         * gtk/gtkfilechooserbutton.c: Don't put relevant callss
5365         in g_assert().  (#329876, Kristian Rietveld)
5366
5367 2006-02-08  Tor Lillqvist  <tml@novell.com>
5368
5369         * gdk/win32/gdkevents-win32.c (gdk_pointer_grab)
5370         (gdk_display_pointer_ungrab, gdk_keyboard_grab)
5371         (gdk_display_keyboard_ungrab): Consistenly use assign_object()
5372         when assigning GdkWindow pointers so that the ref counting doesn't
5373         get off whack.
5374
5375         (handle_stuff_while_moving_or_resizing): Don't use deprecated API.
5376
5377         (gdk_event_translate) <WM_MOUSEMOVE>: When the pointer is grabbed
5378         with owner_events FALSE, generate enter and leave events only for
5379         the grab window. (#321054)
5380
5381 2006-02-08  Kristian Rietveld  <kris@imendio.com>
5382
5383         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_ref_path),
5384         (gtk_tree_model_filter_unref_path): free temporary paths after
5385         usage (patch from maemo-gtk),
5386         (gtk_tree_model_filter_clear_cache): fix little typo in the docs
5387         (patch from maemo-gtk).
5388
5389         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): remove
5390         stale FIXME.
5391
5392 2006-02-08  Matthias Clasen  <mclasen@redhat.com>
5393
5394         * gtk/gtkfilesystem.c (gtk_file_info_copy): Copy the display_key
5395         as well.  (#330389, Markku Vire)
5396
5397 2006-02-08  Tor Lillqvist  <tml@novell.com>
5398
5399         * gtk-zip.sh.in: Drop the timestamp from the zipfile names.
5400
5401 2006-02-07  Sven Neumann  <sven@gimp.org>
5402
5403         * gdk/directfb/AUTHORS: updated mine and Dok's email address.
5404
5405 2006-02-06  Kristian Rietveld  <kris@gtk.org>
5406
5407         * gtk/gtktreeview.c (gtk_tree_view_get_search_entry): fix compiler
5408         warning.
5409
5410 2006-02-05  Dom Lachowicz <cinamod@hotmail.com>
5411
5412         * gdk/gdkcairo.c (gdk_cairo_set_source_pixbuf): Bug #330022
5413         Wrong pixel values are computed when color = 0xFF and alpha = 0xFF
5414         
5415 2006-02-04  Michael Emmel  <mike.emmel@gmail.com>
5416         Added new directfb backend located in gdk/directfb
5417         plus patches to compile new backend
5418         compile with --with-gdktarget=directfb
5419
5420 2006-02-03  Federico Mena Quintero  <federico@ximian.com>
5421
5422         Work around https://bugs.freedesktop.org/show_bug.cgi?id=4320,
5423         which used to be our own
5424         http://bugzilla.gnome.org/show_bug.cgi?id=314616.  If one uses a
5425         pixmap for a pattern in Cairo, and sets the pattern to
5426         CAIRO_EXTEND_REPEAT; and if the destination surface is also a
5427         pixmap, Cairo does a slow copy instead of using XCopyArea().  So,
5428         we use the same code that we used in GTK+ 2.6 (pre-cairo), by
5429         filling the double-buffer pixmap with a tiled GC and
5430         XFillRectangle().
5431
5432         * gdk/gdkwindow.c (BackingRectMethod): New structure with a
5433         cairo_t and a GdkGC field.  Depending on which of these fields
5434         gets filled in, we'll use Cairo or GDK to clear the double-buffer
5435         pixmap when painting a window.
5436         (setup_backing_rect_method): Fill a BackingRectMethod as
5437         appropriate, depending on the window's configuration and our
5438         knowledge of whether Cairo is fast or slow when doing repeating
5439         patterns.
5440         (gdk_window_clear_backing_rect): Call
5441         setup_backing_rect_method().  Depending on what it returns, use
5442         Cairo to clear the double-buffer pixmap, or plain GDK.
5443
5444 2006-02-03  Matthias Clasen  <mclasen@redhat.com>
5445
5446         * gtk/gtklabel.c (get_layout_location): Fix handling
5447         of padding in RTL.  (#329099, Hooman Mesgary) 
5448
5449 2006-02-02  Matthias Clasen  <mclasen@redhat.com>
5450
5451         * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display):
5452         Make drops on the root window work again.  (#145243, Andrew S. Dixon)
5453
5454 2006-02-01  Matthias Clasen  <mclasen@redhat.com>
5455
5456         * gtk/gtkwidget.c (gtk_widget_class_init): Wrap dnd signal
5457         docs to 80 columns.
5458
5459 2006-01-31  Matthias Clasen  <mclasen@redhat.com>
5460
5461         * autogen.sh: Touch README and INSTALL here to pacify 
5462         automake.  (#329124, Kjartan Maraas, Tim Janik)
5463
5464 2006-01-31  Matthias Clasen  <mclasen@redhat.com>
5465
5466         * gtk/gtk.symbols:
5467         * gtk/gtkassistant.h: 
5468         * gtk/gtkassistant.c: Actually implement visibility handling,
5469         and add gtk_assistant_update_buttons_state.
5470
5471         * tests/testassistant.c: Test visibility handling.
5472
5473 2006-01-31  Kristian Rietveld  <kris@imendio.com>
5474
5475         * gtk/gtkstyle.c (gtk_default_draw_flat_box): Add support for row
5476         hinting for the selected state.
5477
5478 2006-01-30  Matthias Clasen  <mclasen@redhat.com>
5479
5480         * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): 
5481         Make sure the tree view is realized, since we grab the
5482         focus to it.  (#329144, Wouter Bolsterlee)
5483
5484         * gtk/gtkspinbutton.h: 
5485         * gtk/gtkspinbutton.c: Add a wrapped signal.  (#322933,
5486         Carlos Garnacho Parro)
5487
5488         * gtk/gtkassistant.c: More generous spacing. (#328082,
5489         Christian Persch, patch by Carlos Garnacho)
5490         
5491         * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_set_property): 
5492         Use the setter for active.  (#329208, Guillaume Cottenceau)
5493
5494         * docs/tools/widgets.c (get_all_widgets): Add GtkLinkButton
5495
5496         * gtk/gtkassistant.c (gtk_assistant_init): Move the
5497         last button to the left where it does not affect
5498         the positioning of forward/back.
5499
5500 2006-01-29  Matthias Clasen  <mclasen@redhat.com>
5501
5502         More GtkAssistant work, by Carlos Garnacho.
5503         
5504         * tests/testassistant.c: Additions.
5505
5506         * gtk/gtkassistant.c: Handle page visibility, other 
5507         small fixes.
5508
5509         * docs/tools/widgets.c: Add GtkAssistant.
5510
5511 2006-01-28  Behdad Esfahbod  <behdad@gnome.org>
5512
5513         * configure.in: If major.minor of required and available glib versions
5514         are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617)
5515
5516         * */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
5517
5518 2006-01-28  Dom Lachowicz <cinamod@hotmail.com>
5519
5520         * modules/engines/ms-windows/msw-style.c: Re-sync with gtk-wimp
5521         * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Ditto
5522         
5523 2006-01-28  Matthias Clasen  <mclasen@redhat.com>
5524
5525         * gtk/gtk.symbols: 
5526         * gtk/gtklinkbutton.h: 
5527         * gtk/gtklinkbutton.c: Allow to set a global hook function
5528         thats called whenever a link button is clicked.
5529
5530         More work on GtkAssistant by Carlos Garnacho:
5531         
5532         * demos/gtk-demo/Makefile.am: 
5533         * demos/gtk-demo/assistant.c: Add a  GtkAssistant demo.
5534
5535         * gtk/gtkassistant.c: Handle focus, several small fixes to the
5536         flow computations.
5537
5538 2006-01-27  Federico Mena Quintero  <federico@ximian.com>
5539
5540         Fixes bug #328820:
5541
5542         * gtk/gtkfilechooserdefault.c
5543         (gtk_file_chooser_default_class_init): Make GDK_KP_Divide pop up
5544         the location dialog populated to "/".
5545         (tree_view_keybinding_cb): Likewise.
5546         (trap_activate_cb): Likewise.
5547
5548 2006-01-25  Behdad Esfahbod  <behdad@gnome.org>
5549
5550         * gtk/gtkcalendar.c (gtk_calendar_size_request): Use translated format
5551         strings for L10n in size calculation too.
5552
5553         * gtk/gtkcalendar.c (calendar_paint_week_numbers): Expand buffer to
5554         accomodate localized digits.
5555
5556 2006-01-26  Matthias Clasen  <mclasen@redhat.com>
5557
5558         * tests/prop-editor.c: Introspect child properties. too.
5559
5560 2006-01-25  Behdad Esfahbod  <behdad@gnome.org>
5561
5562         * gtk/gtkcalendar.c (calendar_paint_week_numbers, calendar_paint_day):
5563         Use contexed translated strings calendar:week:digits|%d and
5564         calendar:day:digits|%d to let translators choose localized digits for
5565         week and day numbers. (bug #317171, Hamed Malek)
5566
5567 2006-01-25  Behdad Esfahbod  <behdad@gnome.org>
5568
5569         * gtk/gtklabel.c (get_layout_location): Use logical extents of the
5570         layout instead of ink extents.  According to Pango docs, that's what
5571         should be used for placement.  Moreover, simply use
5572         pango_layout_get_pixel_size instead of getting the extents and
5573         dividing ourselves.
5574
5575 2006-01-25  Matthias Clasen  <mclasen@redhat.com>
5576
5577         * gtk/gtkentrycompletion.c: 
5578         * gtk/gtkentry.c: Be more careful when blocking signals. 
5579
5580         * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): Only
5581         set the cursor size if it is != 0.
5582
5583         * gtk/gtksettings.c (gtk_settings_class_init): Change the default value
5584         of gtk-cursor-theme-size to 0, meaning "use default".
5585
5586 2006-01-24  Kristian Rietveld  <kris@gtk.org>
5587
5588         #322591, Jonathan Blandford.
5589
5590         * gtk/gtktreeview.[ch] (gtk_tree_view_get_search_entry),
5591         (gtk_tree_view_set_search_entry),
5592         (gtk_tree_view_get_search_position_func),
5593         (gtk_tree_view_set_search_position_func): New functions,
5594         and small adaptions to the tree view code to allow for setting
5595         the entry and search position function.
5596
5597         * gtk/gtktreeprivate.h: Removed GtkTreeViewSearchDialogPositionFunc
5598         typedef, which is now in gtktreeview.h as
5599         GtkTreeViewSearchPositionFunc.  Add/update fields.
5600
5601         * gtk/gtk.symbols: Add new functions.
5602
5603         * tests/testtreesort.c: Add a little test for _set_search_entry().
5604
5605 2006-01-23  Matthias Clasen  <mclasen@redhat.com>
5606
5607         Add GtkLinkButton, a port of GnomeHRef.  (#314808, Emmanuele Bassi)
5608         
5609         * gtk/gtklinkbutton.h: 
5610         * gtk/gtklinkbutton.c: New files.
5611
5612         * gtk/gtk.h:
5613         * gtk/gtk.symbols: 
5614         * gtk/Makefile.am: Glue.
5615
5616         * gtk/gtkaboutdialog.c: Use GtkLinkButton.
5617         
5618         * gtk/gtkwidget.c: Add link-color and visited-link-color style
5619         properties.  (#113649, Leena Gunda)
5620
5621         * gtk/gtkaboutdialog.c: Use the new style properties here instead
5622         of the about dialogs own link-color property. 
5623
5624 2006-01-23  Kristian Rietveld  <kris@gtk.org>
5625
5626         * gtk/gtktreemodel.c (gtk_tree_model_base_init): don't copy
5627         tree paths when emitting signals. (#325041, Matthias Clasen).
5628
5629 2006-01-23  Behdad Esfahbod  <behdad@gnome.org>
5630
5631         * gtk/gtklabel.c (get_layout_location): Fix misalignment of RTL
5632         text in ellipsized GtkLabel: use layout width if set, otherwise
5633         fallback to ink extents width. (#322042)
5634
5635 2006-01-23  Matthias Clasen  <mclasen@redhat.com>
5636
5637         * gtk/gtkassistant.c (compute_last_button_state): Only show the
5638         last button if we can jump to the end. 
5639         (gtk_assistant_init): Make the spacing and button order more
5640         HIG compliant.
5641
5642         Fix drawing issues in progress bars.  (#328081, Christian Persch)
5643         
5644         * gtk/gtkprogressbar.c (gtk_progress_bar_size_request): Always
5645         request enough space. 
5646         (gtk_progress_bar_paint_activity) 
5647         (gtk_progress_bar_paint_continuous) 
5648         (gtk_progress_bar_paint_discrete): Clip when drawing the bar.
5649
5650 2006-01-23  Michael Natterer  <mitch@imendio.com>
5651
5652         * gtk/gtkcolorbutton.c: move destruction of the private GdkGC
5653         from finalize() to unrealize(). Fixes BadMatch on display change
5654         (bug #85715).
5655
5656 2006-01-22  Kristian Rietveld  <kris@gtk.org>
5657
5658         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Revert previous
5659         commit after more searching in the bugzilla archives (see #309221).
5660
5661 2006-01-22  Kristian Rietveld  <kris@gtk.org>
5662
5663         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Remove second call
5664         to gtk_tree_view_column_cell_set_cell_data, since we also set the
5665         cell data before iterating over the columns for exposure. (Fixes
5666         #322471, Duncan Coutts).
5667
5668 2006-01-21  Matthias Clasen  <mclasen@redhat.com>
5669
5670         * tests/testassistant.c: Add some tests for GtkAssistant
5671
5672         * tests/Makefile.am: Glue
5673
5674 2006-01-20  Matthias Clasen  <mclasen@redhat.com>
5675
5676         * gtk/gtkassistant.c: Fix the docs to reflect the actual signal
5677         signatures.
5678
5679         * gtk/gtktextview.c (gtk_text_view_set_virtual_cursor_pos): Don't
5680         crash if layout is NULL.  (#327934, Christian Kirbach)
5681
5682 2006-01-20  Dan Winship  <danw@novell.com>
5683
5684         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_class_init,
5685         tree_view_keybinding_cb, trap_activate_cb): On "unix", pop up the
5686         "Open Location" window on "~" as well as "/". #153213
5687         (location_entry_create): Fix this so autocompletion still works
5688         correctly in that case.
5689
5690 2006-01-19  Matthias Clasen  <mclasen@redhat.com>
5691
5692         * configure.in: Explicitly link against Xrender.  
5693         (#327538, Christophe Belle)
5694         
5695         * gdk/x11/gdkprivate-x11.h (XID_FONT_BIT): 
5696         * gdk/x11/gdkfont-x11.c: 
5697         * gdk/x11/gdkxid.c: Use an unused high bit in the
5698         XID to mark fonts in the global xid hash table.
5699
5700         * gdk/x11/gdkcursor-x11.c (update_cursor): Skip fonts
5701         when iterating over the xid hash table, since calling
5702         GDK_IS_WINDOW () on an GdkFont can cause a segfault.
5703         (#327751, Ryan Lovett)
5704
5705 2006-01-19  Matthias Clasen  <mclasen@redhat.com>
5706         
5707         * gtk/gtkassistant.[hc]: Use a priv pointer for
5708         cheap access to the priv struct.  (#327725, Christian
5709         Persch)
5710
5711         * gtk/gtkassistant.h: Fix line endings.
5712
5713 2006-01-18  Matthias Clasen  <mclasen@redhat.com>
5714
5715         * gtk/gtkassistant.[hc]: Add GtkAssistant, a widget to
5716         construct multi-step wizards.  (#115348, Martyn Russell, 
5717         Matthias Clasen, Carlos Garnacho Parro)
5718
5719         * gtk/gtk.symbols:
5720         * gtk/Makefile.am: 
5721         * gtk/gtk.h: Necessary glue.
5722
5723 2006-01-18  Anders Carlsson  <andersca@imendio.com>
5724
5725         * gdk/quartz/gdkevents-quartz.c:
5726         (get_mm_from_pixels):
5727         (gdk_screen_get_width_mm):
5728         (gdk_screen_get_height_mm):
5729         Implement these functions.
5730         (#327228, Thomas Broyer).
5731
5732 2006-01-18  Anders Carlsson  <andersca@imendio.com>
5733
5734         * gdk/quartz/gdkdrawable-quartz.c:
5735         (gdk_quartz_draw_polygon):
5736         (gdk_quartz_draw_lines):
5737         Implement these functions.
5738         (#327226, Thomas Broyer)
5739         
5740 2006-01-18  Anders Carlsson  <andersca@imendio.com>
5741
5742         * gdk/quartz/gdkkeys-quartz.c:
5743         (maybe_update_keymap):
5744         Support non-MacRoman keyboard layouts.
5745         (#322585, Wolfgang Thaller)
5746         
5747 2006-01-18  Anders Carlsson  <andersca@imendio.com>
5748
5749         * gdk/quartz/gdkmain-quartz.c:
5750         (_gdk_windowing_init):
5751         Make the process a foreground application.
5752         (#322481, Wolfgang Thaller)
5753         
5754 2006-01-18  Matthias Clasen  <mclasen@redhat.com>
5755
5756         * gtk/gtkrbtree.c: 
5757         * gtk/gtktreemodel.c: Fix several g_new() calls which
5758         were using extra indirections or pointless casts.  
5759         (#327423, Morten Welinder)
5760
5761 Tue Jan 17 19:27:59 2006  Tim Janik  <timj@imendio.com>
5762
5763         * gtk/gtkprogress.c: fix adopted from maemo-gtk.
5764         gtk_progress_create_pixmap(): clear out the newly created offscreen 
5765         pixmap, so themes making use of transparency don't draw onto garbage.
5766
5767 2006-01-17  Michael Natterer  <mitch@imendio.com>
5768
5769         * gtk/gtkbutton.c: remove the "child-spacing" style property again
5770         and add "inner-border" instead. That's far more flexible and
5771         "child-spacing" was a bad name anyway.
5772
5773 2006-01-17  Michael Natterer  <mitch@imendio.com>
5774
5775         * configure.in (ALL_LINGUAS): remove "ang" again until all po
5776         files are there.
5777
5778 2006-01-16  Abel Cheung  <maddog@linuxhall.org>
5779
5780         * configure.in: Added "ang" "zh_HK" to ALL_LINGUAS.
5781
5782 2006-01-16  Matthias Clasen  <mclasen@redhat.com>
5783
5784         * README.in: Mention new pixbuf engine features.
5785
5786         * gtk/gtk.symbols: 
5787         * gtk/gtkradioaction.[hc]: Add a current-value property and a
5788         setter for it.  (#322735, Jorn Baayen)
5789         
5790 2006-01-16  Michael Natterer  <mitch@imendio.com>
5791
5792         * gtk/gtkbutton.c: applied patch from maemo-gtk which adds a
5793         child-spacing style property. Fixes bug #327202.
5794
5795 2006-01-16  Anders Carlsson  <andersca@imendio.com>
5796
5797         * gdk/quartz/gdkdisplay-quartz.c:
5798         * gdk/quartz/gdkevents-quartz.c:
5799         (gdk_keyboard_grab):
5800         (gdk_display_keyboard_ungrab):
5801         (gdk_keyboard_grab_info_libgtk_only):
5802         (find_window_for_event):
5803         Implement keyboard grabs.
5804         
5805         (_gdk_quartz_send_map_events):
5806         * gdk/quartz/gdkmain-quartz.c:
5807         * gdk/quartz/gdkprivate-quartz.h:
5808         New function that synthesizes map events.
5809         
5810         * gdk/quartz/gdkwindow-quartz.c:
5811         (_gdk_windowing_window_init):
5812         The root window is always visible.
5813         
5814         (all_parents_shown):
5815         (show_window_internal):
5816         Send map events.
5817         
5818         (gdk_window_hide):
5819         Ungrab keyboard and pointer
5820
5821 2006-01-15  Kristian Rietveld  <kris@gtk.org>
5822
5823         Fixes #324099, Tommi Komulainen.
5824
5825         * gtk/gtktreestore.[ch] (gtk_tree_store_insert_with_values),
5826         (gtk_tree_store_insert_with_valuesv): new functions, analog to
5827         those found in GtkListStore.
5828
5829         * gtk/gtktreestore.c (gtk_tree_store_real_set_value),
5830         (gtk_tree_store_set_valist), (gtk_tree_store_set_valist_internal),
5831         (gtk_tree_store_sort_iter_changed): refactored.
5832
5833         * gtk/gtk.symbols: updated.
5834
5835         * tests/treestoretest.c: added a test for this new functionality.
5836
5837 2006-01-14  Matthias Clasen  <mclasen@redhat.com>
5838
5839         * gtk/gtkentry.c (gtk_entry_drag_data_received): Remove 
5840         an unused variable.
5841
5842         * gtk/gtkiconfactory.c (get_default_icons): Register RTL 
5843         versions of the indent and unindent icons.  (#326857,
5844         Itai Bar-Haim)
5845
5846         * gtk/Makefile.am (STOCK_ICONS): And add them here.
5847
5848         Fix a crash with combo boxes in RESIZE_IMMEDIATE
5849         containers.  (#326806, Sebastian Bacher)
5850         
5851         * gtk/gtkcombobox.c (gtk_combo_box_size_allocate) 
5852         (gtk_combo_box_size_request): Don't call 
5853         gtk_combo_box_check_appearance() from here, as that 
5854         can lead to recursion. 
5855         (gtk_combo_box_init): Instead, call it here.
5856
5857 2006-01-14  Kristian Rietveld  <kris@gtk.org>
5858
5859         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_iter_children): fix
5860         a typo which caused this whole thing to not function ...
5861
5862 2006-01-14  Kristian Rietveld  <kris@gtk.org>
5863
5864         * gtk/gtktreeview.c (gtk_tree_view_size_allocate),
5865         (validate_visible_area): fixup adjustments and top_row if the
5866         current dy + page_size exceeds the new tree view height. (Fixes
5867         #316689, reported by Chris Lord).
5868
5869 2006-01-13  Matthias Clasen  <mclasen@redhat.com>
5870
5871         * */abicheck.sh: Make this work on more platforms.
5872
5873 2006-01-13  Kristian Rietveld  <kris@imendio.com>
5874
5875         * tests/testtreefocus.c (set_indicator_size), (main): add a little
5876         test for the newly introduced indicator-size property.
5877
5878 2006-01-13  Kristian Rietveld  <kris@imendio.com>
5879
5880         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_init):
5881         initialize the inconsistent field in the private structure,
5882         (gtk_cell_renderer_toggle_class_init),
5883         (gtk_cell_renderer_toggle_{set,get}_property),
5884         (gtk_cell_renderer_toggle_get_size): introduce a indicator-size
5885         property.
5886
5887 2006-01-13  Michael Natterer  <mitch@imendio.com>
5888
5889         * gtk/gtktreeview.c (gtk_tree_view_real_expand_row)
5890         (gtk_tree_view_real_collapse_row): don't animate the expander
5891         arrows if gtk-enable-animations is FALSE (bug #142582).
5892
5893 2006-01-12  Matthias Clasen  <mclasen@redhat.com>
5894
5895         * gtk/gtknotebook.c: Replace hardcoded values for tab-overlap and
5896         tab-curvature with style properties.  (#325282, Alexander Nedotsukov)
5897
5898         * gtk/gtktextview.c (gtk_text_view_commit_text) 
5899         (gtk_text_view_delete_from_cursor, gtk_text_view_backspace): 
5900         Reset the virtual cursor position.  (#326003, Evert Verhellen)
5901
5902         * gtk/gtkwidget.c (gtk_widget_set_app_paintable): Add some docs
5903         about RGBA windows. (#326486, Benjamin Otte)
5904
5905 2006-01-12  Michael Natterer  <mitch@imendio.com>
5906
5907         * gdk/gdkimage.c (scratch_image_info_for_depth): connect to the
5908         display's "closed" signal and free the cached scratch images upon
5909         display closing (bug #85715).
5910
5911 2006-01-12  Michael Natterer  <mitch@imendio.com>
5912
5913         * gtk/gtkexpander.c (gtk_expander_set_expanded): skip the
5914         animation if the gtk-enable-animations setting is FALSE
5915         (bug #142582).
5916
5917 2006-01-11  Matthias Clasen  <mclasen@redhat.com>
5918
5919         * gtk/gtklabel.c: Fix a C99ism (#326658, Kazuki Iwamoto)
5920
5921 2006-01-11  Matthias Clasen  <mclasen@redhat.com>
5922
5923         * gtk/gtklabel.c: Add some notify batching, always
5924         emit notify after setting the new value.
5925
5926         * gtk/gtkmessagedialog.c: Add properties.  (#311254,
5927         Johan Dahlin)
5928         (gtk_message_dialog_new): Remove some redundant code, pointed
5929         out by Gustavo Carneiro.
5930
5931         * gdk/x11/gdkwindow-x11.c (create_moveresize_window): Clean
5932         up properly if the grab fails.
5933         (finish_drag): Don't leak a reference to moveresize_window
5934         here.
5935
5936 2006-01-11  Matthias Clasen  <mclasen@redhat.com>
5937
5938         * gdk/x11/gdkevents-x11.c: Fix string offsets.
5939
5940         Allow falling back to another icon theme before 
5941         hicolor.   (#325546, Rodney Dawes)
5942         
5943         * gtk/gtksettings.c: Add a gtk-fallback-icon-theme setting.
5944
5945         * gdk/x11/gdkevents-x11.c: Map it to the XSetting Net/FallbackIconTheme.
5946         
5947         * gtk/gtkicontheme.c: Consult the fallback icon theme before
5948         looking in hicolor. 
5949
5950 2006-01-10  Matthias Clasen  <mclasen@redhat.com>
5951
5952         * tests/testgtk.c: Add an expander example.
5953
5954         * gtk/gtkcalendar.c (gtk_calendar_focus_out): Queue a draw
5955         when losing the focus.  (#326064, Andrew Conkling)
5956
5957         * gtk/gtkimmulticontext.c: 
5958         * gtk/gtkhsv.c: 
5959         * gtk/gtkhandlebox.c: Convert to use instance private data.
5960
5961         * gtk/gtk.h: Remove duplicate include.  (#326429, 
5962         BenoĂ®t Carpentier)
5963
5964         * gtk/gtkpaned.c: Convert to use instance private data.
5965
5966 2006-01-10  Michael Natterer  <mitch@imendio.com>
5967
5968         * gdk/gdkpango.c (on_renderer_display_closed): disconnect from the
5969         right object ("closed" is emitted by the display, not the screen).
5970         (bug #85715)
5971
5972 2006-01-10  Anders Carlsson  <andersca@imendio.com>
5973
5974         * gdk/quartz/gdkproperty-quartz.c:
5975         (ensure_atom_tables):
5976         (intern_atom_internal):
5977         (gdk_atom_intern):
5978         (gdk_atom_intern_static_string):
5979         (gdk_atom_name):
5980         Implement local-only atoms.
5981
5982 2006-01-09  Matthias Clasen  <mclasen@redhat.com>
5983
5984         * gdk/gdkgc.c (gc_get_foreground): Correct a warning.
5985         (#326341, BenoĂ®t Carpentier)
5986
5987         * gtk/gtk.symbols:
5988         * gtk/gtkwindow.h:
5989         * gtk/gtkwindow.c (gtk_window_get_group): Make this function
5990         public API.  (#307099, Todd Berman)
5991
5992         * gtk/gtkmenu.c: 
5993         * gtk/gtkmain.c: 
5994         * gtk/gtkentrycompletion.c: 
5995         * gtk/gtkcombo.c: 
5996         * gtk/gtkcombobox.c: Update all callers.
5997
5998         * gtk/gtkentry.c (paste_received):  Make GtkEntryCompletion
5999         complete on pastes at the end.  (#165714, Christian Neumair)
6000
6001         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): 
6002         Prevent the first row being focused on map.  (#137351,
6003         Niklas Knutsson)
6004
6005 2006-01-09  Johan Dahlin  <jdahlin@async.com.br>
6006
6007         * gtk/gtk.symbols:
6008         * gtk/gtkeditable.h:
6009         * gtk/gtksizegroup.c: (gtk_size_group_get_widgets):
6010         * gtk/gtksizegroup.h:
6011         (struct _GtkSizeGroup): 
6012
6013         Add gtk_size_group_get_widgets, fixes #326324.
6014         Also mark all fields of GtkSizeGroup as private
6015
6016 2006-01-09  Matthias Clasen  <mclasen@redhat.com>
6017
6018         * gtk/gtktextlayout.c (gtk_text_layout_finalize): Don't
6019         leak preedit_string and preedit_attrs.  (#322332, Paolo
6020         Borelli)
6021
6022         * gtk/gtk.symbols:
6023         * gtk/gtkaction.h: 
6024         * gtk/gtkaction.c (gtk_widget_get_action): New function to
6025         get the action for a proxy.  (#326288)
6026
6027         * gtk/gtkaction.c: Go back to the old key for attaching the
6028         action to the proxy.  (#326288, Diego GonzĂ¡lez)
6029
6030 2006-01-08  Matthias Clasen  <mclasen@redhat.com>
6031
6032         * gtk/gtkactiongroup.c (dgettext_swapped): Don't translate
6033         empty strings.  (#326200, Christian Stimming)
6034
6035 2006-01-08  Matthias Clasen  <mclasen@redhat.com>
6036
6037         * gtk/gtkentry.[hc]: 
6038         * gtk/gtklabel.[hc]: Shrink the private structs of these a bit.
6039
6040         * gtk/gtklabel.c (get_layout_location): Fix label alignment 
6041         when width-chars is set.  (#326098, Benjamin Otte)
6042
6043         * gdk/gdkregion-generic.c (miRegionCopy): Fix this for the 
6044         single-rectangle case.  (#326127, Benjamin Berg)
6045         (gdk_region_copy): Use miRegionCopy() here.
6046
6047 2006-01-07  Matthias Clasen  <mclasen@redhat.com>
6048
6049         Fix actiongroup-action interaction that relied on 
6050         actions connecting to notify on themselves:
6051         
6052         * gtk/gtkaction.[hc]: Factor out the code updating the
6053         visibility/sensitivity of proxies into _gtk_action_sync_visible()
6054         and _gtk_action_sync_sensible().
6055
6056         * gtk/gtkactiongroup.c: Call the new functions when the
6057         group visibility/sensitivity changes. 
6058
6059 2006-01-06  Matthias Clasen  <mclasen@redhat.com>
6060
6061         * gtk/gtkactiongroup.c (gtk_action_group_set_sensitive) 
6062         (gtk_action_group_set_visible): Add missing property change
6063         notification.
6064
6065 2006-01-06  Matthias Clasen  <mclasen@redhat.com>
6066
6067         * gtk/gtkfilechooserbutton.c (model_add_special): Just use the
6068         directory name for the home dir.  (#325817, Federico Mena Quintero)
6069         
6070         * gtk/gtktexttag.c (gtk_text_attributes_new): Initialize editable 
6071         to TRUE. 
6072         (gtk_text_tag_class_init): The default value for the direction 
6073         property is GTK_TEXT_DIR_NONE. Add notes about the initial values 
6074         of the font and language properties.
6075
6076         * gtk/gtktoolbutton.c (gtk_tool_button_class_init): Make clicked
6077         an action signal.  (#325782, Martyn Russell)
6078
6079         * gtk/gtkviewport.c (viewport_set_adjustment): Disconnect from
6080         the old adjustments signals.  (#325869, Jorn Baayen)
6081
6082 2006-01-06  Hans Breuer  <hans@breuer.org>
6083
6084         * tests/makefile.msc : added a bunch of tests
6085         * tests/testcellrenderertext.c : use g_snprintf()
6086         * tests/testfilechooserbutton.c : don't include unistd.h twice.
6087         Removed the unconditional one and added direct.h for G_OS_WIN32
6088         
6089 2006-01-05  Hans Breuer  <hans@breuer.org>
6090
6091         * gdk/makefile.msc : also recurse into win32 for ::clean
6092         * gtk/makefile.msc.in : create gtkbuiltincache.h (most code
6093         to simulate links) and file renames
6094
6095 2006-01-05  Johan Dahlin  <jdahlin@async.com.br>
6096
6097         * gtk/gtkprogressbar.c: Set minimum for activity-step property to 0
6098         instead of -G_MAXUINT.
6099         
6100 2006-01-05  Matthias Clasen  <mclasen@redhat.com>
6101
6102         * gtk/gtkwindow.c: Only connect to the event if we have
6103         a frame, since the handler is only relevant in that case.
6104
6105         * gtk/gtkaction.c (connect_proxy, disconnect_proxy): 
6106         Use a weak reference rather than the destroy signal to track 
6107         proxies going away.
6108
6109         * gtk/gtkbindings.c (binding_signal_new): Revert the last change.
6110
6111         * gtk/gtkaction.c (gtk_action_sync_property): 
6112         (gtk_action_sync_stock_id): Removed.
6113
6114 2006-01-05  Rodrigo Moya <rodrigo@novell.com>
6115
6116         * gtk/gtkbindings.c (binding_signal_new): allocate correct amount for
6117         signal and arguments.
6118
6119 2006-01-05  Matthias Clasen  <mclasen@redhat.com>
6120
6121         * gtk/gtklabel.c (gtk_label_grab_focus): Don't return a value from
6122         a void function.
6123
6124 2006-01-04  Matthias Clasen  <mclasen@redhat.com>
6125
6126         * gtk/gtkbindings.h (struct _GtkBindingSignal): Revert questionable
6127         changes.
6128         
6129         * gtk/gtkbindings.c: Use the slice allocator and allocate signal
6130         and arguments in one block.
6131
6132         * gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): Don't return
6133         a list of NULLs.  (#325723, Steve Chaplin)
6134
6135 2006-01-04  Rodrigo Moya <rodrigo@novell.com>
6136
6137         * gtk/gtkbindings.c (binding_signal_new): guard against multiplying
6138         by -1 (when n_args is 0).
6139
6140 2006-01-04  Michael Natterer  <mitch@imendio.com>
6141
6142         * gtk/gtkmenutoolbutton.c
6143         (gtk_menu_tool_button_set_menu)
6144         (gtk_menu_tool_button_destroy): use gtk_menu_attach_to_widget()
6145         and gtk_menu_detach() instead of reffing/unreffing the menu
6146         manually. Also fixes brokenness on screen change (bug #85715).
6147
6148 2006-01-04  Matthias Clasen  <mclasen@redhat.com>
6149
6150         * gtk/gtkaccelmap.c: 
6151         * gtk/gtkactiongroup.c: 
6152         * gtk/gtkdialog.c: 
6153         * gtk/gtkfilesystemunix.c: 
6154         * gtk/gtkgc.c: 
6155         * gtk/gtkkeyhash.c: 
6156         * gtk/gtkplug.c: 
6157         * gtk/gtktextiter.c: 
6158         * gtk/gtktextlayout.c: 
6159         * gtk/gtkuimanager.c: 
6160         * gtk/gtkwidget.c: 
6161         * gtk/gtkwindow.c: 
6162         * gtk/gtkxembed.c: Use the slice allocator for many small 
6163         allocations.
6164
6165         * gtk/gtkcolorsel.c: 
6166         * gtk/gtktreeview.c: Use IPN.
6167
6168         * gtk/gtkwidget.c: Remove an unused field from the AccelPath 
6169         struct.
6170
6171 2006-01-04  Tor Lillqvist  <tml@novell.com>
6172
6173         * gtk-zip.sh.in: Include also the gtk20-properties message catalogs.
6174
6175 2006-01-03  Matthias Clasen  <mclasen@redhat.com>
6176         
6177         * gtk/gtkdnd.c: Make it compile
6178
6179         * gtk/gtkdnd.c (gtk_drag_begin_internal): Call gtk_drag_update
6180         for non-motion events.  (#325443, Peter Harvey)
6181
6182         * gtk/gtkaction.c: Avoid connecting to notify on our own
6183         properties. 
6184
6185 2006-01-02  Matthias Clasen  <mclasen@redhat.com>
6186
6187         * gtk/gtkentry.c (gtk_entry_delete_from_cursor): When deleting
6188         words, delete preceding whitespace as well.  (#325358,  Akkana Peck)
6189
6190 2006-01-02  Anders Carlsson  <andersca@imendio.com>
6191
6192         * gdk/quartz/GdkQuartzWindow.c:
6193         (-[GdkQuartzWindow canBecomeMainWindow]):
6194         (-[GdkQuartzWindow canBecomeKeyWindow]):
6195         Have these return TRUE
6196         
6197         * gdk/quartz/gdkevents-quartz.c:
6198         (pointer_grab_internal):
6199         Remove FIXME
6200         
6201         (find_child_window_by_point_helper):
6202         Fix bug in offset calculation
6203         
6204         (find_window_for_event):
6205         Use grab window toplevel when a grab is in effect
6206         
6207         (gdk_event_translate):
6208         Don't call _gdk_event_button_generate on mouse up
6209         
6210         * gdk/quartz/gdkgc-quartz.c:
6211         (_gdk_quartz_gc_new):
6212         Fix indentation
6213         
6214         * gdk/quartz/gdkwindow-quartz.c:
6215         (gdk_window_new):
6216         Make TEMP windows borderless
6217         
6218         (gdk_window_hide):
6219         Hide window
6220         
6221         (gdk_window_get_origin):
6222         Implement
6223         
6224 2006-01-02  Tor Lillqvist  <tml@novell.com>
6225
6226         * gdk/win32/gdkwindow-win32.c
6227         (gdk_window_impl_win32_get_visible_region): Make identical to the
6228         X11 implementation. (#322264, John Ehresman)
6229
6230         * gdk/win32/gdkgeometry-win32.c (gdk_window_scroll): Get the
6231         invalidated region from ScrollWindowEx() instead of an incorrect
6232         attempt to calculate it ourselves. Fix by John Ehresman. (#323666)
6233
6234         * gdkevents-win32.c: Make _gdk_win32_hrgn_to_region() non-static.
6235
6236         * gdkprivate-win32.h: Declare it.
6237
6238 2005-12-31  Matthias Clasen  <mclasen@redhat.com>
6239
6240         * gtk/gtkaction.c: 
6241         * gtk/gtkentry.c: Connect to notify instead of multiple
6242         detailed signals.
6243
6244 2005-12-30  Matthias Clasen  <mclasen@redhat.com>
6245
6246         * gdk/gdk.symbols: 
6247         * gdk/gdkcairo.h: 
6248         * gdk/gdkcairo.c: Add gdk_cairo_set_source_pixmap.  (#318805,
6249         Alexander Larsson)
6250
6251         * gdk/gdkdisplaymanager.c (gdk_display_manager_set_property): Call
6252         gdk_display_manager_set_default_display() to change the default
6253         display.  (#153623, Stefan Kost)
6254
6255         * gtk/gtkmessagedialog.c (gtk_message_dialog_init):
6256          (setup_type): Alert dialogs should not have titles and should 
6257         not be displayed in the taskbar.  (#310443, Carlos Garnacho Parro,
6258         Dennis Cranston)
6259
6260 2005-12-29  Matthias Clasen  <mclasen@redhat.com>
6261
6262         * gtk/gtkliststore.c: 
6263         * gtk/gtktreestore.c: Always call the get_path and get_iter
6264         implementations directly, rather than the current mixture whith
6265         some calls going through the GtkTreeModel interface.
6266
6267         * gtk/gtktreemodelsort.c: 
6268         * gtk/gtkliststore.c: 
6269         * gtk/gtktreestore.c: Remove excessive g_return_if_fail() checks
6270         in static functions.
6271         
6272         * gtk/gtktreedatalist.c: Use the slice allocater for 
6273         GtkTreeDataSortHeader.
6274
6275         * gtk/gtktreedatalist.h: 
6276         * gtk/gtktreedatalist.c (_gtk_tree_data_list_set_header): New function.
6277
6278         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): 
6279         * gtk/gtkliststore.c (gtk_list_store_set_sort_func): 
6280         * gtk/gtktreestore.c (gtk_tree_store_set_sort_func): Use it here.
6281
6282 2005-12-27  Matthias Clasen  <mclasen@redhat.com>
6283
6284         * gtk/gtkbindings.h (GtkBindingSignal): 
6285         * gtk/gtkbindings.c (binding_signal_new): Make the
6286         args a flexible array inside the struct, and allocate them
6287         together.
6288
6289 Wed Dec 28 00:45:46 2005  Tim Janik  <timj@gtk.org>
6290
6291         * gtk/gtkctree.c (row_delete): delete GtkCTreeRow as GtkCTreeRow, not
6292         clist rows which crashes in gslice later on.
6293
6294 2005-12-27  Federico Mena Quintero  <federico@ximian.com>
6295
6296         * gtk/gtkfilefilter.c (gtk_file_filter_filter): In the case for
6297         FILTER_RULE_PIXBUF_FORMATS, check that filter_info->mime_type is
6298         not NULL.  Fixes bug #317687.
6299
6300 2005-12-27  Matthias Clasen  <mclasen@redhat.com>
6301
6302         * gdk/x11/gdkevents-x11.c (check_transform): Fix a typo.
6303         (gdk_screen_get_setting): Avoid relocations for the settings
6304         map.
6305
6306         * gdk/x11/gdkproperty-x11.c: Avoid relocations for the list
6307         of standard atoms.
6308
6309         * gtk/gtkbindings.c (gtk_binding_set_new): Avoid copying
6310         the set_name by interning it.
6311
6312 2005-12-26  Matthias Clasen  <mclasen@redhat.com>
6313
6314         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Precache atoms
6315         before calling gdk_window_new().
6316
6317         * gtk/gtktextbtree.c: Use the slice allocator for some other small
6318         auxiliary structures as well.
6319
6320         * gtk/gtkimcontext.c (gtk_im_context_filter_keypress): Clarify
6321         docs.  (#324996)
6322
6323         * gtk/gtktextbtree.c (gtk_text_btree_get_tag_info) 
6324         (gtk_text_btree_remove_tag_info): Use the slice allocator for 
6325         tag info.
6326
6327         * README.in: Mention the stripping of (_F) suffixes.
6328
6329         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Strip a suffix of 
6330         the form "(_<single character>)", since this is the preferred way
6331         for some languages to indicate accelerators.  (#323956, Yang Hong)
6332
6333         * gtk/gtklabel.c (gtk_label_class_init): Add a gtk-label-select-on-focus
6334         setting.
6335         (gtk_label_grab_focus): And use it here to select the contents of
6336         the label when appropriate.
6337         (gtk_label_class_init): Use the same keybindings for select all/
6338         unselect all as GtkEntry and GtkTextView.
6339
6340         * gtk/gtkdialog.c (gtk_dialog_map): When looking for the initial
6341         focus, avoid leaving a selection in a label.
6342
6343 2005-12-25  Matthias Clasen  <mclasen@redhat.com>
6344
6345         * gtk/gtkwindow.c: Documentation fixes.  (#324815, 
6346         Ross Burton)
6347
6348         * configure.in: Require GLib 2.9.2
6349
6350 2005-12-24  Matthias Clasen  <mclasen@redhat.com>
6351
6352         * gdk/gdkregion-generic.c: 
6353         * gdk/gdkpolyreg-generic.c: 
6354         * gdk/gdkregion.h: 
6355         * gdk/gdkrectangle.c: Inline docs, use g_assert(), avoid 
6356         extra allocation for rectangular regions.
6357
6358 Thu Dec 22 18:53:14 2005  Tim Janik  <timj@gtk.org>
6359
6360         * gtk/gtkobject.[hc]: renamed GUnowned to GInitiallyUnowned.
6361
6362 Thu Dec 22 17:55:11 2005  Tim Janik  <timj@gtk.org>
6363
6364         * gtk/gtkobject.h: parent type fixups in structure declarations.
6365
6366 Thu Dec 22 16:01:27 2005  Tim Janik  <timj@imendio.com>
6367
6368         * gtk/gtkobject.c: derive GtkObject from GUnowned,
6369         so it initially has a floating reference count.
6370         gtk_object_class_init(): installa floating flag handler with
6371         libgobject, so for GtkObjects the flag is stored as GTK_FLOATING
6372         in the ->flags member.
6373
6374         * tests/floatingtest.c: test floating flag uses.
6375
6376 2005-12-21  Matthias Clasen  <mclasen@redhat.com>
6377
6378         * gdk/gdkregion-generic.c: Use the slice allocator
6379         for regions. Still todo: avoid extra allocations for
6380         the single-rectangle case.
6381
6382         * gtk/gtksettings.c (gtk_settings_class_init): Update
6383         class_n_properties after installing color-hash, since
6384         other classes install settings, too.
6385
6386         * gtk/gtkctree.c: 
6387         * gtk/gtkclist.c: Fix some mistakes in the conversion
6388         from mem chunks to slice allocator.
6389
6390         * gtk/gtkiconview.c (adjust_wrap_width): Adjust the 
6391         wrap-width also if an explicit item width is set.  
6392         (#322475, Alex Graveley)
6393         
6394 2005-12-20  Matthias Clasen  <mclasen@redhat.com>
6395
6396         * gtk/gtkiconview.c (gtk_icon_view_button_press): Reset 
6397         pressed_button to -1 after handling a double click, so that
6398         motion events occurring between here and the release event
6399         don't trigger DND.  (#324588, Dave Andreoli)
6400
6401 2005-12-19  Matthias Clasen  <mclasen@redhat.com>
6402
6403         * gtk/gtkcellrenderer.c: 
6404         * gtk/gtkselection.c: 
6405         * gtk/gtkcalendar.c: 
6406         * gtk/gtkitemfactory.c: 
6407         * gdk/gtkcombo.c: 
6408         * gdk/gdkpixbuf-render.c: Documentation updates
6409
6410         * gtk/gtktreemodel.c: 
6411         * gtk/gtkplug.c: 
6412         * gtk/gtkwindow.c: Documentation fixes.
6413
6414 2005-12-19  Michael Natterer  <mitch@imendio.com>
6415
6416         * gtk/gtkentry.c: implement boolean property "truncate-multiline"
6417         which, when enabled, truncates multi-line pastes or drops to their
6418         first line. Fixes bug #322252.
6419
6420         * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): enable
6421         truncate-multiline here.
6422
6423 2005-12-17  Matthias Clasen  <mclasen@redhat.com>
6424
6425         * gtk/gtksettings.c (get_color_hash): Don't crash if
6426         there is no color scheme.  (#324429, Diego Gonzalez)
6427
6428 2005-12-16  Matthias Clasen  <mclasen@redhat.com>
6429
6430         * gtk/gtkfilesystem.c (gtk_file_system_module_load): 
6431         * gtk/gtkimmodule.c (gtk_im_module_load): 
6432         * gtk/gtkthemes.c (gtk_theme_engine_load): 
6433         * gtk/gtkmodules.c (find_module): Use G_MODULE_BIND_LAZY when
6434         opening modules.
6435
6436         * gtk/gtksettings.[hc]: Rework the way the color scheme setting
6437         is inherited. Now the overriding is done on a per-color basis,
6438         rather than for the setting as a whole. This has the effect
6439         that themes can declare defaults for all the symbolic colors they
6440         use by specifying a value for the gtk-color-scheme setting in 
6441         their rc file, while still allowing the XSetting to override
6442         "standard" symbolic colors. The hash table is now available
6443         through the color-hash property.
6444         
6445         * gtk/gtkrc.c: Use the new color-hash property.
6446         
6447 2005-12-14  Matthias Clasen  <mclasen@redhat.com>
6448
6449         * gtk/gtkcontainer.c (_gtk_container_focus_sort): Skip unrealized
6450         children when doing focus sorting.  (#323995, Dan Winship)
6451
6452 2005-12-14  Rodney Dawes  <dobey@novell.com>
6453
6454         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon):
6455         Default to "drive-harddisk" and then fall back to gnome-dev-harddisk
6456         (get_icon_for_mime_type): Look up the mime type icons according to the
6457         Icon Naming Specification and then fall back to the gnome-mime- prefix
6458         for the mime type icons
6459
6460         Fixes #323655
6461         
6462 2005-12-14  Matthias Clasen  <mclasen@redhat.com>
6463
6464         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Warn if the icon
6465         cannot be loaded.  (#323504, Kjartan Maraas)
6466
6467         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add docs 
6468         for the row-activated signal.  (#324044, Davyd Madeley)
6469
6470 2005-12-14  Michael Natterer  <mitch@imendio.com>
6471
6472         * tests/test-images/valid_jpeg_progressive_test: new test image.
6473
6474 Tue Dec 13 09:47:20 2005  Tim Janik  <timj@gtk.org>
6475
6476         * README.in: added a link to the floating reference docs in the
6477         2.10 release NEWS section.
6478
6479 2005-12-12  Matthias Clasen  <mclasen@redhat.com>
6480
6481         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_index): 
6482         Speed this function up, using the fact that visibility is 
6483         constant across segments. (#321548, Paolo Borelli)
6484
6485         * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
6486         * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Speed up
6487         stepping backwards.  (#320638, Larry Ewing, Paolo Borelli)
6488
6489         * gtk/gtkicontheme.c (ensure_valid_themes): Only broadcast
6490         _GTK_LOAD_ICONTHEMES if we detect a real theme change, not
6491         upon initial theme load.  (#323876, Peter Lund)
6492
6493         * gtk/gtkstatusicon.c (gtk_status_icon_class_init): Register
6494         the size-changed signal correctly.  (#323848, Murray Cumming)
6495
6496         * gtk/gtkmarshalers.list: Add necessary marshaller.
6497
6498         * gtk/gtktextview.c (gtk_text_view_get_border_window_size): Don't
6499         fall thru to the wrong window types.  (#323843)
6500
6501         Make the gtk-color-scheme setting work.
6502         
6503         * gtk/gtksettings.h: 
6504         * gtk/gtksettings.c (_gtk_settings_get_color_hash): Add a getter
6505         that takes care of initializing the color hash if it is not 
6506         already there.  
6507
6508         * gtk/gtkrc.c (gtk_rc_color_scheme_changed, gtk_rc_context_get): 
6509         And use it here.        
6510
6511 2005-12-10  Matthias Clasen  <mclasen@redhat.com>
6512
6513         * gdk/gdk.c (gdk_parse_args): Warn if parsing fails,
6514         not if it succeeds. 
6515
6516 2005-12-09  Matthias Clasen  <mclasen@redhat.com>
6517
6518         * gtk/gtkselection.c (gtk_selection_data_get_uris): Don't
6519         leak list[0].  (#323629, Markku Vire)
6520
6521         * gtk/gtktextbuffer.c (paste_from_buffer): Unref the buffer
6522         when freeing the RequestData.  (#323577)
6523
6524 2005-12-07  Matthias Clasen  <mclasen@redhat.com>
6525
6526         * demos/gtk-demo/iconview_edit.c (set_cell_color): Don't
6527         leak text.
6528
6529         * gtk/gtktoolbutton.c (clone_image_menu_size): Fix a 
6530         variable name clash.  (#323475, Ross Burton)
6531
6532 2005-12-07  Ross Burton  <ross@burtonini.com>
6533
6534         * docs/reference/gtk/tmpl/gtkenums.sgml:
6535         * gtk/gtktoolbutton.c:
6536         If the toolbar mode is ICONS and there is no icon set then show
6537         the label, and vice versa (#322019)
6538
6539 2005-12-07  Matthias Clasen  <mclasen@redhat.com>
6540
6541         * gtk/gtktoolbutton.c (clone_image_menu_size): Fix a 
6542         variable name clash.  (#323475, Ross Burton)
6543
6544         * gtk/gtktreeview.c (gtk_tree_view_key_press): Use the correct
6545         window when synthesizing the key event.  (#323077,
6546         Sadrul Habib Chowdhury)
6547         
6548         (gtk_tree_view_search_key_press_event): Also listen for
6549         GDK_ISO_Left_Tab.  (#323077, Sadrul Habib Chowdhury)
6550
6551         * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler): 
6552         Only scroll if we have focus.  (#316310, Paolo Borelli)
6553
6554         * gtk/gtkfilesystemunix.c (cb_fill_in_mime_type): Fix a C99ism,
6555         spotted by Crispin Flowerday.
6556
6557 2005-12-06  Behdad Esfahbod  <behdad@gnome.org>
6558
6559         * gtk/gtksettings.c (settings_update_font_options): Turn metrics
6560         hinting on (part of #307196)
6561
6562 2005-12-06  Matthias Clasen  <mclasen@redhat.com>
6563
6564         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_reset): Don't
6565         commit from reset, it upstets GtkTextView.
6566
6567         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Be more
6568         careful when turning blinking on and off.
6569         (gtk_text_view_focus_out_event): Make the cursor really invisible
6570         when the focus goes away.  (#323087, Sadrul Habib Chowdhury)
6571         (cursor_blinks): Check the gtk-cursor-blink setting first.
6572
6573         * gtk/gtktreeview.c (gtk_tree_view_key_press): Fix refcounting
6574         issues with new_event and its window.
6575
6576         * gtk/gtkmenu.c (gtk_menu_attach_to_widget): Accept NULL
6577         as a detach func.  (#323386, Jorn Baayen)
6578
6579         * gtk/gtkcalendar.c: Avoid conflict with win32 headers in
6580         the libdate routines.  (#323045, Kazuki Iwamoto)
6581
6582         * gdk/gdk.c (gdk_parse_args): 
6583         * gtk/gtkmain.c (gtk_parse_args): Don't ignore errors
6584         from g_option_context_parse(). 
6585
6586 Tue Dec  6 11:37:59 2005  Tim Janik  <timj@gtk.org>
6587
6588         * gdk/gdkevents.c (gdk_event_new): fix missing hash table 
6589         initialization.
6590
6591 Tue Dec  6 10:32:17 2005  Tim Janik  <timj@gtk.org>
6592
6593         * gtk/gtkstatusbar.c: ported memchunk uses to g_slice, so the code
6594         compiles again.
6595
6596 2005-12-05  Federico Mena Quintero  <federico@ximian.com>
6597
6598         * gtk/gtkfilechooserdefault.c (trap_activate_cb): "event->state &
6599         modifiers", not "event->state && modifiers".  Patch by Sadrul
6600         Habib Chowdhury <imadil@gmail.com>.  Fixes bug #323073.
6601
6602 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
6603
6604         * gtk/gtkwidget.c: 
6605         * gtk/gtkuimanager.c: 
6606         * gtk/gtktreedatalist.c: 
6607         * gtk/gtktext.c: 
6608         * gtk/gtkmain.c: 
6609         * gtk/gtkitemfactory.c: 
6610         * gtk/gtkseparator.[hc]:
6611         * gtk/gtkclist.[hc]: 
6612         * gtk/gtkctree.c:
6613         * gtk/gtkgc.c: Use g_slice instead of mem chunks.
6614
6615 2005-12-05  Michael Natterer  <mitch@imendio.com>
6616
6617         * gdk/x11/gdkevents-x11.c: map the new GtkSettings properties
6618         "timeout-initial", "timeout-repeat", "color-scheme" and
6619         "enable-animations" to X settings.
6620
6621 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
6622
6623         * gdk/gdkevents.c: 
6624         * gdk/gdkcolor.c: Use g_slice instead of mem chunks.
6625
6626         * gtk/gtktreeview.c (gtk_tree_view_key_press): Free new_event
6627         after sending it to the search entry.  (#323209, Crispin Flowerday)
6628
6629         * README.in: Add a note about GTK_FLOATING.
6630
6631         * gtk/gtkobject.h (GTK_OBJECT_FLOATING): Use g_object_is_floating.
6632
6633 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
6634
6635         * gtk/gtktoolbutton.c (clone_image_menu_size): Don't leak
6636         a pixbuf.  (#323024, Paolo Borelli)
6637
6638 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
6639
6640         * gtk/gtkfilesystemunix.c (get_icon_for_mime_type): Don't crash
6641         if mime_type is NULL.  (#322998, Sadrul Habib Chowdhury)
6642
6643 2005-12-02  Michael Natterer  <mitch@imendio.com>
6644
6645         * gtk/gtkmenu.c: applied modified patch from maemo-gtk which
6646         adds a "horizontal-padding" style property. Fixes bug #323036.
6647
6648 2005-12-01  Michael Natterer  <mitch@imendio.com>
6649
6650         Merged modified patch from maemo-gtk that allows to disable
6651         toolbar animations. Addresses bug #142582.
6652
6653         * gtk/gtksettings.c: added boolean property "gtk-enable-animations".
6654         (patch from Christian Neumair)
6655
6656         * gtk/gtktoolbar.c: don't animate toolbar changes if the settings
6657         property is FALSE. Replaced the individual "notify::foo"
6658         connections to GtkSettings by a single "notify" callback and
6659         dispatch internally.
6660
6661 2005-12-01  Michael Natterer  <mitch@imendio.com>
6662
6663         * gtk/gtkmenu.c (gtk_menu_class_init): removed redundant
6664         assignment of widget_class->motion_notify_event
6665
6666 2005-11-29  Matthias Clasen  <mclasen@redhat.com>
6667
6668         * gtk/gtktoggleaction.c (gtk_toggle_action_class_init): Add 
6669         an active property.  (#322673, Jorn Baayen)
6670
6671         Properly handle model changes in GtkTreeSelection: (#322569,
6672         Milosz Derezynski)
6673         
6674         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): 
6675         Get a reference to the model, and stop the iteration if the model
6676         of the treeview is changed on the way.
6677
6678         * gtk/gtktreeprivate.h: 
6679         * gtk/gtktreeselection.c (_gtk_tree_selection_emit_changed): New 
6680         private function to emit the GtkTreeSelection::changed signal.
6681
6682         * gtk/gtktreeview.c (gtk_tree_view_set_model): Call 
6683         _gtk_tree_selection_emit_changed() when the model changes.
6684
6685 2005-11-28  Federico Mena Quintero  <federico@ximian.com>
6686
6687         Fixes the critical warnings from bug #317999, thus fixing the bug
6688         completely:
6689
6690         * gtk/gtkfilechooserdefault.c
6691         (gtk_file_chooser_default_get_paths): In SELECT_FOLDER mode,
6692         use _gtk_file_chooser_get_current_folder_path() instead of fetching the
6693         impl->current_folder directly.  The latter may be null if we are
6694         in RELOAD_NONE state.
6695
6696 2005-11-28  Federico Mena Quintero  <federico@ximian.com>
6697
6698         Fix bug #321560, based on a patch by Bogdan Nicula (bogdanni@hotmail.com):
6699
6700         * gtk/gtkfilechooserdefault.c (up_folder_handler): Don't add the
6701         current_folder to the pending select paths here; the path bar will
6702         give it to us now.
6703         (path_bar_clicked): Add the child_path to the pending select paths
6704         here.
6705         (show_and_select_paths): Don't filter out folders.
6706         (show_and_select_paths): Don't take separate arguments for
6707         only_one_path and multiple paths.
6708
6709         * tests/autotestfilechooser.c (test_folder_switch_and_filters):
6710         New test about preserving the filters when we change folders.
6711
6712 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
6713
6714         * gtk/gtkscale.c (_gtk_scale_format_value): Insert an LRM, to prevent
6715         -20 to come out as 20- in RTL locales.  (#322571, Tze'ela Hebron)
6716
6717         * gtk/gtkaction.c (gtk_action_sync_button_stock_id) 
6718         (connect_proxy): Buttons use the label property for stock ids.  (#322565,
6719         Milosz Derezynski)
6720
6721         * gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
6722         handle the cell list and indices into it.  (#321856)
6723
6724 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
6725
6726         * gtk/gtktooltips.c (gtk_tooltips_timeout): Set timer_tag to 0 when
6727         the timeout is done.  (#322291, Jean-Yves Lefort)
6728
6729 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
6730
6731         * gtk/gtkfilechooserdefault.c (shortcuts_key_press_event_cb): Make
6732         F2 work for renaming bookmarks.  (#320822, Jaap A. Haitsma, patch
6733         by Paolo Borelli)
6734
6735 2005-11-28  Tor Lillqvist  <tml@novell.com>
6736
6737         * gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint):
6738         Implement the conditional use of FlashWindowEx() properly for MSVC
6739         compilations. The code was confusingly assuming that if compiled
6740         with a "new" compiler, it will only be run on "new" Windows
6741         versions. We want it to run on "old" versions, too, even if
6742         compiled with a "new" compiler. There are two orthogonal issues:
6743         whether the compiler defines the necessary API in its headers, and
6744         whether it is present at run-time. (#318077)
6745
6746         * gtk/gtkcalendar.c (gtk_calendar_init): Use GetLocaleInfo() on
6747         Windows to get the localized weekday and month names. strftime()
6748         in the Microsoft C library returns strings in the default codepage
6749         for the locale of the process, not the system codepage. Thus
6750         g_locale_to_utf8() isn't useable on the return value from
6751         strftime(). (#322603)
6752
6753 2005-11-27  Matthias Clasen  <mclasen@redhat.com>
6754
6755         * gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup): 
6756         Fix an example.  (#322493, Elie De Brauwer)
6757         
6758         Fix two memory handling problems in GtkTreeView: (#322350, 
6759         Søren Sandmann)
6760         
6761         * gtk/gtktreeview.c (gtk_tree_view_destroy) 
6762         (gtk_tree_view_set_model): Remove all references to nodes in
6763         the old model.
6764         (gtk_tree_view_real_collapse_row): Unmark expanded_collapsed_node
6765         before removing the children.
6766
6767         * gtk/gtkcolorbutton.c (gtk_color_button_init): Don't leak a 
6768         PangoLayout here.  (#322505, Paolo Borelli)
6769
6770 2005-11-27  Tor Lillqvist  <tml@novell.com>
6771
6772         Once again rework Win32 window decoration code. Doesn't break
6773         #104514. The dialogs in gtk-demo now have the same decorations and
6774         behaviour as on X11. Tried to fix #322516 but it seems very hard
6775         to make the trivial sample program there behave as expected. OTOH,
6776         simply moving the gtk_window_decorate() call in the #322516 sample
6777         program after the call to gtk_widget_show() helps...
6778             
6779         * gdk/win32/gdkwindow-win32.c (set_or_clear_style_bits): Revert to
6780         the correct semantics. Each call to gdk_window_set_decorations()
6781         which calls this function is supposed to affect all decorations.
6782
6783         (decorate_based_on_hints): New function, looks at both geometry
6784         hints and type hint and sets window decorations based on
6785         that. Consolidate code from gdk_window_set_geometry_hints() and
6786         gdk_window_set_type_hint() here.
6787
6788         (gdk_window_set_geometry_hints, gdk_window_set_type_hint): Call
6789         decorate_based_on_hints().
6790
6791 2005-11-25  Dom Lachowicz <cinamod@hotmail.com>
6792
6793         * modules/engines/ms-windows/*.[ch]: Merge with gtk-wimp's CVS.
6794         Includes improved menu icon spacing, [+]/[-] expander drawing,
6795         status-bar gippie drawing, and notebook tab drawing.
6796         
6797 2005-11-24  Michael Natterer  <mitch@imendio.com>
6798
6799         * gtk/gtktoolbar.h (struct _GtkToolbar): changed two private guint
6800         that used to hold signal handler IDs to two guint of padding.
6801
6802         * gtk/gtktoolbar.c (struct _GtkToolbarPrivate): added them as
6803         gulong here.
6804
6805         (gtk_toolbar_screen_changed): changed accordingly.
6806
6807 Wed Nov 23 18:55:47 2005  Tim Janik  <timj@imendio.com>
6808
6809         * gtk/gtkobject.[hc]: deprecated floating/sink API and implemented it
6810         in terms of the GObject floating/sink API.
6811
6812         * gtk/gtkaboutdialog.c:
6813         * gtk/gtkaction.c:
6814         * gtk/gtkcellview.c:
6815         * gtk/gtkclist.c:
6816         * gtk/gtkcolorsel.c:
6817         * gtk/gtkcombobox.c:
6818         * gtk/gtkfilechooserdefault.c:
6819         * gtk/gtkiconview.c:
6820         * gtk/gtkinvisible.c:
6821         * gtk/gtkitemfactory.c:
6822         * gtk/gtklayout.c:
6823         * gtk/gtkmenu.c:
6824         * gtk/gtkmenutoolbutton.c:
6825         * gtk/gtknotebook.c:
6826         * gtk/gtkprogress.c:
6827         * gtk/gtkrange.c:
6828         * gtk/gtkspinbutton.c:
6829         * gtk/gtkstatusicon.c:
6830         * gtk/gtktext.c:
6831         * gtk/gtktextview.c:
6832         * gtk/gtktoolbar.c:
6833         * gtk/gtktoolbutton.c:
6834         * gtk/gtktoolitem.c:
6835         * gtk/gtktreeitem.c:
6836         * gtk/gtktreeview.c:
6837         * gtk/gtktreeviewcolumn.c:
6838         * gtk/gtkuimanager.c:
6839         * gtk/gtkviewport.c:
6840         * gtk/gtkwidget.c:
6841         * gtk/gtkwindow.c:
6842         ported to use GObject's g_object_ref_sink().
6843
6844         * gtk/gtkcolorsel.c:
6845         * gtk/gtkfilechooserdefault.c:
6846         * gtk/gtkaboutdialog.c:
6847         fixed compiler warnings.
6848
6849 2005-11-23  Matthias Clasen  <mclasen@redhat.com>
6850
6851         * gtk/gtksettings.c (gtk_settings_class_init): Add some docs
6852         about gtk-color-scheme.
6853
6854 2005-11-23  Behdad Esfahbod  <behdad@gnome.org>
6855
6856         * configure.in (enable_explicit_deps): Fix typo when checking
6857         libtool config deplibs_check_method. Moreover, enable explicit
6858         deps if we get anything other than pass_all from libtool. (part of
6859         #318750)
6860
6861 2005-11-23  Matthias Clasen  <mclasen@redhat.com>
6862
6863         * gtk/updateiconcache.c (write_csource): Don't create a big
6864         string, since Visual C++ doesn't like strings longer than 64k. 
6865         (#322238, Kazuki IWAMOTO
6866
6867         * gtk/gtkentry.c: Include gtkimcontextsimple.h  (#322235,
6868         Kazuki IWAMOTO)
6869
6870 2005-11-23  Michael Natterer  <mitch@imendio.com>
6871
6872         * gtk/gtkrc.c (gtk_rc_reset_widgets): don't leak all toplevel
6873         windows on other screens (correctly remove all temporary
6874         references).
6875
6876 2005-11-23  Michael Natterer  <mitch@imendio.com>
6877
6878         Added symbolic themable colors. Patch is a merged version of
6879         proposals from Matthias and maemo-gtk. Fixes bug #114355.
6880
6881         * configure.in: require glib >= 2.9.1 for refcountable hashtables.
6882
6883         * gtk/gtksettings.c: added property "color-scheme" which is a
6884         string defining colors like "foreground:black\nbackground:grey".
6885         Automatically provide a name->GdkColor hash table mapping for the
6886         color scheme.
6887
6888         * gtk/gtkrc.[ch]: added list of color hashes that works like the
6889         list of icon factories. Append the color scheme hash from
6890         GtkSettings if it exists. Extended gtkrc syntax to allow defining
6891         and referencing of logical colors. Also allow to modulate colors
6892         in gtkrc by using arbitrary expressions of mix(), shade(),
6893         lighter() and darker(). Added internal function
6894         _gtk_rc_style_get_color_hashes().
6895
6896         * gtk/gtkstyle.[ch]: keep a private list of color hashes around.
6897         Get the list from _gtk_rc_style_get_color_hashes(). Export
6898         internal function _gtk_style_shade() (used by above color
6899         expressions). Added public API gtk_style_lookup_color() which
6900         looks up a logical color by name.
6901
6902         * gtk/gtk.symbols: add gtk_style_lookup_color
6903
6904         * tests/testgtkrc: use symbolic colors for making
6905         the scrollbars red.
6906
6907 2005-11-22  Michael Natterer  <mitch@imendio.com>
6908
6909         Made button-press timeouts which work like key repeat timeouts
6910         configurable. Addresses bug #142582:
6911
6912         * gtk/gtksettings.c: added properties "gtk-timeout-initial" and
6913         "gtk-timeout-repeat" which defalt to 200/20 (ms).
6914
6915         Use the values from GtkSettings instead of hardcoding them
6916         (the repeat value is either taken as-is for fast repeat or
6917         multiplied by 5 for slow repeat). Changed all places to use these
6918         two standard initial/repeat timings:
6919
6920         * gtk/gtkcalendar.c (unchanged 200/20)
6921         * gtk/gtknotebook.c (unchanged 200/100)
6922         * gtk/gtkpathbar.c (changed from 300/150 to 200/100)
6923         * gtk/gtkrange.c (changed from 250/100 to 200/100)
6924         * gtk/gtkspinbutton.c (unchanged 200/20)
6925
6926 2005-11-21  Anders Carlsson  <andersca@imendio.com>
6927
6928         * configure.in:
6929         * gtk/Makefile.am:
6930         * gdk/Makefile.am:
6931         * gdk/quartz/*:
6932         Add quartz backend.
6933         
6934         * docs/tools/Makefile.am:
6935         Only build docshooter when the X11 backend is used.
6936         
6937         * gtk/gtkplug-stub.c:
6938         Include gtkplug.h here.
6939         
6940         * gtk/gtksocket-stub.c:
6941         Include gtksocket.h here.
6942         
6943 2005-11-21  Matthias Clasen  <mclasen@redhat.com>
6944
6945         * gtk/gtkinputdialog.c: Convert GtkInputDialog to 
6946         g_type_class_add_private.
6947
6948         * gtk/gtksocket.c: Convert GtkSocket to g_type_class_add_private.
6949
6950         * gtk/gtkmenu.c: Convert GtkMenu to g_type_class_add_private.
6951
6952         * gtk/gtk.symbols:
6953         * gtk/gtkcombobox.[hc]: Add a tearoff-title property,
6954         with getter and setter.  (#316482, Olexiy Avramchenko)
6955
6956         * tests/testcombo.c (main): Test gtk_combo_box_set_title
6957
6958         * gtk/gtkpathbar.c: Merge remaining fixes from the 2.8 branch,
6959         pointed out by Michael Natterer.
6960
6961         Fix for bug #321542, Benedikt Meurer:
6962         
6963         * gtk/gtkcombobox.c (gtk_combo_box_set_active_internal):
6964         Emit notify::active.
6965         
6966         (gtk_combo_box_child_show, gtk_combo_box_child_hide): Use
6967         g_signal_emit, not g_signal_emit_by_name.
6968
6969 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
6970
6971         Fix crashes in connection with pathbar scrolling (#321560,
6972         Bogdan Nicula)
6973         
6974         * gtk/gtkpathbar.c (gtk_path_bar_update_slider_buttons): 
6975         Stop scrolling when desensitising slider buttons.
6976         (gtk_path_bar_scroll_timeout, gtk_path_bar_slider_button_press): 
6977         And use it here.  
6978
6979         * gtk/gtkpathbar.h (struct _GtkPathBar): Add a separate
6980         scrolling_down flag.
6981
6982 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
6983
6984         * gtk/gtkpathbar.c (button_clicked_cb): Fix a C99ism.
6985         (#321777, Jens Granseuer)
6986
6987         * gtk/gtkaction.c (disconnect_proxy): Disconnect the
6988         sync callback for the visibility property.  (#321761,
6989         Philip Langdale)
6990
6991         Turn off input methods in invisible entries, since
6992         they are confusing.  (#317002, James Su)
6993         
6994         * gtk/gtkentry.c (gtk_entry_set_visibility): Toggle input
6995         methods if visibility changes.
6996         (popup_targets_received): Don't show the input method
6997         menu if the entry is invisible.  
6998
6999 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
7000
7001         * README.in: Add a note about range arrow sensitivity.
7002
7003         * perf/treeview.c: const correctness fixes
7004         found by Arjan van de Ven and gcc.
7005
7006 2005-11-16  Michael Natterer  <mitch@imendio.com>
7007
7008         * gtk/gtkimage.c (animation_timeout): call
7009         gtk_window_process_updates() so the animation keeps running even
7010         if the main loop is busy with sources that eat a lot of cpu with
7011         high priority. Fixes bug #321444.
7012
7013         (gtk_image_new_from_animation): document the fact that the
7014         animation will stop running if the main loop is busy with sources
7015         that have priorities higher than G_PRIORITY_DEFAULT.
7016
7017         * tests/testimage.c: added test case that shows an animation even
7018         though a cpu-eating idle function is running.
7019
7020 2005-11-16  Michael Natterer  <mitch@imendio.com>
7021
7022         * gdk/x11/gdkevents-x11.c (_gdk_events_uninit): new internal
7023         function which destroys the display's event source. Also removes
7024         the source from the global display_sources list and unrefs it.
7025
7026         * gdk/x11/gdkprivate-x11.h: declare the function.
7027
7028         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose): call it
7029         instead of half-destroying the source here.
7030
7031 2005-11-15  Matthias Clasen  <mclasen@redhat.com>
7032
7033         * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
7034         leak.  (#321032, Peter Zelezny)
7035
7036 2005-11-15  Michael Natterer  <mitch@imendio.com>
7037
7038         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
7039         display->xid_ht as late as possible (right before XCloseDisplay)
7040         because it still needs to be around when the display's screens are
7041         finalized. (#85715)
7042
7043 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
7044
7045         * gtk/gtkselection.c (gtk_selection_data_set_uris): Don't
7046         leak result.  (#321441, Tommi Komulainen)
7047
7048 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
7049
7050         * gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes):
7051         Don't crash if there is no builtin icon.
7052
7053 2005-11-14  Michael Natterer  <mitch@imendio.com>
7054
7055         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_set_property):
7056         removed redundant calls to g_object_notify().
7057
7058 2005-11-13  Matthias Clasen  <mclasen@redhat.com>
7059
7060         * gdk/gdkcolor.c (gdk_color_parse): Documentation 
7061         improvements.  (#321338)
7062
7063         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Make
7064         limit an inclusive boundary.  (#321299)
7065
7066 2005-11-12  Michael Natterer  <mitch@imendio.com>
7067
7068         * gtk/Makefile.am: fixed icon rules so gtkbuiltincache.h is only
7069         rebuilt if needed.
7070
7071 2005-11-12  Dom Lachowicz <cinamod@hotmail.com>
7072
7073         * modules/engines/ms-windows/msw_style.c: Bug #313627. Make win32 
7074         theme's handling of toolbars, handleboxes, and menubars more in-line
7075         with Microsoft's IE style.
7076         * modules/engines/ms-windows/*.c: Indentation cleanups
7077         
7078 2005-11-12  Matthias Clasen  <mclasen@redhat.com>
7079
7080         Make builtin icons work in gtk_window_set_icon_name() 
7081         (#321046, Maxim Udushlivy)
7082
7083         * gtk/gtkicontheme.c (insert_theme): Always insert the default
7084         theme.
7085         (ensure_valid_themes): Call _gtk_icon_theme_ensure_builtin_cache()
7086         from here.
7087         (theme_lookup_icon, find_builtin_icon): ...and not from here.
7088         (gtk_icon_theme_lookup_icon): Remove an unncessary assert.
7089         (gtk_icon_theme_get_icon_sizes): Also check builtin icons.
7090
7091 2005-11-12  Tor Lillqvist  <tml@novell.com>
7092
7093         * gtk/gtkfilesystemwin32.c (filename_get_info): Don't hide
7094         dotfiles, no such convention on Win32. Just hide files with the
7095         hidden attribute. (#314627)
7096
7097 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
7098
7099         * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Do not
7100         check whether the path is a folder.  It is useful to bookmark
7101         files as well (e.g. todo.txt), and this will also help
7102         performance.
7103         (shortcuts_add_bookmark_from_path): Likewise.
7104         (shortcuts_activate_iter): Change folders or select files, as
7105         appropriate.
7106
7107 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
7108
7109         * tests/autotestfilechooser.c (main): Use
7110         g_log_set_default_handler() instead of explicitly setting a
7111         handler for each domain.
7112
7113         * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Only get
7114         the base path of the volume if it is mounted.
7115
7116 2005-11-11  Michael Natterer  <mitch@imendio.com>
7117
7118         Added per-stepper API for GtkRange's stepper sensitivity as
7119         discussed in bug #321056:
7120
7121         * gtk/gtkenums.h: added GtkSensitivityType which can be
7122         { AUTO, ON, OFF }.
7123
7124         * gtk/gtkrange.[ch]: added properties "lower-stepper-sensitivity"
7125         and "upper-stepper-sensitivity" and public getters/setters for
7126         them. Changed stepper drawing to honor the new properties.
7127
7128         * gtk/gtk.symbols: added the new symbols.
7129
7130 2005-11-10  Matthias Clasen  <mclasen@redhat.com>
7131
7132         * gtk/gtkcombobox.c: Add show-popup and hide-popup signals and
7133         emit them when the popup is shown or hidden.  (#162531, Tommi
7134         Komulainen)
7135
7136         * tests/testcombo.c: Add an example of popuplating a combobox
7137         on click.
7138
7139         * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column): Another
7140         erroneous semicolon.
7141
7142         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get): Remove an erroneous
7143         semicolon. 
7144
7145         Don't corrupt odd keymaps (#316638, Kean Johnston)
7146         
7147         * gdk/x11/gdkkeys-x11.c (set_symbol): Auxiliary function to
7148         handle frobbing keymaps with odd numbers of syms/code.
7149         
7150         * gdk/x11/gdkkeys-x11.c (update_keymaps): Use set_symbol() to 
7151         frob the keymap.
7152
7153         Improve navigation to parent folders.  (#318444, Andrei Yurkevich)
7154         
7155         * gtk/gtkpathbar.[hc]: Add a child_path argument to
7156         the path_clicked signal.
7157         * gtk/gtkfilechooserdefault.c (path_bar_clicked): Select the
7158         child_path, if it is provided.
7159         * gtk/marshalers.list (path_bar_clicked): Add the necessary
7160         glue.
7161
7162         * gtk/gtkmenu.c: Fix some compiler warnings. (#321141,
7163         Kjartan Maraas)
7164         
7165         * gtk/gtk.symbols: 
7166         * gtk/gtktreeview.h: 
7167         * gtk/gtktreeview.c: Implement a getter for headers-clickable.
7168         (#163851, Richard Hult)
7169
7170 2005-11-10  Michael Natterer  <mitch@imendio.com>
7171
7172         Applied patch from maemo-gtk that addresses many issues wrt
7173         display migration and display closing (bug #85715).
7174
7175         * gdk/gdkdisplay.c (gdk_display_dispose): don't just set the
7176         default display to NULL when it's closed. Instead set the most
7177         recently opened display as new default (if one exists).
7178
7179         * gdk/gdkpango.c (on_renderer_display_closed): fixed signature
7180         of this callback.
7181
7182         * gdk/gdkscreen.c (gdk_screen_dispose): check if the GCs still
7183         exist before unrefing them.
7184
7185         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): if the screen
7186         is closed, allow destruction of the root window.
7187
7188         * gdk/x11/gdkdisplay-x11.c: moved some stuff from finalize() to
7189         dispose(), free stuff that was leaked before.
7190
7191         * gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen): check if
7192         the xsettings_client still exists before destroying it.
7193
7194         * gdk/x11/gdkkeys-x11.c: added finalization and free the allocated
7195         X resources.
7196
7197         * gdk/x11/gdkpixmap-x11.c: moved stuff from finalize() to new
7198         dispose() implementation.
7199
7200         * gdk/x11/gdkscreen-x11.c: moved stuff from finalize() to
7201         dispose() and check if it still exists before unrefing it. Set
7202         their pointers to NULL/None *after* upchaining in dispose(),
7203         because X11 implementations of members of the parent class still
7204         need them for their own destruction.
7205
7206         * gdk/x11/gdkvisual-x11.c: removed finalize() implementation which
7207         was g_error()ing when finalizing a visual.
7208
7209         * gtk/gtkclipboard.c (gtk_clipboard_finalize): don't use
7210         get_clipboard_widget() because it would create the widget if it
7211         doesn't exist. Use g_object_get_data() directly instead.
7212
7213         * gtk/gtktextdisplay.c (on_renderer_display_closed): fixed signature
7214         of this callback.
7215
7216 2005-11-10  Simos Xenitellis  <simos@gnome.org>
7217
7218         * configure.in: Added Tatar (tt) to ALL_LINGUAS.
7219
7220 Wed Nov  9 16:29:42 2005  Tim Janik  <timj@imendio.com>
7221
7222         * gtk/gtkrange.c: patch from maemo-gtk that changes GtkRange
7223         to render its arrows insensitive when the adjustment is in
7224         its min or max position. this makes range arrow behaviour 
7225         consistent with spin button behaviour. (#321056)
7226
7227 2005-11-09  Tor Lillqvist  <tml@novell.com>
7228
7229         * gdk/gdkinternals.h
7230         * gdk/gdk.c (gdk_debug_keys[]): Add new GDK_DEBUG_DRAW flag to
7231         the GdkDebugFlag enum.
7232
7233         * gdk/win32/gdkdrawable-win32.c: Use DRAW to trigger GDK_NOTEs in
7234         this file instead of MISC. Now asking for MISC will give mainly
7235         window manipulation debugging output with the Win32 backend.
7236
7237 2005-11-09  Tor Lillqvist  <tml@novell.com>
7238
7239         * gdk/win32/gdkwindow-win32.c: Remove unnecessary includes.
7240
7241         (_gdk_win32_get_adjusted_client_rect): Remove this two-line
7242         function which was used only in one place.
7243
7244         (get_outer_rect): Use _gdk_win32_adjust_client_rect().
7245
7246         (gdk_window_set_geometry_hints): If we have identical minimum and
7247         maximum size hints, remove the resize and maximize
7248         decorations/functions. (#104514)
7249
7250         If we have a maximum size hint, remove the maximize
7251         decoration/function but ensure the resize decoration/function is
7252         available. Otherwise ensure both resize and maximize
7253         decorations/functions are there.
7254
7255         (set_or_clear_style_bits): Factored out common code from
7256         gdk_window_set_decorations() and gdk_window_set_functions(). 
7257
7258         Hack the window style setting once more: Only touch the window
7259         style bits corresponding to the GdkWMDecoration or GdkWMFunction
7260         parameter bitmasks. Hopefully this finally is the correct thing to
7261         do. We used to clear all other bits than those that were being
7262         set, or set all other bits than those that were being cleared.
7263
7264         Take into account that adding or removing decorations leaves the
7265         window's outer size unchanged, i.e., the client area's size and
7266         position change. This is apparently not what we want, so change
7267         also the window's (outer) position and size appropriately so that
7268         the client area's position and size stay constant.
7269
7270         gtk-demo's color selector dialog is now non-resizable like on X11
7271         (I tested with metacity in GNOME). Torn off menus are shrinkable
7272         vertically but have a maximum size, and are not maximizable or
7273         minimizable, like on X11.
7274
7275         (gdk_window_set_decorations, gdk_window_set_functions): Let
7276         set_or_clear_decorations() do most of the job.
7277
7278         * gdk/win32/gdkprivate-win32.h: Remove declaration of
7279         _gdk_win32_get_adjusted_client_rect().
7280
7281 2005-11-09  Tor Lillqvist  <tml@novell.com>
7282
7283         * gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32)
7284         * gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_init,
7285         gdk_window_get_type_hint, gdk_window_get_type_hint): Store the
7286         type hint. Implement gdk_window_get_type_hint() by just returning
7287         the hint stored.
7288
7289 2005-11-09  Tor Lillqvist  <tml@novell.com>
7290
7291         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
7292         Remove code that has been permanently ifdeffed out for two years.
7293
7294 2005-11-08  Matthias Clasen  <mclasen@redhat.com>
7295
7296         * gdk/gdkgc.c (gdk_gc_finalize): Unref tile and stipple when
7297         finalizing a gc.  (#320789, Nickolay V. Shmyrev)
7298
7299         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Ignore
7300         icons if they would make the request large enough to cause
7301         Xlib to loose the connection.  (#320909, Claudio Saavedra)
7302
7303 2005-11-08  Michael Natterer  <mitch@imendio.com>
7304
7305         * gdk/gdk.symbols
7306         * gdk/gdkwindow.h
7307         * gdk/x11/gdkwindow-x11.c: added gdk_window_get_type_hint() (patch
7308         extracted from maemo-gtk). Fixes bug #320872.
7309
7310 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
7311
7312         * gtk/gtkfilechooserdefault.c (shortcuts_reorder): Don't
7313         looks the bookmark label when reordering.  (#320720, Jeremy Cook)
7314
7315         * gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
7316         Don't grab focus when a slider button is pressed, instead, use
7317         a bit in the pathbar struct to determine whether to scroll up
7318         or down.  (#314486, Carlos Garnacho)
7319
7320         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): 
7321         Don't popup the completions if the focus has already been
7322         moved somewhere else.  (#319914, Christian Persch)
7323
7324         * gtk/gtktoolitem.c (_gtk_tool_item_toolbar_reconfigured): 
7325         Raise the drag_window after reconfiguring the 
7326         toolbar.  (#320803, Christian Persch)
7327
7328         * gtk/gtk.symbols: 
7329         * gtk/gtkfilechooserbutton.h: 
7330         * gtk/gtkfilechooserbutton.c: Add a focus-on-click property
7331         with setter and getter.  (#318945, Christian Persch)
7332         
7333 Mon Nov  7 16:15:16 2005  Tim Janik  <timj@imendio.com>
7334
7335         * configure.in: fixed missing $X_CFLAGS setup in case x11.pc is present.
7336
7337 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
7338
7339         * configure.in: Adjust to the stock icon changes.
7340         
7341 2005-11-07  Tor Lillqvist  <tml@novell.com>
7342
7343         * gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_normal):
7344         Correct the calculation of maskstride. (#320152, Peter Zelezny)
7345         
7346 2005-11-06  Michael Natterer  <mitch@imendio.com>
7347
7348         * gtk/Makefile.am (icons): fixed rule to actually create the
7349         symlinks, erroring out if anything goes wrong.
7350
7351 2005-11-06  Tor Lillqvist  <tml@novell.com>
7352
7353         * gtk/updateiconcache.c (build_cache): Can't rename a file if the
7354         target exists on Win32. First rename the target temporarily, then
7355         if the renaming of the source to target fails, restore the
7356         original name for the target.
7357
7358         * gtk/Makefile.am: Use EXEEXT in the dependency on gtk-update-icon-cache.
7359
7360 2005-11-06  Tor Lillqvist  <tml@novell.com>
7361
7362         (pixbuf_to_hbitmaps_alpha_winxp): Use an 1-bit mask bitmap,
7363         like pixbuf_to_hbitmaps_normal().
7364         (_gdk_win32_pixbuf_to_hicon_supports_alpha): Check
7365         G_WIN32_IS_NT_BASED() first, so we can pretend being on Win9x by
7366         setting the G_WIN32_PRETEND_WIN9X environment variable.
7367         
7368 2005-11-06  Tor Lillqvist  <tml@novell.com>
7369
7370         Make icon masks work on Win98 (#320152, Peter Zelezny)
7371
7372         * gdk/win32/gdkcursor-win32.c (create_color_bitmap): Take also a
7373         parameter for the depth of the bitmap, so that this function can
7374         be used to create 1-bit bitmaps, too.
7375         (pixbuf_to_hbitmaps_normal): Create an 1-bit bitmap for the mask,
7376         and initialize it properly.
7377
7378 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
7379
7380         Store builtin stock icons in an icon cache, instead of
7381         populating a hash table with pixbufs at startup, to save both
7382         memory and startup time.
7383
7384         * gtk/stock-icons/*: Reorganize the icons in a directory structure
7385         suitable for gtk-update-icon-cache, and rename them to match the
7386         stock ids.
7387
7388         * gtk/gtkiconcache.[hc]: Support non-mmapped icon caches, and
7389         add _gtk_icon_cache_has_icon_in_directory().
7390
7391         * gtk/updateiconcache.c: Support a --source <VARIABLE> argument
7392         to store the contents of the icon cache in a C header.
7393
7394         * gtk/gtkbuiltincache.h: Generated private header which contains 
7395         the icon cache for the builtin icons.
7396
7397         * gtk/gtkicontheme.c: Create a GtkIconCache for the builtin
7398         icons, and use that in addition to the hash table whenever
7399         builtin icons are searched.
7400
7401         * gtk/gtkiconfactory.c: Add GTK_ICON_SOURCE_STATIC_ICON_NAME and
7402         use it for static stock ids. 
7403         (get_default_icons): Don't add the builtin
7404         icons to the icon theme, just register the stock ids.
7405         (render_fallback_image): Take the fallback image out of the
7406         builtin icon cache.
7407         
7408         * gtk/Makefile.am: Remove stock-icons from SUBDIRS and add 
7409         the necessary machinery to rebuild gtkbuiltincache.h.
7410
7411 2005-11-04  Michael Natterer  <mitch@imendio.com>
7412
7413         * gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): applied patch
7414         from maemo-gtk that changes the mtime check for rc files from
7415         '>' to '!=', otherwise theme changes go unnoticed when turning
7416         back the clock (Tommi Komulainen).
7417
7418 2005-11-04  Tor Lillqvist  <tml@novell.com>
7419
7420         * gtk/gtkstatusicon.c (gtk_status_icon_set_tooltip): Plug memory
7421         leak on Win32.
7422
7423 2005-11-03  Tor Lillqvist  <tml@novell.com>
7424
7425         * gdk/win32/gdkcursor-win32.c: As there is only one GdkDisplay in
7426         the Win32 backend, check that GdkDisplay* parameters are equal to
7427         _gdk_display instead of using the unnecessarily general
7428         GDK_IS_DISPLAY().
7429
7430         (pixbuf_to_hbitmaps_alpha_winxp): Rename the variables for the
7431         color bitmap to have "color" in their name, for similarity with
7432         pixbuf_to_hbitmaps_normal(). Create a color bitmap for the mask,
7433         too, instead of creating a b&w bitmap with CreateBitmap(). Set up
7434         the mask bitmap's contents, ones for those pixels in the color
7435         bitmap where the alpha is zero, zero for other pixels. We used to
7436         use an uninitialized mask bitmap! This meant that icons and
7437         cursors created presumably worked more or less by accident.
7438         Totally blank icons with zero alpha everywhere (as used by
7439         gtktrayicon.c) definitely did not work as expected.
7440
7441         * gtk/Makefile.am: Include gtkstatusicon.c on all platforms.
7442
7443         * gtk/gtkstatusicon.c: Implement for Win32. Use code from
7444         gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
7445         necessary and can be removed from CVS. It has never been mentioned
7446         in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
7447         are used on Win32. One label widget is used (but never shown) as
7448         gtk_widget_render_icon() needs a widget.
7449
7450         Ifdefs used as necessary in several places. It might be cleaner to
7451         split out the backend-specific parts to separate files, or at
7452         least collect them into separate blocks in the file.
7453
7454         (wndproc): New function. Window procedure to monitor mouse events
7455         in the system tray icon. Call gtk_status_icon_button_press() as
7456         needed.
7457         (create_tray_observer): New function. Creates a hidden window that
7458         only serves as a tray icon message observer.
7459
7460         * tests/teststatusicon.c (icon_activated): Position the dialog
7461         with GTK_WIN_POS_CENTER.
7462         (do_quit): New function, hide and unref the GtkStatusIcon, and
7463         call gtk_main_quit().
7464         (popup_menu): Add a Quit menu item that calls do_quit().
7465         
7466 2005-11-02  Tor Lillqvist  <tml@novell.com>
7467
7468         * gdk/win32/gdkcolor-win32.c
7469         * gdk/win32/gdkscreen-win32.c
7470         * gdk/win32/gdkwindow-win32.c: Whitespace consistency
7471         fixes. Remove superfluous test for GdkWindow* parameters being
7472         non-NULL. Testing GDK_IS_WINDOW() is enough. As there is only one
7473         GdkScreen and one GdkDisplay in the Win32 backend, use those
7474         variables instead of the getter functions. For GdkDisplay* and
7475         GdkScreen* parameters, check that they are equal to the
7476         corresponding singleton variables instead of the more general
7477         GDK_IS_DISPLAY() or GDK_IS_SCREEN().
7478
7479 2005-11-02  Matthias Clasen  <mclasen@redhat.com>
7480
7481         * gtk/gtktextview.c: Remove some g_return_if_fail() from
7482         static functions, replace some others by g_assert().
7483         
7484         * gtk/gtktextview.c (selection_motion_event_handler) 
7485         (gtk_text_view_start_selection_drag): Keep track of the original
7486         selection boundaries during a drag selection, in order to correctly
7487         decide when to extend or shrink the selection.  (#320167,
7488         reported by Arvind S N, patch by Paolo Borelli)
7489
7490         * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
7491         * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Replace
7492         manual offset calculations by g_utf8_offset_to_pointer().
7493         (#320360, Paolo Borelli)
7494
7495 Tue Nov  1 16:18:24 2005  Tim Janik  <timj@imendio.com>
7496
7497         * gtk/gtkrbtree.[hc]: get rid of GAllocator usage, allocate and free 
7498         nodes via the g_slice_*() API.
7499         _gtk_rbtree_new(): fixed wrong node allocation via g_new().
7500
7501 2005-11-01  Tor Lillqvist  <tml@novell.com>
7502
7503         * gdk/win32/gdkprivate-win32.h
7504         * gdk/win32/gdkglobals-win32.c
7505         * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Add more
7506         pre-interned GdkAtoms and pre-registered clipboard formats. Sort
7507         their declarations, definitions and assignments into a more
7508         logical and consistent order.
7509
7510         * gdk/win32/gdkmain-win32.c (_gdk_win32_cf_to_string): Include the
7511         CF_ prefix for the predefined clipboard format names. Put quotes
7512         around registered format names to distinguish them.
7513         
7514         * gdk/win32/gdkproperty-win32.c (gdk_property_change): Return
7515         immediately with a warning if the property type is STRING, TEXT,
7516         COMPOUND_TEXT or SAVE_TARGETS, as these are X11-specific that we
7517         should never pretend to handle on Win32. Handle only UTF8_STRING
7518         here, other formats with delayed rendering. Use \uc1 instead of
7519         \uc0 when generating Rich Text Format for easier testability on
7520         XP, where WordPad misinterprets \uc0 encoded characters. Add more
7521         GDK_NOTE debugging output for Clipboard operations.
7522
7523         * gdk/win32/gdkselection-win32.c: Debugging printout improvements.
7524         (gdk_selection_convert): Don't pretent to handle STRING, just
7525         UTF8_STRING. Streamline error handling, don't unnecessarily have a
7526         GError which then isn't used for anything anyway if it gets set.
7527         (gdk_win32_selection_add_targets): Skip also STRING, TEXT,
7528         COMPOUND_TEXT and SAVE_TARGETS in addition to UTF8_STRING.
7529
7530         * config.h.win32.in: Sync with what configure produces.
7531
7532         * configure.in: Don't look for X_PACKAGES unless building for
7533         x11. (#313986, John Ehresman)
7534
7535 2005-10-28  Erdal Ronahi  <erdal.ronahi@gmail.com>
7536
7537         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
7538                         Wondered why there was no ku there before??
7539
7540 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
7541
7542         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Add the popup
7543         window to the toplevels window group.  (#319912, Christian Persch)
7544
7545 2005-10-28  Kristian Rietveld  <kris@gtk.org>
7546
7547         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): fix
7548         stupid thinko.
7549
7550 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
7551
7552         * gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
7553         drag cursors.  (#319200, Federico Mena Quintero)
7554
7555         * gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): Handle
7556         Shift-G to go to the previous match, like firefox.  (#320061, Christian 
7557         Neumair)
7558
7559         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_build_level): Fix a
7560         C99ism.  (#320000, Kazuki Iwamoto)
7561
7562         * gtk/gtkaboutdialog.c (gtk_about_dialog_init): Add the little 
7563         stars.  (#319985, Bastien Nocera)
7564
7565         * gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout): Return
7566         FALSE, so we don't flush repeatedly.  (#319151, Alexander Larsson)
7567
7568 2005-10-26  Michael Natterer  <mitch@imendio.com>
7569
7570         Fix bug #319974:
7571
7572         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
7573         make sure that setting any of pixbuf/stock-id/icon-name resets the
7574         others because they are mutually exclusive, and that unsetting any
7575         of them only resets the pixbuf and nothing else. Also added
7576         some missing g_object_notify().
7577
7578         (gtk_cell_renderer_pixbuf_get_property): simplified calls to
7579         g_value_set_object().
7580
7581         (gtk_cell_renderer_pixbuf_create_stock_pixbuf)
7582         (gtk_cell_renderer_pixbuf_create_named_icon_pixbuf): added
7583         g_object_notify ("pixbuf").
7584
7585 2005-10-27  Matthias Clasen  <mclasen@redhat.com>
7586
7587         * gtk/gtktreeview.c (gtk_tree_view_button_press): Be more 
7588         careful about initializing cell_area.  (#319382, Tommi
7589         Komulainen)
7590
7591         * gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't eat
7592         Ctrl-PageUp/PageDown.  (#318670, Christian Neumair)
7593
7594         * demos/gtk-demo/clipboard.c (paste_received): Only set the
7595         text if it is not NULL.  (#319930, Thomas Klausner)
7596
7597         * gtk/gtkselection.c (gtk_selection_data_get_pixbuf): Close the
7598         loader before trying to get the pixbuf.  (#319930, Thomas Klausner)
7599
7600 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
7601
7602         * gtk/gtkfilesystem.c (gtk_file_system_module_load): 
7603         * gtk/gtkthemes.c (gtk_theme_engine_load): 
7604         * gtk/gtkimmodule.c (gtk_im_module_load): Use G_MODULE_BIND_LAZY
7605         when dlopening modules.  (#319557, Laszlo Peter)
7606
7607 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
7608
7609         * gtk/gtktextbtree.c (gtk_text_btree_resolve_bidi): Only use text
7610         segments when determining text direction.  (#319065, Tommi Komulainen)
7611
7612         * gtk/gtktreeview.c (gtk_tree_view_destroy): Don't crash
7613         on duplicate destroy.  (#318953, Gustavo Carneiro)
7614
7615         * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog): 
7616         Point out that destroy-with-parent is a bad idea for the dialog
7617         passed to this function.  (#318943, Christian Persch)
7618
7619         * */Makefile.am: use $(GLIB_MKENUMS) instead of 
7620         glib-mkenums.  (#318582, Damien Carbery)
7621
7622         * gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Clarify
7623         docs.  (#317682, Christian Neumair)
7624
7625         * gdk/x11/gdkdnd-x11.c: Remove an extra const which doesn't
7626         seem to affect the placement of the data in the readonly 
7627         section, and causes problems with some compilers.  (#317844)
7628
7629 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
7630
7631         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
7632         Fix some issues with background drawing in RTL.  (#318781,
7633         Eric Cazeaux)
7634
7635         * tests/Makefile.am:
7636         * tests/testentrycompletion.c: Apply a patch by Christian
7637         Persch to add property editors.
7638
7639         * gtk/gtkstatusicon.c: Emit activate on single-click,
7640         not on double-click, change proposed by Milosz Derezynski.
7641
7642 2005-10-25  Kristian Rietveld  <kris@gtk.org>
7643
7644         Fixes #311955, reported by Markku Vire; and a lot more.
7645
7646         * gtk/gtktreemodelfilter.c: Made this thing work correctly.
7647         Levels can now have invisible nodes cached, functions have been
7648         rewritten/refactored to take this into account; also the logic in
7649         some functions has been corrected.
7650         
7651         Each referenced node now references all visible children or a single
7652         invisible child, in order to be able to monitor all changes in the
7653         child model required for correct operation.
7654
7655         When a virtual root is set, all nodes on the virtual root level are
7656         referenced.
7657
7658         At last, a bunch of random bug fixes and comment updates.
7659
7660 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
7661
7662         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Add some
7663         more docs.  (#319722, Paolo Borelli)
7664
7665         * gdk/x11/gdkxftdefaults.c (init_xft_settings): Make the 
7666         initialization of screen_x11->xft_rgba more explicit.  (#319627,
7667         Bogdan Nicula)
7668
7669         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Fix whitespace
7670         in a blurb.  (#319499, Francisco Javier F. Serrador)
7671
7672 2005-10-24  Matthias Clasen  <mclasen@redhat.com>
7673
7674         Add settings to hide the input method and Unicode control character
7675         submenus in the context menus of GtkEntry and GtkTextView.  
7676         
7677         * gdk/x11/gdkevents-x11.c: Map GTK+ settings to X settings.
7678         
7679         * gtk/gtksettings.c (gtk_settings_class_init): Declare GTK+ settings here.
7680
7681         * gtk/gtktextview.c (popup_targets_received): 
7682         * gtk/gtkentry.c (popup_targets_received): Use the settings here.
7683
7684 2005-10-24  Kristian Rietveld  <kris@gtk.org>
7685
7686         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): emitting
7687         row-has-child-toggled when the level is not in the cache does not
7688         make sense.  (This bug probably crept in during the early stages
7689         of GtkTreeModelSort when there wasn't a correct row-has-child-toggled
7690         implementation yet),
7691         (gtk_tree_model_sort_real_unref_node): only get the child iter
7692         when we will actually also use it.
7693
7694 2005-10-22  Michael Natterer  <mitch@imendio.com>
7695
7696         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): check for the
7697         widget being realized, in addition to being visible, to avoid
7698         running into precondition check in gtk_tree_view_get_cell_area().
7699         (approved by Kris).
7700
7701 2005-10-22  Dom Lachowicz <cinamod@hotmail.com>
7702
7703         * modules/engines/ms-windows/msw_style.c (setup_msw_rc_style): 
7704         Experimentally, scrollbar steppers can shrink to 8 pixels on 
7705         Win32. Reflect that in the theme.
7706         * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Experimentally,
7707         there is a 1-pixel border between a scrollbar and its child
7708         in ScrolledWindows on Win32. Reflect that in the theme.
7709         
7710 2005-10-20  Matthias Clasen  <mclasen@redhat.com>
7711
7712         * gtk/gtklabel.c (gtk_label_create_window): Use GDK_WINDOW_CHILD
7713         for the selection window.  (#318806, Alex Larsson)
7714
7715 2005-10-18  Federico Mena Quintero  <federico@ximian.com>
7716
7717         Fixes bug #317999:
7718
7719         * tests/autotestfilechooser.c
7720         (test_button_folder_states_for_action): Test that we have either
7721         $cwd or the explicitly-set folder.
7722         (test_reload_sequence): Likewise.
7723
7724         * gtk/gtkfilechooserdefault.c
7725         (gtk_file_chooser_default_get_current_folder): If our reload_state
7726         is RELOAD_EMPTY, return a GtkFilePath corresponding to $cwd.
7727
7728 2005-10-14  Tor Lillqvist  <tml@novell.com>
7729
7730         * gdk/win32/gdkdisplay-win32.c: Remove the clipboard viewer code.
7731         It didn't really do anything useful, and was just confusing and
7732         incomplete. Comments claimed we don't do delayed rendering, but in
7733         fact we do, for images. (The delayed rendering code has other
7734         problems, though, see #168173.) The clipboard viewer code was
7735         probably even buggy (the WM_CHANGECBCHAIN handled didn't propagate
7736         the message when necessary). It was just test code, it said so in
7737         a comment. Add something similar back later if necessary.
7738
7739         (_win32_on_clipboard_change,
7740         _gdk_win32_register_clipboard_notification): Remove.
7741
7742         (gdk_display_supports_selection_notification,
7743         gdk_display_request_selection_notification): Always just return
7744         FALSE. We didn't generate any GDK_OWNER_CHANGE events anywhere.
7745
7746 2005-10-13  Tor Lillqvist  <tml@novell.com>
7747
7748         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't treat
7749         Alt-Enter specially. It does not have any special meaning and
7750         should be passed on to the application. (#318378, Tim Evans)
7751
7752 2005-10-13  Tor Lillqvist  <tml@novell.com>
7753
7754         Set visual depth to 24 for 32 bits-per-pixel devices on
7755         Win32. This allows gdk_drawable_real_draw_pixbuf() to use the
7756         optimized composite_0888() function rather than the slower image
7757         dithering functions to draw pixbufs (#313993, John Ehresman)
7758
7759         * gdk/win32/gdkimage-win32.c (_gdk_win32_new_image): Use
7760         _gdk_windowing_get_bits_for_depth() to initialize
7761         GdkImage::bits_per_pixel.
7762         (_gdk_windowing_get_bits_for_depth): Return 32 bits for depth 24.
7763
7764         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use
7765         _gdk_windowing_get_bits_for_depth() to initialize
7766         BITMAPINFOHEADER::biBitCount.
7767
7768         * gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Set
7769         GdkVisual::depth to 24 even if GetDeviceCaps(BITSPIXEL) returns
7770         32.
7771
7772 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7773
7774         * demos/gtk-demo/appwindow.c: (about_cb):
7775           use PACKAGE_VERSION,bump year (#318654)
7776
7777 2005-10-11  Matthias Clasen  <mclasen@redhat.com>
7778
7779         * gtk/gtktextbtree.c (_gtk_text_btree_delete): Try to match an off 
7780         toggle here with the matching on toggle if it immediately follows. 
7781         This is a common case, and handling it here prevents quadratic blowup 
7782         in cleanup_line() below.  (#317125)
7783
7784         * gtk/gtktextsegment.h: 
7785         * gtk/gtktextsegment.c (_gtk_char_segment_new_from_two_strings): Pass
7786         the character counts into this function instead of computing them
7787         again.
7788
7789 2005-10-10  Tommi Komulainen  <tommi.komulainen@iki.fi>
7790
7791         * gtk/gtkfilechooser.h (GtkFileChooserError): Add ALREADY_EXISTS error
7792         code.
7793         * gtk/gtkfilechooserdefault.c
7794         (gtk_file_chooser_default_add_shortcut_folder): Return an error code
7795         when the shortcut already exists in the sidebar.  (#147521)
7796
7797 2005-10-09  Matthias Clasen  <mclasen@redhat.com>
7798
7799         * tests/testcombo.c: Demonstrate how to use custom widgets in
7800         a GtkComboBox.  
7801
7802 2005-10-07  Federico Mena Quintero  <federico@ximian.com>
7803
7804         Fixes bug #317999:
7805
7806         * tests/autotestfilechooser.c (test_reload_sequence): Ensure that
7807         the the result of gtk_file_chooser_get_folder() is NULL or
7808         non-NULL at the right times.  Log the tests.
7809         (test_button_folder_states): New test for the initial states of
7810         the current folder in GtkFileChooserButton.
7811         (main): Test that the number of warnings/errors/critical errors is
7812         zero.
7813
7814         * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
7815         Clarify the documentation on when this can return NULL.
7816         (gtk_file_chooser_get_current_folder_uri): Likewise.
7817
7818         * gtk/gtkfilechooserbutton.c (struct
7819         _GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
7820         we use it to keep track of whether a folder has been set.
7821         (gtk_file_chooser_button_map):  Implement.  If no folder has been
7822         loaded before, we at least try to load $cwd here.
7823         (gtk_file_chooser_button_constructor): If the construct-time
7824         dialog already has a folder set, turn on our folder_has_been_set
7825         flag.
7826         (dialog_current_folder_changed_cb): Turn on our
7827         folder_has_been_set flag.
7828
7829 2005-10-07  Michael Natterer  <mitch@gimp.org>
7830
7831         * gtk/gtkfilechooserdefault.c: remove some explicit #defines of
7832         PROFILE_FILE_CHOOSER because they break compilation after the
7833         removal of <unistd.h>.
7834
7835 2005-10-07   Matthias Clasen  <mclasen@redhat.com>
7836
7837         * gtk/gtkfilechooserdefault.c: Properly fix the unistd.h include
7838         by moving it out of the profiling ifdef.
7839
7840         * gtk/gtkfilechooserdefault.c: Remove a redundant (and
7841         unconditional) include of unistd.h  (#318211, Kazuki Iwamoto)
7842
7843         * gtk/gtktexttag.c (gtk_text_attributes_ref): Use
7844         g_return_val_if_fail(), not g_return_if_fail().  (#318412,
7845         Kazuki Iwamoto)
7846
7847 2005-10-06  Matthias Clasen  <mclasen@redhat.com> 
7848                 
7849         * gtk/gtk.symbols:
7850         * gtk/gtktextbuffer.h:
7851         * gtk/gtktextbuffer.c: Add a readonly has-selection property
7852         with a getter.  (#318161, Paolo Borelli)
7853
7854 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
7855
7856         * README.in: Start collecting release notes for 2.10.
7857
7858         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
7859         leak fix, since the assertion failures were traced to 
7860         an xchat bug.  (#314696)
7861         
7862         * gtk/gtkstyle.c (gtk_style_detach):
7863         (gtk_style_attach):  Documentation improvements.
7864         (gtk_style_detach): Assert that the attach_count is > 0.
7865
7866 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
7867
7868         * gtk/gtkfilechooserdefault.c (switch_to_shortcut): Take a
7869         shortcut position, not a ShortcutsIndex, to make the function more
7870         generic.
7871         (home_folder_handler): Pass the resolved index to
7872         switch_to_shortcut(), rather than just SHORTCUTS_HOME.
7873         (desktop_folder_handler): Likewise for SHORTCUTS_DESKTOP.
7874         (gtk_file_chooser_default_class_init): Add a "quick-bookmark"
7875         binding signal, and bind it to Alt-1, Alt-2. ..., Alt-0.  These
7876         make the respective key switch to the first, second, ..., tenth
7877         bookmark.
7878         (quick_bookmark_handler): Implement.
7879
7880 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
7881
7882         * gtk/gtkpathbar.c (get_dir_name): Don't special-case Home and
7883         Desktop; just use their real names on the file system for the
7884         user-visible names.
7885
7886         * gtk/gtkfilechooserdefault.c
7887         (gtk_file_chooser_default_class_init): Add a "desktop-folder"
7888         binding signal, and bind it to M-d by default.
7889         (desktop_folder_handler): Implement the default handler.
7890         (home_folder_handler): Use a helper function.
7891         (switch_to_shortcut): New helper function.
7892         (shortcuts_append_home): Don't special-case the name of "Home";
7893         just use the folder name.
7894
7895 2005-10-04  Tor Lillqvist  <tml@novell.com>
7896
7897         * gtk/gtkcalendar.c (gtk_calendar_init): Make it compile without
7898         HAVE__NL_TIME_FIRST_WEEKDAY. (#317910, Mathias Hasselmann)
7899
7900 2005-10-04  Matthias Clasen  <mclasen@redhat.com>
7901
7902         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Revert the change
7903         from yesterday, since it leads to assertion failures.  (#317879,
7904         Sebastian Bacher)
7905
7906 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
7907
7908         * gtk/gtkcalendar.c (gtk_calendar_init): Call 
7909         calendar_compute_days() after setting priv->week_start.
7910
7911 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
7912
7913         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
7914         removing it from the hash table.  (#314696, Benjamin Berg)
7915
7916 2005-10-01  Tor Lillqvist  <tml@novell.com>
7917
7918         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap): In case
7919         BitBlt() fails with ERROR_INVALID_HANDLE, the most probable cause
7920         is that the the desktop isn't visible because the session has been
7921         switched, the screen is locked, or a terminal server session
7922         disconnected, so no error message necessary. (#137796)
7923
7924         It is of course remotely possible that BitBlt() failing with
7925         ERROR_INVALID_HANDLE might also be caused by some other
7926         problem. We could strive for perfection and track whether the
7927         desktop is visible by using WTSRegisterSessionNotification() and
7928         handling WM_WTSESSION_CHANGE. I think that's overdoing it just for
7929         this issue, though. If we would track desktop visibility, we
7930         should then avoid even trying to update the display at all while
7931         the desktop isn't visible.
7932
7933 2005-09-30  Matthias Clasen  <mclasen@redhat.com>
7934
7935         * gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
7936         to correct the calculations for the first week day. We may
7937         just have to remove this code if too many locales turn out 
7938         to have broken data. 
7939
7940         * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
7941         some cases.  (#317611, Tommi Komulainen)
7942
7943         * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
7944         Prevent overflow when storing size hints in an unsigned
7945         short variable. Tracked down by Ray Strode and Søren Sandmann.
7946
7947 2005-09-29  Matthias Clasen  <mclasen@redhat.com>
7948
7949         * gtk/gtkbutton.c (gtk_button_set_image): Check arguments.  (#317491,
7950         Paolo Borelli)
7951
7952         * gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
7953         grab shadowed.  (#317332)
7954
7955 2005-09-29  Tor Lillqvist  <tml@novell.com>
7956
7957         * gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.
7958
7959 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
7960
7961         * tests/autotestfilechooser.c (test_reload_sequence): Oops, return
7962         if the unmap test fails.
7963         (test_reload_sequence): Use gtk_widget_show_now() instead of
7964         gtk_widget_show() for the dialog.
7965         Thanks to Tim Janik for noticing these.
7966
7967 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
7968
7969         * tests/testcellrenderertext.c: New file with a set of tests for
7970         GtkCellRendererText.  The idea is to run a text renderer through
7971         most of its interesting property values to see that it works
7972         correctly.
7973
7974         * tests/Makefile.am: Added testcellrenderertext.
7975
7976         * gtk/gtkfilechooserdefault.c (load_set_model): Mark the
7977         entry/exit of this function for profiling.
7978         (gtk_file_chooser_default_style_set): Mark the start/end of the
7979         calls to the parent class and the the signal emission for profiling.
7980
7981 2005-09-29  Tor Lillqvist  <tml@novell.com>
7982
7983         * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
7984         passed to bindtextdomain() which isn't UTF-8-aware, so convert to
7985         system codepage using g_win32_locale_filename_from_utf8().
7986         (#317457, Kazuki Iwamoto)
7987
7988 2005-09-28  Matthias Clasen  <mclasen@redhat.com>
7989
7990         * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms 
7991         here. (#317039, Paolo Borelli)
7992
7993         * gtk/gtktexttag.h: 
7994         * gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
7995         to make this function work as boxed copy function.  (#317455,
7996         Gustavo Carneiro)
7997
7998         * gtk/gtkclipboard.c (request_image_received_func): Don't unref
7999         NULL.  (#316828, Tor Lillqvist)
8000
8001 2005-09-28  Tor Lillqvist  <tml@novell.com>
8002
8003         * modules/input/imime.c: Include <config.h>. (#317444, Kazuki
8004         Iwamoto)
8005
8006 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
8007
8008         Don't reload the current folder unnecessarily on ::map().
8009
8010         * gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
8011         the reloading state.
8012         (struct _GtkFileChooserDefault): Added a "reload_state" field.
8013
8014         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
8015         Initialize impl->reload_state.
8016         (gtk_file_chooser_default_map): Check the impl->reload_state; load
8017         a default folder if no folder has been set, or reload the current
8018         one only if we had been unmapped first.
8019         (gtk_file_chooser_default_update_current_folder): Set the
8020         reload_state to RELOAD_HAS_FOLDER.
8021         (gtk_file_chooser_default_unmap): Implement, and set the
8022         reload_state to RELOAD_WAS_UNMAPPED.
8023         (shortcuts_model_create): Don't call shortcuts_add_bookmarks()
8024         here; they'll get (re)loaded on ::map() anyway.
8025
8026         * gtk/gtkfilechooserwidget.c
8027         (gtk_file_chooser_widget_constructor): Don't set a default folder here.
8028
8029         * tests/autotestfilechooser.c (test_action_widgets): Don't take in
8030         a dialog; build it ourselves.
8031         (test_reload): New test to ensure that we don't load the default
8032         folder more than once, and that we reload it when
8033         unmapping/remapping.
8034         (get_impl_from_dialog): New utility function.
8035         (test_widgets_for_current_action): Use get_impl_from_dialog().
8036
8037 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
8038
8039         * gtk/gtkfilechooserdefault.c
8040         (gtk_file_chooser_default_constructor): Mark the entry/exit of
8041         this function for profiling.
8042         (check_icon_theme): Likewise.
8043         (change_icon_theme): Likewise.
8044         (settings_notify_cb): Likewise.
8045         (gtk_file_chooser_default_screen_changed): Likewise.
8046         (update_chooser_entry): If the selection is empty, clear the file
8047         name entry only if we are in CREATE_FOLDER mode.  In SAVE mode,
8048         nothing will be selected when the user starts typeahead in the
8049         treeview, and we don't want to clear the file name entry in that
8050         case --- the user could be typing-ahead to look for a folder name.
8051         Fixes bug #308332, patch by JĂ¼rg Billeter.
8052
8053 2005-09-27  Matthias Clasen  <mclasen@redhat.com>
8054
8055         * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
8056         Pop below the entry if there's more free space below the entry
8057         than above.  (#316948, Tommi Komulainen)
8058
8059 2005-09-26  Federico Mena Quintero  <federico@ximian.com>
8060
8061         Do not create the save mode-specific widgets in the open modes, so
8062         that we don't carry their baggage around.
8063
8064         * gtk/gtkfilechooserdefault.c
8065         (gtk_file_chooser_default_constructor): Don't create the
8066         save_widgets here.
8067         (save_widgets_create): Set the impl->save_widgets directly here,
8068         instead of passing the widgets back to the caller.  Also, pack
8069         them into the impl's box.
8070         (update_appearance): Create or destroy the save widgets as
8071         appropriate.  Set the action of the save_file_name_entry here.
8072         (shortcuts_add_current_folder): Set the active item in the
8073         save_folder_combo only if it exists.
8074         (gtk_file_chooser_default_set_property): Don't set the action of
8075         the save_file_name_entry here.
8076         (gtk_file_chooser_default_update_current_folder): Set the base
8077         folder of the save_file_name_entry only if the entry exists.
8078         (shortcuts_drag_data_received_cb): Cast the selection_data->data
8079         to (const char *) since that's what shortcuts_drop_uris() expects.
8080         (file_list_drag_data_received_cb): Likewise, for
8081         g_uri_list_extract_uris().
8082
8083 2005-09-26  Tor Lillqvist  <tml@novell.com>
8084
8085         * gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
8086         the shaped flag here, too. (#316871)
8087         (gdk_window_shape_combine_region): Currently unimplemented, so
8088         don't do anything to the shaped flag here.
8089
8090 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
8091
8092         Fix #316871, reported by Dan Winship:
8093         
8094         * gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.
8095
8096         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask) 
8097         (gdk_window_shape_combine_region): Set it here.
8098
8099         * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
8100         remove the child area for shaped windows.
8101
8102 2005-09-23  Matthias Clasen  <mclasen@redhat.com>
8103
8104         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
8105         Don't leak expander pixbufs.  (#316946, Tommi Komulainen)
8106
8107 2005-09-22  Michael Natterer  <mitch@imendio.com>
8108
8109         Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
8110         consistent with GTK+ terminology:
8111
8112         * gtk/gtkcellrendererkeys.[ch]
8113         * tests/testkeys.c: removed...
8114
8115         * gtk/gtkcellrendereraccel.[ch]
8116         * tests/testaccel.c: ...and added.
8117
8118         * gtk/Makefile.am
8119         * gtk/gtk.h
8120         * gtk/gtk.symbols
8121         * tests/Makefile.am: changed accordingly.
8122
8123 2005-09-22  Matthias Clasen  <mclasen@redhat.com>
8124
8125         * gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
8126         for the grab-broken-event signal, noticed by Damon Chaplin.
8127
8128 2005-09-21  Tor Lillqvist  <tml@novell.com>
8129
8130         * gdk/win32/gdkselection-win32.c (gdk_selection_convert,
8131         gdk_text_property_to_text_list_for_display,
8132         gdk_text_property_to_utf8_list_for_display,
8133         gdk_win32_selection_add_targets,
8134         _gdk_win32_selection_convert_to_dib): Free return value from
8135         gdk_atom_name().
8136         (gdk_text_property_to_text_list_for_display): Drop GError variable
8137         that isn't actually used after being set.
8138
8139 2005-09-20  Johan Dahlin  <jdahlin@async.com.br>
8140
8141         * gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in 
8142         documentation.
8143
8144 2005-09-20  Tor Lillqvist  <tml@novell.com>
8145
8146         * gdk/win32/gdkselection-win32.c
8147         (gdk_selection_owner_get_for_display): Do return the correct owner
8148         for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
8149         a window GDK knows about). The reason to return NULL seems to have
8150         gone when in the fix for bug #163702 the artificial
8151         GDK_SELECTION_CLEAR event generation was removed from
8152         gdk_selection_send_notify_for_display(). Fixes bug #316552.
8153
8154 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
8155
8156         Avoid unnecessary XkbGetState() calls and XkbStateNotify
8157         events.  (#151555, Søren Sandmann)
8158
8159         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use 
8160         XkbSelectEventDetails() to select XkbStateNotify events
8161         for only the state we care about.
8162
8163         * gdk/x11/gdkprivate-x11.h:
8164         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
8165         the event into the function and update the keymap state from
8166         the state information contained in the event. Adjust all callers.
8167         
8168 2005-09-19  Matthias Clasen  <mclasen@redhat.com>
8169
8170         * gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
8171         in multiple places to avoid segfaults if the index is out of range.  
8172         (#316422, Guillaume Cottenceau)
8173         (gtk_icon_view_set_drag_dest_item): 
8174         (gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
8175         #316424, Guillaume Cottenceau)
8176
8177 2005-09-18  Hans Breuer  <hans@breuer.org>
8178
8179         * gtk/gtktrayicon-win32.c : now handling events by hard-coded 
8180         g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
8181
8182 2005-09-18  Hans Breuer  <hans@breuer.org>
8183
8184         * gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
8185         _gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
8186         * gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
8187         the icon and is blinking with teststatusicon. More to come ...
8188
8189 2005-09-18  Hans Breuer  <hans@breuer.org>
8190
8191         * gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
8192         cause gtkprogressbar.c has #include <config.h> conditionally; less
8193         noise from generated gtk.def
8194         * gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
8195         
8196         * gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
8197         For me it works as well as the *NIX implemenation, that is not at all.
8198
8199         * gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
8200
8201         * gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
8202         only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
8203         back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
8204         again - if compiled properly.
8205
8206         * tests/teststatusicon.c : don't use GNOME icons for testing, but icons
8207         already coming with Gtk+. Makes it compile on win32.
8208
8209 2005-09-18  Guilherme de S. Pastore  <gpastore@cvs.gnome.org>
8210
8211         * README.cvs-commits: fixed some tiny typos
8212
8213 2005-09-16  Tor Lillqvist  <tml@novell.com>
8214
8215         * modules/engines/ms-windows/msw_style.c (draw_extension,
8216         draw_box_gap): Check whether the widget actually is a GtkNotebook
8217         before treating it as such. Drop some unneeded local variables,
8218         use parameter with same information instead. (#316412)
8219
8220 2005-09-15  Federico Mena Quintero  <federico@ximian.com>
8221
8222         * tests/autotestfilechooser.c: Start a set of automated tests for
8223         the file chooser.  The only test in there right now doesn't pass
8224         yet.  It specifies the intended behavior of the first optimization
8225         of a series which I'll do on the file chooser (see
8226         http://primates.ximian.com/~federico/news-2005-09.html#14 for the
8227         details of this optimization).
8228
8229         * tests/Makefile.am: Added autotestfilechooser.c.
8230
8231         * gtk/gtkfilechooserprivate.h (struct
8232         _GtkFileChooserDialogPrivate): Move all the file chooser's private
8233         structures to here, so that they can be accessed by
8234         tests/autotestfilechooser.c:  _GtkFileChooserDialogPrivate,
8235         _GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
8236
8237         * gtk/gtkfilechooserdialog.c: See above.
8238
8239         * gtk/gtkfilechooserwidget.c: See above.
8240
8241         * gtk/gtkfilechooserdefault.c: See above.
8242
8243 Thu Sep 15 15:27:55 2005  Tim Janik  <timj@imendio.com>
8244
8245         * gtk/gtkwindow.c: 
8246         gtk_window_map_event(): new function to work around lost unmap requests.
8247         fixes bug #316180.
8248
8249 2005-09-14  Federico Mena Quintero  <federico@ximian.com>
8250
8251         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
8252         an easy-to-find profiling marker when starting to create a file
8253         chooser.
8254         (browse_files_model_finished_loading_cb): Likewise, for when the
8255         chooser is finished loading.
8256
8257 2005-09-14  Tristan Van Berkom <tvb@cvs.gnome.org>
8258
8259         * gtk/gtkcolorbutton.c: Check "color" argument in 
8260         gtk_color_button_set_color ()
8261
8262 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
8263
8264         * gtk/gtklabel.c (gtk_label_get_type): 
8265         * gtk/gtkbutton.c (gtk_button_get_type): 
8266         * gtk/gtkwindow.c (gtk_window_group_get_type): No point in 
8267         using a mem chunk for window groups, buttons, labels.
8268
8269         * gtk/updateiconcache.c (foreach_remove_func): Fix
8270         a use-after-free bug.  (#316256, Alexander Nedotsukov)
8271
8272 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
8273
8274         * gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
8275
8276         * gdk/*.c: Various cleanups.  (#315359, Kjartan Maraas)
8277         
8278 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
8279
8280         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
8281         Let GDK_Return pass through in some more cases.
8282
8283         * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
8284         activating the entry. 
8285
8286         * gtk/gtkiconview.c (gtk_icon_view_class_init):
8287         (gtk_icon_view_get_dest_item_at_pos):  Fix typos in the 
8288         docs.  (#316008, #316027, #316121, Guillaume Cottenceau)
8289
8290         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
8291         (#316001, Guillaume Cottenceau)
8292
8293         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
8294         mistake in the docs.  (#315993, Guillaume Cottenceau)
8295
8296         * tests/testentrycompletion.c (create_simple_completion_model): Add
8297         some strings containing multibyte characters.
8298
8299         * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix): 
8300         Fix prefix insertion for multibyte characters.  (#316095,
8301         Tommi Komulainen)
8302
8303         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): 
8304         * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
8305         return NULL if the widget is not realized.  (#316023,
8306         Guillaume Cottenceau)
8307
8308 2005-09-11  Matthias Clasen  <mclasen@redhat.com>
8309
8310         * gdk/gdk.symbols: 
8311         * gdk/gdkproperty.h: 
8312         * gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string): 
8313         New function to avoid pointless strdups when creating atoms
8314         from static strings.  
8315
8316         * gdk/x11/*.c:
8317         * gtk/*.c:  Use gdk_atom_intern_static_string() where 
8318         appropriate.
8319
8320 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
8321
8322         * gtk/gtkcellrendererkeys.h: 
8323         * gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
8324         and editing accelerators, a port of EggCellRendererKeys .
8325
8326         * gtk/gtk.symbols:
8327         * gtk/gtk.h:
8328         * gtk/Makefile.am: Add the keys cell renderer.
8329
8330         * tests/Makefile.am: 
8331         * tests/testkeys.c: Test GtkCellRendererKeys
8332
8333 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
8334
8335         Make it possible to determine if a key event is for a
8336         modifier key:
8337         
8338         * gdk/x11/gdkprivate-x11.h: 
8339         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): 
8340         New function to determine if a keycode is mapped to a modifier.
8341         (get_xkb): Get the modmap.
8342
8343         * gdk/x11/gdkevents-x11.c (translate_key_event): Set the 
8344         is_modifier bit by calling _gdk_keymap_key_is_modifier().
8345
8346         * gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
8347         bit.
8348
8349 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
8350
8351         * gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an 
8352         unused variable, noticed by Kjartan Maraas.
8353
8354 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
8355
8356         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): 
8357         Make drag reordering work properly for columns other than the
8358         first.  (#315054, Dan Winship)
8359         
8360         * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle 
8361         invalid fontnames better. (#136926, Michael R. Walton)
8362         
8363         Stop cursor blinking in non-editable regions of a text view.
8364         (#311508, Torbjörn Andersson)
8365         
8366         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): 
8367         (cursor_blinks): Take editability into account when deciding
8368         whether the cursor blinks.
8369         (gtk_text_view_button_release_event): 
8370         (gtk_text_view_move_cursor_internal): Update cursor blinking here.
8371
8372         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing): 
8373         Use connect_after to connect to the focus_out event. This
8374         ensures that the entry has already stopped blinking by the time
8375         we emit the edited signal.  (#315229, Thomas Leonard)
8376
8377         * tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
8378
8379         * gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
8380         unsigned ints to -1.  (#315481, Kjartan Maraas)
8381
8382         * gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
8383         to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
8384         (#314473, Stanislav Brabec)
8385
8386 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
8387
8388         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
8389         memory handling.  (#314975, Torsten Schoenfeld)
8390
8391         * gtk/gtkiconview.c (gtk_icon_view_class_init): 
8392         * gtk/gtkfilesel.c (gtk_file_selection_class_init): 
8393         * gtk/gtkcombobox.c (gtk_combo_box_class_init): 
8394         * gtk/gtklabel.c (gtk_label_class_init): 
8395         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
8396         Stylistic improvements and clarifications for some blurbs. 
8397         (#315520, Clytie Siddall)
8398
8399 2005-09-09  Tor Lillqvist  <tml@novell.com>
8400
8401         * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
8402         display name. There is only one GdkDisplay on Win32, and
8403         constructing the display name isn't entirely trivial, so cacheing
8404         is probably worth it. For instance GIMP calls this function a lot.
8405         (gdk_display_open): Call gdk_display_get_name() to prime the
8406         cached name.
8407         (gdk_display_get_n_screens, gdk_display_get_screen,
8408         gdk_display_get_default_screen): Verify parameter correctness like
8409         the X11 backend does.
8410
8411         * gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
8412         Return a freshly allocated string, as the API specifies. Fixes a
8413         heap corruption problem that caused random errors and crashes in
8414         GIMP, for instance.
8415
8416 2005-09-07  Matthias Clasen  <mclasen@redhat.com>
8417
8418         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
8419         Make C-u commit and restart hex input if we are already in a
8420         hex sequence.
8421
8422 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
8423
8424         * gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
8425         (_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
8426         if they are mapped to the same modifier.
8427
8428         * gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
8429         to gtkstatusicon.c and gtktrayicon-x11.c
8430
8431         * gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
8432         default accel mod mask.
8433
8434         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): 
8435         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
8436         Don't use GDK_ALT_MASK.
8437
8438         * gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
8439
8440 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
8441
8442         Add support for extra virtual modifiers:  (#85780, Owen Taylor)
8443         
8444         * tests/testgtk.c (create_key_lookup): Add tests for extra virtual
8445         modifiers.
8446
8447         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
8448         Mod2 - Mod5 and against Super, Hyper, Meta.
8449
8450         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
8451         * gtk/gtkaccelgroup.c (gtk_accelerator_parse) 
8452         (gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
8453
8454         * gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a 
8455         modmap to maintain the information which X modifiers map to
8456         virtual modifiers.
8457         (get_xkb): Set up the modmap from the XKB tables.
8458         (update_keymaps): Set up the modmap from the information returned
8459         by XGetModifierMapping in the non-XKB case.
8460
8461         * gdk/x11/gdkprivate-x11.h: 
8462         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New 
8463         function to set the virtual modifiers in the state.
8464
8465         * gdk/x11/gdkevents-x11.c (translate_key_event): Call 
8466         _gdk_keymap_add_virtual_modifiers here.
8467
8468         * gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super, 
8469         Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
8470         for GDK_MOD1_MASK.
8471
8472 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
8473
8474         * gtk/gtkaction.c (connect_proxy): Set the label of a button
8475         if it has no child.  (#315253, John Finlay)
8476
8477 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
8478
8479         * gtkimcontextsimple.h: Add a modifiers_dropped bit
8480
8481 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
8482
8483         * gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
8484         on destroy to avoid problems when they are called on a destroyed
8485         widget.  (#315135, John Cupitt)
8486         
8487         * gtk/gtkentry.c (gtk_entry_class_init):
8488         * gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
8489         for Ctrl-Shift-A to unselect all.  (#309301, Kathy Fernandes)
8490
8491         * gtk/gtkimcontextsimple.c: Rework the Unicode hex input
8492         code. Now we only steal a single key combination, Ctrl-Shift-U,
8493         instead of sixteen. 
8494         A hex Unicode sequence must be started with Ctrl-Shift-U, followed
8495         by a sequence of hex digits entered with Ctrl-Shift still held.
8496         Releasing one of the modifiers or pressing space while the modifiers
8497         are still held commits the character. It is possible to erase
8498         digits using backspace.
8499         As an extension to the above, we also allow to start the sequence
8500         with Ctrl-Shift-U, then release the modifiers before typing any
8501         digits, and enter the digits without modifiers.
8502         (#82011, Owen Taylor)
8503         
8504 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
8505
8506         * gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
8507         we still need to deliver the destroy event.  (#314980, Chris Lahey)
8508
8509         * gtk/gtktextview.c (gtk_text_view_key_press_event): Reset 
8510         im context before committing \n or \t.
8511
8512 2005-09-02  Alexander Larsson  <alexl@redhat.com>
8513
8514         * gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
8515         (shortcuts_activate_volume):
8516         Handle base_path being null in the rest of the cases (#310270)
8517
8518 2005-09-02  Tor Lillqvist  <tml@novell.com>
8519
8520         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
8521         cursor position also in root window coordinates. Prune out
8522         superfluous WM_MOUSEMOVE events even earlier, based on root window
8523         coordinates. Windows sends WM_MOUSEMOVE messages after a new
8524         window has ben mapped below the cursor even if the mouse doesn't
8525         move. We used to generate GDK_MOTION_NOTIFY in these cases. This
8526         confused at least gtk_menu_motion_notify(). (#314995)
8527
8528         * gtk/gtkintl.h: No need to include config.h here. It caused
8529         warnings about GTK_LOCALEDIR being redefined on Win32 when
8530         compiling files where gtkintl.h is included after gtkprivate.h
8531         (which #undefines and re-#defines GTK_LOCALEDIR on Win32).
8532
8533         * gtk/gtkplug.c: Include config.h.
8534
8535 2005-09-01  Matthias Clasen  <mclasen@redhat.com>
8536
8537         * gtk/gtkfilesystemunix.c: Pass statbufs down to 
8538         xdg_mime_get_mime_type_for_file() where possible, to avoid
8539         useless re-stating.  
8540         
8541         * gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
8542         typo.  (#314921, Guillaume Cottenceau)
8543
8544         * gdk/*.c: Intern some more strings.
8545         * gtk/gtkintl.h: 
8546         * gtk/*.c: Define an I_() macro and use it instead of the 
8547         bulky g_intern_static_string().
8548
8549 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
8550
8551         * gtk/gtkbindings.c (binding_signal_new): Intern the signal name
8552         instead of copying it.
8553
8554         * gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.
8555
8556         * gtk/*.c: Also intern static strings passed to 
8557         g_object_set_data().
8558
8559         * gdk/Makefile.am: 
8560         * gtk/Makefile.am: Intern type names in code generated by 
8561         glib-mkenums, too.
8562
8563         * gtk/*.c: 
8564         * gdk/x11/*.c: 
8565         * gdk/*.c: Intern type names before registering the type to avoid 
8566         unnecessary copies.
8567
8568         * configure.in: Require GLib 2.9.0
8569
8570 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
8571
8572         * gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
8573         and add icon-size and icon-size-set properties.  (#314172)      
8574
8575         * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
8576         groups across transient parents.  (#312918, Christian Persch)
8577
8578         * gtk/gtktreemodel.c: Some documentation fixes.  (#314882,
8579         Guillaume Cottenceau)
8580
8581         * gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions): 
8582         Fix a typo in the docs.  (#314878, Guillaume Cottenceau)
8583
8584 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
8585
8586         * gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
8587         make C-/ select all and C-\ unselect all.  (#309301,
8588         Kathy Fernandez)
8589
8590         * gtk/gtkimcontextsimple.c: Change the compose sequence for
8591         soft hyphen to be multi_key-minus-minus-space, and add
8592         compose sequences multi_key-minus-minus-period and 
8593         multi_key-minus-minus-minus for en dash and em dash.
8594         (#172653, Christian Lohmaier)
8595
8596         * gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
8597         code.  (#313946, Christian Persch)
8598
8599         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
8600         fix for the default value of the "ui" property.
8601
8602 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
8603
8604         * gtk/gtk.symbols: 
8605         * gtk/gtkselection.h:
8606         * gtk/gtkselection.c: Add functions which look for text, image
8607         or uri targets in an array of atoms.   (#314089, Mark Wielaard)
8608
8609         * gtk/gtk.symbols: 
8610         * gtk/gtkselection.h:
8611         * gtk/gtkselection.c (gtk_selection_data_targets_include_uri): 
8612         Add a function to check wether targets include uri.  
8613         (#314092, Mark Wielaard)
8614         
8615         * gtk/gtk.symbols: 
8616         * gtk/gtkwindow.h: 
8617         * gtk/gtkwindow.c: Add a deletable property with getter
8618         and setter, to control the close button in the window 
8619         frame.  (#59718, Havoc Pennington)
8620
8621 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
8622
8623         * gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
8624         to the arrow keys for menu navigation.  (#162825, Carl Worth)
8625
8626         * gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes
8627
8628         * gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.
8629
8630         * gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock): 
8631         * gtk/gtkimage.c (gtk_image_new_from_stock): Don't
8632         refer to nonexisting stock ids.
8633
8634         * gtk/gtktextview.c (popup_targets_received): 
8635         * gtk/gtkentry.c (popup_targets_received): Construct
8636         the "Select All" menuitem from stock.
8637
8638         * gtk/stock-icons/stock_select_all_{16,24}.png:
8639         * gtk/stock-icons/Makefile.am: 
8640         * gtk/gtkiconfactory.c:
8641         * gtk/gtkstock.h: 
8642         * gtk/gtkstock.c: Add a "Select All" stock item.  (#78545,
8643         Calum Benson)
8644
8645         * gtk/gtktrayicon.c: Add a pointer to the spec.
8646
8647         * gtk/gtkstatusicon-x11.c: Add docs.
8648
8649         * gtk/gtkstatusicon.h: Fix a typo.
8650
8651         Add a cross-platform "tray icon" API, by
8652         porting EggStatusIcon/EggTrayIcon (#105101)
8653         
8654         * gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
8655         displays an icon in a notification area.
8656
8657         * gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
8658         X11, using GtkTrayIcon.
8659
8660         * gtk/gtktrayicon.h: 
8661         * gtk/gtktrayicon.c: An implementation of the freedesktop.org
8662         system tray specification, not public API.
8663
8664         * gtk/gtk.symbols: Add new exported functions.
8665
8666         * gtk/gtk.h: Include gtkstatusicon.h.
8667
8668         * gtk/Makefile.am: Add new files.
8669
8670         * tests/Makefile.am:
8671         * tests/teststatusicon.c: Test for GtkStatusIcon.
8672
8673 2005-08-29  Christopher Aillon  <caillon@redhat.com>
8674
8675         * gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
8676         and GTK_STOCK_DISCONNECT
8677         
8678 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
8679
8680         * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify): 
8681         Use XFixesChangeSaveSet if available.  (#314682)
8682
8683         * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
8684         was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
8685
8686 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
8687
8688         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
8689         accidentally leftover duplicate pixbuf creation.  (#314700,
8690         Kjartan Maraas)
8691
8692         * gtk/gtksettings.c (settings_update_cursor_theme): Don't 
8693         leak the cursor theme name.  (#314693, Kjartan Maraas)
8694
8695         * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free 
8696         state.children in all cases.  (#313862, Kjartan Maraas)
8697
8698 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
8699
8700         * po/POTFILES.in, po-properties/POTFILES.in:
8701         Add gdk/gdkscreen.c
8702
8703 2005-08-27  Matthias Clasen  <mclasen@redhat.com>
8704
8705         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
8706         value of the ui property. (#314532, Yong Wang)
8707
8708         * gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
8709         when G_MAXLONG is passed as length.  
8710
8711 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
8712
8713         * gtk/updateiconcache.c: Add a separate --ignore-theme-index option
8714         to avoid overloading --force.  (JP Rosevaar)
8715
8716 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
8717
8718         * configure.in: Bump version to 2.9.0
8719
8720         * gdk/gdk.symbols: 
8721         * gdk/gdkscreen.h: 
8722         * gdk/gdkscreen.c: Make the GdkScreen font options api
8723         public, and add properties GdkScreen::font-options and
8724         GdkScreen::resolution.  (#314004)
8725
8726         * gdk/gdkpango.c:
8727         * gtk/gtksettings.c:
8728         * gtk/gtkwidget.c: Adjust all callers.
8729         
8730         * gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
8731         * gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
8732         * gdk/gdkscreen.c: Include gdkintl.h.
8733
8734         * gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
8735         variable warning, pointed out by Colin Walters. (#314585)
8736
8737 2005-08-26  Tor Lillqvist  <tml@novell.com>
8738
8739         * gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
8740         printouts.
8741         (gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)
8742
8743 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
8744
8745         * gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
8746         of week_start.  (#314473, JP Rosevaar)
8747
8748 2005-08-25  Thomas Fitzsimmons  <fitzsim@redhat.com>
8749
8750         * gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
8751         lock.  (#314533, Thomas Fitzsimmons)
8752
8753 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
8754
8755         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
8756         NULL gracefully.  (#314523, Ed Catmur)
8757
8758 2005-08-25  Owen Taylor  <otaylor@redhat.com>
8759
8760         * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): 
8761         Handle theme == NULL.
8762
8763 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
8764
8765         * gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
8766         y offset into account when positioning the popup.  (#314470,
8767         Christian Persch)
8768
8769 2005-08-25  Owen Taylor  <otaylor@redhat.com>
8770
8771         * gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
8772         as instance_init, not base_init! (#314452, Fix from Frederic
8773         Crozat, reported by Joe Marcus Clarke). Trivial cleanup: use -1.
8774         rather than 1 for a negative flag value.
8775
8776 2005-08-24  Owen Taylor  <otaylor@redhat.com>
8777
8778         * gdk/gdkpango.c (draw_error_underline): Add a note about
8779         cut-and-paste between here and Pango.
8780
8781 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
8782
8783         * === Released 2.8.2 ===
8784
8785         * gtk/gtkclipboard.c (request_image_received_func): Use the correct
8786         callback for image/gif, and also try image/bmp.  (#314086,  Mark 
8787         Wielaard)
8788
8789         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon): 
8790         Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev.  (#314382,
8791         Sebastien Bacher)
8792         
8793         * NEWS: Updates
8794
8795         * gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
8796         and cursor settings get propagated down to the screen initially.
8797         Pointed out by Frederic Crozat.
8798
8799         * gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
8800         message if the screen is NULL. Noticed by Kjartan Maraas.
8801
8802 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
8803
8804         * Bump version
8805
8806         * === Released 2.8.1 ===
8807
8808         * NEWS: Updates
8809         
8810 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
8811
8812         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
8813         against lazy filterers which return values other than TRUE or
8814         FALSE from their visible func.  (#314335)
8815
8816 2005-08-23  Owen Taylor  <otaylor@redhat.com>
8817
8818         Fix for #314004, reported by Michael Reinsch:
8819
8820         * gdk/gdk.symbols:
8821         * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
8822         Add gdk_screen_get/set_resolution_libgtk_only()
8823
8824         * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
8825         the options for the screen on the newly created context.
8826
8827         * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c: 
8828         Move font options and dpi code from gtkwidget.c to gtksettings.c, set
8829         the font options on the screen.
8830
8831         * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
8832         the font options from the screen and set them on the context.
8833
8834 2005-08-23  Kristian Rietveld  <kris@gtk.org>
8835
8836         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
8837         bother inserting new rows in a level with a zero refcount and
8838         immediately free the level. (Fixes #312350, reported by Markku Vire).
8839
8840 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
8841
8842         * gtk/updateiconcache.c: Complain when there is no index.theme file
8843         in the specified directory, unless --force is used. Also add an
8844         --index-only option to create caches without image data.
8845
8846         * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
8847         C99ism.  (#314262, Robert Jeff Mitchell)
8848         
8849 2005-08-22  Manish Singh  <yosh@gimp.org>
8850
8851         * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.
8852
8853         * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.
8854
8855 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
8856
8857         * gtk/gtkwindow.c (gtk_window_client_event): 
8858         * gtk/gtkicontheme.c (ensure_valid_themes) 
8859         (_gtk_icon_theme_check_reload): Implement a clientmessage based
8860         scheme for makeing sure that all GTK+ applications notice if an
8861         icon theme has been updated. This should prevent multiple versions
8862         of an icon theme cache to be mapped in memory at the same time,
8863         which can cause excessive memory consumption.  (#313156, Chris 
8864         Lahey)
8865
8866 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
8867
8868         * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
8869         regarding icon theme changes.
8870
8871         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
8872         pixbufs which are backed by the mmapped memory of an icon cache,
8873         increase the refcount of the icon cache, so that the memory is not
8874         munmapped away underneath the pixbuf upon icon theme changes.  
8875         (#314170, Kjartan Maraas)
8876
8877         * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order 
8878         to link against Xext.  (#314062)
8879
8880         * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
8881         overruns.  (#314081, Hans Breuer)
8882
8883 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
8884
8885         * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
8886         returned layout must not be modified.
8887
8888 Sat Aug 20 16:12:14 2005  Jonathan Blandford  <jrb@redhat.com>
8889
8890         * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
8891         scroll_to_path if the model changes.
8892
8893         * gtk/gtkiconview.c: (gtk_icon_view_destroy),
8894         (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
8895         (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
8896         we're realized, #312798
8897         (gtk_icon_view_set_model): clear scroll_to_path if the model
8898         changes.
8899
8900 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
8901
8902         * gtk/gtkrange.c (gtk_range_adjustment_changed) 
8903         (gtk_range_adjustment_value_changed):  Don't queue a draw
8904         if the layout has not changed.  (#313991, Benjamin Berg)
8905
8906 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
8907
8908         * gtk/gtktreeitem.c: Remove duplicate lines.  (#313344,
8909         Benoit Carpentier)
8910
8911         * modules/engines/ms-windows/msw_style.c (setup_system_styles): 
8912         Fix a typo. 
8913
8914         * gtk/gtkfilechooserbutton.c (change_icon_theme) 
8915         (model_add_special, model_add_special, model_add_volumes):
8916         Handle pixbuf being NULL without warnings. Also, don't
8917         leak pixbuf references when the icon theme is changed.
8918
8919         * gtk/gtkmain.c (gtk_get_event_widget): Don't access
8920         the user data on destroyed windows, since at best
8921         it can be a stale pointer.  (#313953, Robin Green)      
8922
8923 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
8924
8925         * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
8926         (#313900, Sebastien Bacher)
8927
8928         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
8929         FALSE if the tree is empty.  (#313891, Guillaume Cottenceau)
8930
8931         * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display) 
8932         (xdnd_read_actions, get_client_window_at_coords_recurse): 
8933         Free data returned from XGetWindowProperty. 
8934
8935         * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window) 
8936         Free data returned from XGetWindowProperty.  (313867, Kjartan
8937         Maraas)
8938         
8939         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
8940         children in all cases.  (#313862, Kjartan Maraas)
8941
8942         * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs 
8943         in the per-directory hash, even if they come from the icon cache. 
8944         We tried to avoid that before, but as a result leaked icon data
8945         structs.  (#313852, Kjartan Maraas)
8946
8947 2005-08-18  Matthias Clasen  <mclasen@redhat.com>
8948
8949         * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
8950         signal handlers on destroy, not on finalize.  (#313759, Brett Atoms)
8951
8952 2005-08-15  Owen Taylor  <otaylor@redhat.com>
8953
8954         * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
8955         files for x11/xext. (Jonas Bonn)
8956
8957 2005-08-15  Tor Lillqvist  <tml@novell.com>
8958
8959         * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
8960         inside GTK_NOTE.
8961
8962 2005-08-15  Owen Taylor  <otaylor@redhat.com>
8963
8964         * configure.in: Fix have_base_pc / have_base_x_pc typo.
8965
8966         * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
8967         (#313417, James Andrewartha)
8968
8969         * configure.in: Add fontconfig to X_PACKAGES, since we use it for
8970         FcNameConstant(). (More of #313417)
8971
8972 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
8973
8974         * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
8975         modal dialogs, make sure to inherit the window group from 
8976         the parent, since we don't inherit window groups across
8977         transient parents currently.  (#312918, Christian Persch)
8978
8979         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): 
8980         * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs. 
8981
8982         * gtk/gtkiconview.c (gtk_icon_view_select_path) 
8983         (gtk_icon_view_scroll_to_path): Handle paths of depth 0
8984         gracefully.  (#312796, Jonathan Blandford)
8985
8986         * tests/testtoolbar.c: Add some more tests for menu placement.
8987
8988         * gtk/gtkmenutoolbutton.c (menu_position_func): 
8989         * gtk/gtktoolbar.c (menu_position_func): Improve positioning
8990         of toolbutton menus and of the overflow menu.  (#312937, 
8991         #153870, Christian Persch, Paolo Borelli)
8992
8993 2005-08-15  Tor Lillqvist  <tml@novell.com>
8994
8995         * gtk/updateiconcache.c: Use g_path_get_dirname() instead of
8996         the nonportable <libgen.h> and dirname().
8997
8998 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
8999
9000         * gtk/gtksizegroup.c: Use object data to mark widgets and
9001         groups as visited, so that we avoid constant extra list
9002         traversals. Also allocate quarks in class_init.  (#311618,
9003         Michael Natterer)
9004
9005         * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the 
9006         download location for the hicolor icon theme. (#313475, Olexiy 
9007         Avramchenko)
9008
9009         * gtk/gtkicontheme.c: Remove debug spew. 
9010
9011 2005-08-15  Owen Taylor  <otaylor@redhat.com>
9012
9013         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap): 
9014         * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap): 
9015         * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
9016         Handle pixmap == NULL when checking for a colormap.
9017         (Allin Cottrell).
9018
9019 2005-08-14  Matthias Clasen  <mclasen@redhat.com>
9020
9021         * gtk/updateiconcache.c: Store only one copy of the pixel data
9022         for symlinked icons. To achieve this, maintain a hashtable 
9023         mapping pathnames to pixel data, and share the pixel data for
9024         all symlinks resolving to the same pathname. When writing out
9025         the image data, write out the pixel data only the first time
9026         it is met, and store the offset pointing to the first copy
9027         for use in all later cases.
9028         This reduces the size of the Bluecurve icon cache from 40
9029         to 13MB. (#312972)
9030