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