]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
new internal function which destroys the display's event source. Also
[~andy/gtk] / ChangeLog.pre-2-10
1 2005-11-16  Michael Natterer  <mitch@imendio.com>
2
3         * gdk/x11/gdkevents-x11.c (_gdk_events_uninit): new internal
4         function which destroys the display's event source. Also removes
5         the source from the global display_sources list and unrefs it.
6
7         * gdk/x11/gdkprivate-x11.h: declare the function.
8
9         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose): call it
10         instead of half-destroying the source here.
11
12 2005-11-15  Matthias Clasen  <mclasen@redhat.com>
13
14         * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
15         leak.  (#321032, Peter Zelezny)
16
17 2005-11-15  Michael Natterer  <mitch@imendio.com>
18
19         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
20         display->xid_ht as late as possible (right before XCloseDisplay)
21         because it still needs to be around when the display's screens are
22         finalized. (#85715)
23
24 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
25
26         * gtk/gtkselection.c (gtk_selection_data_set_uris): Don't
27         leak result.  (#321441, Tommi Komulainen)
28
29 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
30
31         * gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes):
32         Don't crash if there is no builtin icon.
33
34 2005-11-14  Michael Natterer  <mitch@imendio.com>
35
36         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_set_property):
37         removed redundant calls to g_object_notify().
38
39 2005-11-13  Matthias Clasen  <mclasen@redhat.com>
40
41         * gdk/gdkcolor.c (gdk_color_parse): Documentation 
42         improvements.  (#321338)
43
44         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Make
45         limit an inclusive boundary.  (#321299)
46
47 2005-11-12  Michael Natterer  <mitch@imendio.com>
48
49         * gtk/Makefile.am: fixed icon rules so gtkbuiltincache.h is only
50         rebuilt if needed.
51
52 2005-11-12  Dom Lachowicz <cinamod@hotmail.com>
53
54         * modules/engines/ms-windows/msw_style.c: Bug #313627. Make win32 
55         theme's handling of toolbars, handleboxes, and menubars more in-line
56         with Microsoft's IE style.
57         * modules/engines/ms-windows/*.c: Indentation cleanups
58         
59 2005-11-12  Matthias Clasen  <mclasen@redhat.com>
60
61         Make builtin icons work in gtk_window_set_icon_name() 
62         (#321046, Maxim Udushlivy)
63
64         * gtk/gtkicontheme.c (insert_theme): Always insert the default
65         theme.
66         (ensure_valid_themes): Call _gtk_icon_theme_ensure_builtin_cache()
67         from here.
68         (theme_lookup_icon, find_builtin_icon): ...and not from here.
69         (gtk_icon_theme_lookup_icon): Remove an unncessary assert.
70         (gtk_icon_theme_get_icon_sizes): Also check builtin icons.
71
72 2005-11-12  Tor Lillqvist  <tml@novell.com>
73
74         * gtk/gtkfilesystemwin32.c (filename_get_info): Don't hide
75         dotfiles, no such convention on Win32. Just hide files with the
76         hidden attribute. (#314627)
77
78 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
79
80         * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Do not
81         check whether the path is a folder.  It is useful to bookmark
82         files as well (e.g. todo.txt), and this will also help
83         performance.
84         (shortcuts_add_bookmark_from_path): Likewise.
85         (shortcuts_activate_iter): Change folders or select files, as
86         appropriate.
87
88 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
89
90         * tests/autotestfilechooser.c (main): Use
91         g_log_set_default_handler() instead of explicitly setting a
92         handler for each domain.
93
94         * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Only get
95         the base path of the volume if it is mounted.
96
97 2005-11-11  Michael Natterer  <mitch@imendio.com>
98
99         Added per-stepper API for GtkRange's stepper sensitivity as
100         discussed in bug #321056:
101
102         * gtk/gtkenums.h: added GtkSensitivityType which can be
103         { AUTO, ON, OFF }.
104
105         * gtk/gtkrange.[ch]: added properties "lower-stepper-sensitivity"
106         and "upper-stepper-sensitivity" and public getters/setters for
107         them. Changed stepper drawing to honor the new properties.
108
109         * gtk/gtk.symbols: added the new symbols.
110
111 2005-11-10  Matthias Clasen  <mclasen@redhat.com>
112
113         * gtk/gtkcombobox.c: Add show-popup and hide-popup signals and
114         emit them when the popup is shown or hidden.  (#162531, Tommi
115         Komulainen)
116
117         * tests/testcombo.c: Add an example of popuplating a combobox
118         on click.
119
120         * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column): Another
121         erroneous semicolon.
122
123         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get): Remove an erroneous
124         semicolon. 
125
126         Don't corrupt odd keymaps (#316638, Kean Johnston)
127         
128         * gdk/x11/gdkkeys-x11.c (set_symbol): Auxiliary function to
129         handle frobbing keymaps with odd numbers of syms/code.
130         
131         * gdk/x11/gdkkeys-x11.c (update_keymaps): Use set_symbol() to 
132         frob the keymap.
133
134         Improve navigation to parent folders.  (#318444, Andrei Yurkevich)
135         
136         * gtk/gtkpathbar.[hc]: Add a child_path argument to
137         the path_clicked signal.
138         * gtk/gtkfilechooserdefault.c (path_bar_clicked): Select the
139         child_path, if it is provided.
140         * gtk/marshalers.list (path_bar_clicked): Add the necessary
141         glue.
142
143         * gtk/gtkmenu.c: Fix some compiler warnings. (#321141,
144         Kjartan Maraas)
145         
146         * gtk/gtk.symbols: 
147         * gtk/gtktreeview.h: 
148         * gtk/gtktreeview.c: Implement a getter for headers-clickable.
149         (#163851, Richard Hult)
150
151 2005-11-10  Michael Natterer  <mitch@imendio.com>
152
153         Applied patch from maemo-gtk that addresses many issues wrt
154         display migration and display closing (bug #85715).
155
156         * gdk/gdkdisplay.c (gdk_display_dispose): don't just set the
157         default display to NULL when it's closed. Instead set the most
158         recently opened display as new default (if one exists).
159
160         * gdk/gdkpango.c (on_renderer_display_closed): fixed signature
161         of this callback.
162
163         * gdk/gdkscreen.c (gdk_screen_dispose): check if the GCs still
164         exist before unrefing them.
165
166         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): if the screen
167         is closed, allow destruction of the root window.
168
169         * gdk/x11/gdkdisplay-x11.c: moved some stuff from finalize() to
170         dispose(), free stuff that was leaked before.
171
172         * gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen): check if
173         the xsettings_client still exists before destroying it.
174
175         * gdk/x11/gdkkeys-x11.c: added finalization and free the allocated
176         X resources.
177
178         * gdk/x11/gdkpixmap-x11.c: moved stuff from finalize() to new
179         dispose() implementation.
180
181         * gdk/x11/gdkscreen-x11.c: moved stuff from finalize() to
182         dispose() and check if it still exists before unrefing it. Set
183         their pointers to NULL/None *after* upchaining in dispose(),
184         because X11 implementations of members of the parent class still
185         need them for their own destruction.
186
187         * gdk/x11/gdkvisual-x11.c: removed finalize() implementation which
188         was g_error()ing when finalizing a visual.
189
190         * gtk/gtkclipboard.c (gtk_clipboard_finalize): don't use
191         get_clipboard_widget() because it would create the widget if it
192         doesn't exist. Use g_object_get_data() directly instead.
193
194         * gtk/gtktextdisplay.c (on_renderer_display_closed): fixed signature
195         of this callback.
196
197 2005-11-10  Simos Xenitellis  <simos@gnome.org>
198
199         * configure.in: Added Tatar (tt) to ALL_LINGUAS.
200
201 Wed Nov  9 16:29:42 2005  Tim Janik  <timj@imendio.com>
202
203         * gtk/gtkrange.c: patch from maemo-gtk that changes GtkRange
204         to render its arrows insensitive when the adjustment is in
205         its min or max position. this makes range arrow behaviour 
206         consistent with spin button behaviour. (#321056)
207
208 2005-11-09  Tor Lillqvist  <tml@novell.com>
209
210         * gdk/gdkinternals.h
211         * gdk/gdk.c (gdk_debug_keys[]): Add new GDK_DEBUG_DRAW flag to
212         the GdkDebugFlag enum.
213
214         * gdk/win32/gdkdrawable-win32.c: Use DRAW to trigger GDK_NOTEs in
215         this file instead of MISC. Now asking for MISC will give mainly
216         window manipulation debugging output with the Win32 backend.
217
218 2005-11-09  Tor Lillqvist  <tml@novell.com>
219
220         * gdk/win32/gdkwindow-win32.c: Remove unnecessary includes.
221
222         (_gdk_win32_get_adjusted_client_rect): Remove this two-line
223         function which was used only in one place.
224
225         (get_outer_rect): Use _gdk_win32_adjust_client_rect().
226
227         (gdk_window_set_geometry_hints): If we have identical minimum and
228         maximum size hints, remove the resize and maximize
229         decorations/functions. (#104514)
230
231         If we have a maximum size hint, remove the maximize
232         decoration/function but ensure the resize decoration/function is
233         available. Otherwise ensure both resize and maximize
234         decorations/functions are there.
235
236         (set_or_clear_style_bits): Factored out common code from
237         gdk_window_set_decorations() and gdk_window_set_functions(). 
238
239         Hack the window style setting once more: Only touch the window
240         style bits corresponding to the GdkWMDecoration or GdkWMFunction
241         parameter bitmasks. Hopefully this finally is the correct thing to
242         do. We used to clear all other bits than those that were being
243         set, or set all other bits than those that were being cleared.
244
245         Take into account that adding or removing decorations leaves the
246         window's outer size unchanged, i.e., the client area's size and
247         position change. This is apparently not what we want, so change
248         also the window's (outer) position and size appropriately so that
249         the client area's position and size stay constant.
250
251         gtk-demo's color selector dialog is now non-resizable like on X11
252         (I tested with metacity in GNOME). Torn off menus are shrinkable
253         vertically but have a maximum size, and are not maximizable or
254         minimizable, like on X11.
255
256         (gdk_window_set_decorations, gdk_window_set_functions): Let
257         set_or_clear_decorations() do most of the job.
258
259         * gdk/win32/gdkprivate-win32.h: Remove declaration of
260         _gdk_win32_get_adjusted_client_rect().
261
262 2005-11-09  Tor Lillqvist  <tml@novell.com>
263
264         * gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32)
265         * gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_init,
266         gdk_window_get_type_hint, gdk_window_get_type_hint): Store the
267         type hint. Implement gdk_window_get_type_hint() by just returning
268         the hint stored.
269
270 2005-11-09  Tor Lillqvist  <tml@novell.com>
271
272         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
273         Remove code that has been permanently ifdeffed out for two years.
274
275 2005-11-08  Matthias Clasen  <mclasen@redhat.com>
276
277         * gdk/gdkgc.c (gdk_gc_finalize): Unref tile and stipple when
278         finalizing a gc.  (#320789, Nickolay V. Shmyrev)
279
280         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Ignore
281         icons if they would make the request large enough to cause
282         Xlib to loose the connection.  (#320909, Claudio Saavedra)
283
284 2005-11-08  Michael Natterer  <mitch@imendio.com>
285
286         * gdk/gdk.symbols
287         * gdk/gdkwindow.h
288         * gdk/x11/gdkwindow-x11.c: added gdk_window_get_type_hint() (patch
289         extracted from maemo-gtk). Fixes bug #320872.
290
291 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
292
293         * gtk/gtkfilechooserdefault.c (shortcuts_reorder): Don't
294         looks the bookmark label when reordering.  (#320720, Jeremy Cook)
295
296         * gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
297         Don't grab focus when a slider button is pressed, instead, use
298         a bit in the pathbar struct to determine whether to scroll up
299         or down.  (#314486, Carlos Garnacho)
300
301         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): 
302         Don't popup the completions if the focus has already been
303         moved somewhere else.  (#319914, Christian Persch)
304
305         * gtk/gtktoolitem.c (_gtk_tool_item_toolbar_reconfigured): 
306         Raise the drag_window after reconfiguring the 
307         toolbar.  (#320803, Christian Persch)
308
309         * gtk/gtk.symbols: 
310         * gtk/gtkfilechooserbutton.h: 
311         * gtk/gtkfilechooserbutton.c: Add a focus-on-click property
312         with setter and getter.  (#318945, Christian Persch)
313         
314 Mon Nov  7 16:15:16 2005  Tim Janik  <timj@imendio.com>
315
316         * configure.in: fixed missing $X_CFLAGS setup in case x11.pc is present.
317
318 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
319
320         * configure.in: Adjust to the stock icon changes.
321         
322 2005-11-07  Tor Lillqvist  <tml@novell.com>
323
324         * gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_normal):
325         Correct the calculation of maskstride. (#320152, Peter Zelezny)
326         
327 2005-11-06  Michael Natterer  <mitch@imendio.com>
328
329         * gtk/Makefile.am (icons): fixed rule to actually create the
330         symlinks, erroring out if anything goes wrong.
331
332 2005-11-06  Tor Lillqvist  <tml@novell.com>
333
334         * gtk/updateiconcache.c (build_cache): Can't rename a file if the
335         target exists on Win32. First rename the target temporarily, then
336         if the renaming of the source to target fails, restore the
337         original name for the target.
338
339         * gtk/Makefile.am: Use EXEEXT in the dependency on gtk-update-icon-cache.
340
341 2005-11-06  Tor Lillqvist  <tml@novell.com>
342
343         (pixbuf_to_hbitmaps_alpha_winxp): Use an 1-bit mask bitmap,
344         like pixbuf_to_hbitmaps_normal().
345         (_gdk_win32_pixbuf_to_hicon_supports_alpha): Check
346         G_WIN32_IS_NT_BASED() first, so we can pretend being on Win9x by
347         setting the G_WIN32_PRETEND_WIN9X environment variable.
348         
349 2005-11-06  Tor Lillqvist  <tml@novell.com>
350
351         Make icon masks work on Win98 (#320152, Peter Zelezny)
352
353         * gdk/win32/gdkcursor-win32.c (create_color_bitmap): Take also a
354         parameter for the depth of the bitmap, so that this function can
355         be used to create 1-bit bitmaps, too.
356         (pixbuf_to_hbitmaps_normal): Create an 1-bit bitmap for the mask,
357         and initialize it properly.
358
359 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
360
361         Store builtin stock icons in an icon cache, instead of
362         populating a hash table with pixbufs at startup, to save both
363         memory and startup time.
364
365         * gtk/stock-icons/*: Reorganize the icons in a directory structure
366         suitable for gtk-update-icon-cache, and rename them to match the
367         stock ids.
368
369         * gtk/gtkiconcache.[hc]: Support non-mmapped icon caches, and
370         add _gtk_icon_cache_has_icon_in_directory().
371
372         * gtk/updateiconcache.c: Support a --source <VARIABLE> argument
373         to store the contents of the icon cache in a C header.
374
375         * gtk/gtkbuiltincache.h: Generated private header which contains 
376         the icon cache for the builtin icons.
377
378         * gtk/gtkicontheme.c: Create a GtkIconCache for the builtin
379         icons, and use that in addition to the hash table whenever
380         builtin icons are searched.
381
382         * gtk/gtkiconfactory.c: Add GTK_ICON_SOURCE_STATIC_ICON_NAME and
383         use it for static stock ids. 
384         (get_default_icons): Don't add the builtin
385         icons to the icon theme, just register the stock ids.
386         (render_fallback_image): Take the fallback image out of the
387         builtin icon cache.
388         
389         * gtk/Makefile.am: Remove stock-icons from SUBDIRS and add 
390         the necessary machinery to rebuild gtkbuiltincache.h.
391
392 2005-11-04  Michael Natterer  <mitch@imendio.com>
393
394         * gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): applied patch
395         from maemo-gtk that changes the mtime check for rc files from
396         '>' to '!=', otherwise theme changes go unnoticed when turning
397         back the clock (Tommi Komulainen).
398
399 2005-11-04  Tor Lillqvist  <tml@novell.com>
400
401         * gtk/gtkstatusicon.c (gtk_status_icon_set_tooltip): Plug memory
402         leak on Win32.
403
404 2005-11-03  Tor Lillqvist  <tml@novell.com>
405
406         * gdk/win32/gdkcursor-win32.c: As there is only one GdkDisplay in
407         the Win32 backend, check that GdkDisplay* parameters are equal to
408         _gdk_display instead of using the unnecessarily general
409         GDK_IS_DISPLAY().
410
411         (pixbuf_to_hbitmaps_alpha_winxp): Rename the variables for the
412         color bitmap to have "color" in their name, for similarity with
413         pixbuf_to_hbitmaps_normal(). Create a color bitmap for the mask,
414         too, instead of creating a b&w bitmap with CreateBitmap(). Set up
415         the mask bitmap's contents, ones for those pixels in the color
416         bitmap where the alpha is zero, zero for other pixels. We used to
417         use an uninitialized mask bitmap! This meant that icons and
418         cursors created presumably worked more or less by accident.
419         Totally blank icons with zero alpha everywhere (as used by
420         gtktrayicon.c) definitely did not work as expected.
421
422         * gtk/Makefile.am: Include gtkstatusicon.c on all platforms.
423
424         * gtk/gtkstatusicon.c: Implement for Win32. Use code from
425         gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
426         necessary and can be removed from CVS. It has never been mentioned
427         in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
428         are used on Win32. One label widget is used (but never shown) as
429         gtk_widget_render_icon() needs a widget.
430
431         Ifdefs used as necessary in several places. It might be cleaner to
432         split out the backend-specific parts to separate files, or at
433         least collect them into separate blocks in the file.
434
435         (wndproc): New function. Window procedure to monitor mouse events
436         in the system tray icon. Call gtk_status_icon_button_press() as
437         needed.
438         (create_tray_observer): New function. Creates a hidden window that
439         only serves as a tray icon message observer.
440
441         * tests/teststatusicon.c (icon_activated): Position the dialog
442         with GTK_WIN_POS_CENTER.
443         (do_quit): New function, hide and unref the GtkStatusIcon, and
444         call gtk_main_quit().
445         (popup_menu): Add a Quit menu item that calls do_quit().
446         
447 2005-11-02  Tor Lillqvist  <tml@novell.com>
448
449         * gdk/win32/gdkcolor-win32.c
450         * gdk/win32/gdkscreen-win32.c
451         * gdk/win32/gdkwindow-win32.c: Whitespace consistency
452         fixes. Remove superfluous test for GdkWindow* parameters being
453         non-NULL. Testing GDK_IS_WINDOW() is enough. As there is only one
454         GdkScreen and one GdkDisplay in the Win32 backend, use those
455         variables instead of the getter functions. For GdkDisplay* and
456         GdkScreen* parameters, check that they are equal to the
457         corresponding singleton variables instead of the more general
458         GDK_IS_DISPLAY() or GDK_IS_SCREEN().
459
460 2005-11-02  Matthias Clasen  <mclasen@redhat.com>
461
462         * gtk/gtktextview.c: Remove some g_return_if_fail() from
463         static functions, replace some others by g_assert().
464         
465         * gtk/gtktextview.c (selection_motion_event_handler) 
466         (gtk_text_view_start_selection_drag): Keep track of the original
467         selection boundaries during a drag selection, in order to correctly
468         decide when to extend or shrink the selection.  (#320167,
469         reported by Arvind S N, patch by Paolo Borelli)
470
471         * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
472         * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Replace
473         manual offset calculations by g_utf8_offset_to_pointer().
474         (#320360, Paolo Borelli)
475
476 Tue Nov  1 16:18:24 2005  Tim Janik  <timj@imendio.com>
477
478         * gtk/gtkrbtree.[hc]: get rid of GAllocator usage, allocate and free 
479         nodes via the g_slice_*() API.
480         _gtk_rbtree_new(): fixed wrong node allocation via g_new().
481
482 2005-11-01  Tor Lillqvist  <tml@novell.com>
483
484         * gdk/win32/gdkprivate-win32.h
485         * gdk/win32/gdkglobals-win32.c
486         * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Add more
487         pre-interned GdkAtoms and pre-registered clipboard formats. Sort
488         their declarations, definitions and assignments into a more
489         logical and consistent order.
490
491         * gdk/win32/gdkmain-win32.c (_gdk_win32_cf_to_string): Include the
492         CF_ prefix for the predefined clipboard format names. Put quotes
493         around registered format names to distinguish them.
494         
495         * gdk/win32/gdkproperty-win32.c (gdk_property_change): Return
496         immediately with a warning if the property type is STRING, TEXT,
497         COMPOUND_TEXT or SAVE_TARGETS, as these are X11-specific that we
498         should never pretend to handle on Win32. Handle only UTF8_STRING
499         here, other formats with delayed rendering. Use \uc1 instead of
500         \uc0 when generating Rich Text Format for easier testability on
501         XP, where WordPad misinterprets \uc0 encoded characters. Add more
502         GDK_NOTE debugging output for Clipboard operations.
503
504         * gdk/win32/gdkselection-win32.c: Debugging printout improvements.
505         (gdk_selection_convert): Don't pretent to handle STRING, just
506         UTF8_STRING. Streamline error handling, don't unnecessarily have a
507         GError which then isn't used for anything anyway if it gets set.
508         (gdk_win32_selection_add_targets): Skip also STRING, TEXT,
509         COMPOUND_TEXT and SAVE_TARGETS in addition to UTF8_STRING.
510
511         * config.h.win32.in: Sync with what configure produces.
512
513         * configure.in: Don't look for X_PACKAGES unless building for
514         x11. (#313986, John Ehresman)
515
516 2005-10-28  Erdal Ronahi  <erdal.ronahi@gmail.com>
517
518         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
519                         Wondered why there was no ku there before??
520
521 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
522
523         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Add the popup
524         window to the toplevels window group.  (#319912, Christian Persch)
525
526 2005-10-28  Kristian Rietveld  <kris@gtk.org>
527
528         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): fix
529         stupid thinko.
530
531 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
532
533         * gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
534         drag cursors.  (#319200, Federico Mena Quintero)
535
536         * gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): Handle
537         Shift-G to go to the previous match, like firefox.  (#320061, Christian 
538         Neumair)
539
540         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_build_level): Fix a
541         C99ism.  (#320000, Kazuki Iwamoto)
542
543         * gtk/gtkaboutdialog.c (gtk_about_dialog_init): Add the little 
544         stars.  (#319985, Bastien Nocera)
545
546         * gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout): Return
547         FALSE, so we don't flush repeatedly.  (#319151, Alexander Larsson)
548
549 2005-10-26  Michael Natterer  <mitch@imendio.com>
550
551         Fix bug #319974:
552
553         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
554         make sure that setting any of pixbuf/stock-id/icon-name resets the
555         others because they are mutually exclusive, and that unsetting any
556         of them only resets the pixbuf and nothing else. Also added
557         some missing g_object_notify().
558
559         (gtk_cell_renderer_pixbuf_get_property): simplified calls to
560         g_value_set_object().
561
562         (gtk_cell_renderer_pixbuf_create_stock_pixbuf)
563         (gtk_cell_renderer_pixbuf_create_named_icon_pixbuf): added
564         g_object_notify ("pixbuf").
565
566 2005-10-27  Matthias Clasen  <mclasen@redhat.com>
567
568         * gtk/gtktreeview.c (gtk_tree_view_button_press): Be more 
569         careful about initializing cell_area.  (#319382, Tommi
570         Komulainen)
571
572         * gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't eat
573         Ctrl-PageUp/PageDown.  (#318670, Christian Neumair)
574
575         * demos/gtk-demo/clipboard.c (paste_received): Only set the
576         text if it is not NULL.  (#319930, Thomas Klausner)
577
578         * gtk/gtkselection.c (gtk_selection_data_get_pixbuf): Close the
579         loader before trying to get the pixbuf.  (#319930, Thomas Klausner)
580
581 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
582
583         * gtk/gtkfilesystem.c (gtk_file_system_module_load): 
584         * gtk/gtkthemes.c (gtk_theme_engine_load): 
585         * gtk/gtkimmodule.c (gtk_im_module_load): Use G_MODULE_BIND_LAZY
586         when dlopening modules.  (#319557, Laszlo Peter)
587
588 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
589
590         * gtk/gtktextbtree.c (gtk_text_btree_resolve_bidi): Only use text
591         segments when determining text direction.  (#319065, Tommi Komulainen)
592
593         * gtk/gtktreeview.c (gtk_tree_view_destroy): Don't crash
594         on duplicate destroy.  (#318953, Gustavo Carneiro)
595
596         * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog): 
597         Point out that destroy-with-parent is a bad idea for the dialog
598         passed to this function.  (#318943, Christian Persch)
599
600         * */Makefile.am: use $(GLIB_MKENUMS) instead of 
601         glib-mkenums.  (#318582, Damien Carbery)
602
603         * gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Clarify
604         docs.  (#317682, Christian Neumair)
605
606         * gdk/x11/gdkdnd-x11.c: Remove an extra const which doesn't
607         seem to affect the placement of the data in the readonly 
608         section, and causes problems with some compilers.  (#317844)
609
610 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
611
612         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
613         Fix some issues with background drawing in RTL.  (#318781,
614         Eric Cazeaux)
615
616         * tests/Makefile.am:
617         * tests/testentrycompletion.c: Apply a patch by Christian
618         Persch to add property editors.
619
620         * gtk/gtkstatusicon.c: Emit activate on single-click,
621         not on double-click, change proposed by Milosz Derezynski.
622
623 2005-10-25  Kristian Rietveld  <kris@gtk.org>
624
625         Fixes #311955, reported by Markku Vire; and a lot more.
626
627         * gtk/gtktreemodelfilter.c: Made this thing work correctly.
628         Levels can now have invisible nodes cached, functions have been
629         rewritten/refactored to take this into account; also the logic in
630         some functions has been corrected.
631         
632         Each referenced node now references all visible children or a single
633         invisible child, in order to be able to monitor all changes in the
634         child model required for correct operation.
635
636         When a virtual root is set, all nodes on the virtual root level are
637         referenced.
638
639         At last, a bunch of random bug fixes and comment updates.
640
641 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
642
643         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Add some
644         more docs.  (#319722, Paolo Borelli)
645
646         * gdk/x11/gdkxftdefaults.c (init_xft_settings): Make the 
647         initialization of screen_x11->xft_rgba more explicit.  (#319627,
648         Bogdan Nicula)
649
650         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Fix whitespace
651         in a blurb.  (#319499, Francisco Javier F. Serrador)
652
653 2005-10-24  Matthias Clasen  <mclasen@redhat.com>
654
655         Add settings to hide the input method and Unicode control character
656         submenus in the context menus of GtkEntry and GtkTextView.  
657         
658         * gdk/x11/gdkevents-x11.c: Map GTK+ settings to X settings.
659         
660         * gtk/gtksettings.c (gtk_settings_class_init): Declare GTK+ settings here.
661
662         * gtk/gtktextview.c (popup_targets_received): 
663         * gtk/gtkentry.c (popup_targets_received): Use the settings here.
664
665 2005-10-24  Kristian Rietveld  <kris@gtk.org>
666
667         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): emitting
668         row-has-child-toggled when the level is not in the cache does not
669         make sense.  (This bug probably crept in during the early stages
670         of GtkTreeModelSort when there wasn't a correct row-has-child-toggled
671         implementation yet),
672         (gtk_tree_model_sort_real_unref_node): only get the child iter
673         when we will actually also use it.
674
675 2005-10-22  Michael Natterer  <mitch@imendio.com>
676
677         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): check for the
678         widget being realized, in addition to being visible, to avoid
679         running into precondition check in gtk_tree_view_get_cell_area().
680         (approved by Kris).
681
682 2005-10-22  Dom Lachowicz <cinamod@hotmail.com>
683
684         * modules/engines/ms-windows/msw_style.c (setup_msw_rc_style): 
685         Experimentally, scrollbar steppers can shrink to 8 pixels on 
686         Win32. Reflect that in the theme.
687         * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Experimentally,
688         there is a 1-pixel border between a scrollbar and its child
689         in ScrolledWindows on Win32. Reflect that in the theme.
690         
691 2005-10-20  Matthias Clasen  <mclasen@redhat.com>
692
693         * gtk/gtklabel.c (gtk_label_create_window): Use GDK_WINDOW_CHILD
694         for the selection window.  (#318806, Alex Larsson)
695
696 2005-10-18  Federico Mena Quintero  <federico@ximian.com>
697
698         Fixes bug #317999:
699
700         * tests/autotestfilechooser.c
701         (test_button_folder_states_for_action): Test that we have either
702         $cwd or the explicitly-set folder.
703         (test_reload_sequence): Likewise.
704
705         * gtk/gtkfilechooserdefault.c
706         (gtk_file_chooser_default_get_current_folder): If our reload_state
707         is RELOAD_EMPTY, return a GtkFilePath corresponding to $cwd.
708
709 2005-10-14  Tor Lillqvist  <tml@novell.com>
710
711         * gdk/win32/gdkdisplay-win32.c: Remove the clipboard viewer code.
712         It didn't really do anything useful, and was just confusing and
713         incomplete. Comments claimed we don't do delayed rendering, but in
714         fact we do, for images. (The delayed rendering code has other
715         problems, though, see #168173.) The clipboard viewer code was
716         probably even buggy (the WM_CHANGECBCHAIN handled didn't propagate
717         the message when necessary). It was just test code, it said so in
718         a comment. Add something similar back later if necessary.
719
720         (_win32_on_clipboard_change,
721         _gdk_win32_register_clipboard_notification): Remove.
722
723         (gdk_display_supports_selection_notification,
724         gdk_display_request_selection_notification): Always just return
725         FALSE. We didn't generate any GDK_OWNER_CHANGE events anywhere.
726
727 2005-10-13  Tor Lillqvist  <tml@novell.com>
728
729         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't treat
730         Alt-Enter specially. It does not have any special meaning and
731         should be passed on to the application. (#318378, Tim Evans)
732
733 2005-10-13  Tor Lillqvist  <tml@novell.com>
734
735         Set visual depth to 24 for 32 bits-per-pixel devices on
736         Win32. This allows gdk_drawable_real_draw_pixbuf() to use the
737         optimized composite_0888() function rather than the slower image
738         dithering functions to draw pixbufs (#313993, John Ehresman)
739
740         * gdk/win32/gdkimage-win32.c (_gdk_win32_new_image): Use
741         _gdk_windowing_get_bits_for_depth() to initialize
742         GdkImage::bits_per_pixel.
743         (_gdk_windowing_get_bits_for_depth): Return 32 bits for depth 24.
744
745         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use
746         _gdk_windowing_get_bits_for_depth() to initialize
747         BITMAPINFOHEADER::biBitCount.
748
749         * gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Set
750         GdkVisual::depth to 24 even if GetDeviceCaps(BITSPIXEL) returns
751         32.
752
753 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
754
755         * demos/gtk-demo/appwindow.c: (about_cb):
756           use PACKAGE_VERSION,bump year (#318654)
757
758 2005-10-11  Matthias Clasen  <mclasen@redhat.com>
759
760         * gtk/gtktextbtree.c (_gtk_text_btree_delete): Try to match an off 
761         toggle here with the matching on toggle if it immediately follows. 
762         This is a common case, and handling it here prevents quadratic blowup 
763         in cleanup_line() below.  (#317125)
764
765         * gtk/gtktextsegment.h: 
766         * gtk/gtktextsegment.c (_gtk_char_segment_new_from_two_strings): Pass
767         the character counts into this function instead of computing them
768         again.
769
770 2005-10-10  Tommi Komulainen  <tommi.komulainen@iki.fi>
771
772         * gtk/gtkfilechooser.h (GtkFileChooserError): Add ALREADY_EXISTS error
773         code.
774         * gtk/gtkfilechooserdefault.c
775         (gtk_file_chooser_default_add_shortcut_folder): Return an error code
776         when the shortcut already exists in the sidebar.  (#147521)
777
778 2005-10-09  Matthias Clasen  <mclasen@redhat.com>
779
780         * tests/testcombo.c: Demonstrate how to use custom widgets in
781         a GtkComboBox.  
782
783 2005-10-07  Federico Mena Quintero  <federico@ximian.com>
784
785         Fixes bug #317999:
786
787         * tests/autotestfilechooser.c (test_reload_sequence): Ensure that
788         the the result of gtk_file_chooser_get_folder() is NULL or
789         non-NULL at the right times.  Log the tests.
790         (test_button_folder_states): New test for the initial states of
791         the current folder in GtkFileChooserButton.
792         (main): Test that the number of warnings/errors/critical errors is
793         zero.
794
795         * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
796         Clarify the documentation on when this can return NULL.
797         (gtk_file_chooser_get_current_folder_uri): Likewise.
798
799         * gtk/gtkfilechooserbutton.c (struct
800         _GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
801         we use it to keep track of whether a folder has been set.
802         (gtk_file_chooser_button_map):  Implement.  If no folder has been
803         loaded before, we at least try to load $cwd here.
804         (gtk_file_chooser_button_constructor): If the construct-time
805         dialog already has a folder set, turn on our folder_has_been_set
806         flag.
807         (dialog_current_folder_changed_cb): Turn on our
808         folder_has_been_set flag.
809
810 2005-10-07  Michael Natterer  <mitch@gimp.org>
811
812         * gtk/gtkfilechooserdefault.c: remove some explicit #defines of
813         PROFILE_FILE_CHOOSER because they break compilation after the
814         removal of <unistd.h>.
815
816 2005-10-07   Matthias Clasen  <mclasen@redhat.com>
817
818         * gtk/gtkfilechooserdefault.c: Properly fix the unistd.h include
819         by moving it out of the profiling ifdef.
820
821         * gtk/gtkfilechooserdefault.c: Remove a redundant (and
822         unconditional) include of unistd.h  (#318211, Kazuki Iwamoto)
823
824         * gtk/gtktexttag.c (gtk_text_attributes_ref): Use
825         g_return_val_if_fail(), not g_return_if_fail().  (#318412,
826         Kazuki Iwamoto)
827
828 2005-10-06  Matthias Clasen  <mclasen@redhat.com> 
829                 
830         * gtk/gtk.symbols:
831         * gtk/gtktextbuffer.h:
832         * gtk/gtktextbuffer.c: Add a readonly has-selection property
833         with a getter.  (#318161, Paolo Borelli)
834
835 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
836
837         * README.in: Start collecting release notes for 2.10.
838
839         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
840         leak fix, since the assertion failures were traced to 
841         an xchat bug.  (#314696)
842         
843         * gtk/gtkstyle.c (gtk_style_detach):
844         (gtk_style_attach):  Documentation improvements.
845         (gtk_style_detach): Assert that the attach_count is > 0.
846
847 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
848
849         * gtk/gtkfilechooserdefault.c (switch_to_shortcut): Take a
850         shortcut position, not a ShortcutsIndex, to make the function more
851         generic.
852         (home_folder_handler): Pass the resolved index to
853         switch_to_shortcut(), rather than just SHORTCUTS_HOME.
854         (desktop_folder_handler): Likewise for SHORTCUTS_DESKTOP.
855         (gtk_file_chooser_default_class_init): Add a "quick-bookmark"
856         binding signal, and bind it to Alt-1, Alt-2. ..., Alt-0.  These
857         make the respective key switch to the first, second, ..., tenth
858         bookmark.
859         (quick_bookmark_handler): Implement.
860
861 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
862
863         * gtk/gtkpathbar.c (get_dir_name): Don't special-case Home and
864         Desktop; just use their real names on the file system for the
865         user-visible names.
866
867         * gtk/gtkfilechooserdefault.c
868         (gtk_file_chooser_default_class_init): Add a "desktop-folder"
869         binding signal, and bind it to M-d by default.
870         (desktop_folder_handler): Implement the default handler.
871         (home_folder_handler): Use a helper function.
872         (switch_to_shortcut): New helper function.
873         (shortcuts_append_home): Don't special-case the name of "Home";
874         just use the folder name.
875
876 2005-10-04  Tor Lillqvist  <tml@novell.com>
877
878         * gtk/gtkcalendar.c (gtk_calendar_init): Make it compile without
879         HAVE__NL_TIME_FIRST_WEEKDAY. (#317910, Mathias Hasselmann)
880
881 2005-10-04  Matthias Clasen  <mclasen@redhat.com>
882
883         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Revert the change
884         from yesterday, since it leads to assertion failures.  (#317879,
885         Sebastian Bacher)
886
887 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
888
889         * gtk/gtkcalendar.c (gtk_calendar_init): Call 
890         calendar_compute_days() after setting priv->week_start.
891
892 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
893
894         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
895         removing it from the hash table.  (#314696, Benjamin Berg)
896
897 2005-10-01  Tor Lillqvist  <tml@novell.com>
898
899         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap): In case
900         BitBlt() fails with ERROR_INVALID_HANDLE, the most probable cause
901         is that the the desktop isn't visible because the session has been
902         switched, the screen is locked, or a terminal server session
903         disconnected, so no error message necessary. (#137796)
904
905         It is of course remotely possible that BitBlt() failing with
906         ERROR_INVALID_HANDLE might also be caused by some other
907         problem. We could strive for perfection and track whether the
908         desktop is visible by using WTSRegisterSessionNotification() and
909         handling WM_WTSESSION_CHANGE. I think that's overdoing it just for
910         this issue, though. If we would track desktop visibility, we
911         should then avoid even trying to update the display at all while
912         the desktop isn't visible.
913
914 2005-09-30  Matthias Clasen  <mclasen@redhat.com>
915
916         * gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
917         to correct the calculations for the first week day. We may
918         just have to remove this code if too many locales turn out 
919         to have broken data. 
920
921         * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
922         some cases.  (#317611, Tommi Komulainen)
923
924         * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
925         Prevent overflow when storing size hints in an unsigned
926         short variable. Tracked down by Ray Strode and Søren Sandmann.
927
928 2005-09-29  Matthias Clasen  <mclasen@redhat.com>
929
930         * gtk/gtkbutton.c (gtk_button_set_image): Check arguments.  (#317491,
931         Paolo Borelli)
932
933         * gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
934         grab shadowed.  (#317332)
935
936 2005-09-29  Tor Lillqvist  <tml@novell.com>
937
938         * gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.
939
940 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
941
942         * tests/autotestfilechooser.c (test_reload_sequence): Oops, return
943         if the unmap test fails.
944         (test_reload_sequence): Use gtk_widget_show_now() instead of
945         gtk_widget_show() for the dialog.
946         Thanks to Tim Janik for noticing these.
947
948 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
949
950         * tests/testcellrenderertext.c: New file with a set of tests for
951         GtkCellRendererText.  The idea is to run a text renderer through
952         most of its interesting property values to see that it works
953         correctly.
954
955         * tests/Makefile.am: Added testcellrenderertext.
956
957         * gtk/gtkfilechooserdefault.c (load_set_model): Mark the
958         entry/exit of this function for profiling.
959         (gtk_file_chooser_default_style_set): Mark the start/end of the
960         calls to the parent class and the the signal emission for profiling.
961
962 2005-09-29  Tor Lillqvist  <tml@novell.com>
963
964         * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
965         passed to bindtextdomain() which isn't UTF-8-aware, so convert to
966         system codepage using g_win32_locale_filename_from_utf8().
967         (#317457, Kazuki Iwamoto)
968
969 2005-09-28  Matthias Clasen  <mclasen@redhat.com>
970
971         * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms 
972         here. (#317039, Paolo Borelli)
973
974         * gtk/gtktexttag.h: 
975         * gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
976         to make this function work as boxed copy function.  (#317455,
977         Gustavo Carneiro)
978
979         * gtk/gtkclipboard.c (request_image_received_func): Don't unref
980         NULL.  (#316828, Tor Lillqvist)
981
982 2005-09-28  Tor Lillqvist  <tml@novell.com>
983
984         * modules/input/imime.c: Include <config.h>. (#317444, Kazuki
985         Iwamoto)
986
987 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
988
989         Don't reload the current folder unnecessarily on ::map().
990
991         * gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
992         the reloading state.
993         (struct _GtkFileChooserDefault): Added a "reload_state" field.
994
995         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
996         Initialize impl->reload_state.
997         (gtk_file_chooser_default_map): Check the impl->reload_state; load
998         a default folder if no folder has been set, or reload the current
999         one only if we had been unmapped first.
1000         (gtk_file_chooser_default_update_current_folder): Set the
1001         reload_state to RELOAD_HAS_FOLDER.
1002         (gtk_file_chooser_default_unmap): Implement, and set the
1003         reload_state to RELOAD_WAS_UNMAPPED.
1004         (shortcuts_model_create): Don't call shortcuts_add_bookmarks()
1005         here; they'll get (re)loaded on ::map() anyway.
1006
1007         * gtk/gtkfilechooserwidget.c
1008         (gtk_file_chooser_widget_constructor): Don't set a default folder here.
1009
1010         * tests/autotestfilechooser.c (test_action_widgets): Don't take in
1011         a dialog; build it ourselves.
1012         (test_reload): New test to ensure that we don't load the default
1013         folder more than once, and that we reload it when
1014         unmapping/remapping.
1015         (get_impl_from_dialog): New utility function.
1016         (test_widgets_for_current_action): Use get_impl_from_dialog().
1017
1018 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
1019
1020         * gtk/gtkfilechooserdefault.c
1021         (gtk_file_chooser_default_constructor): Mark the entry/exit of
1022         this function for profiling.
1023         (check_icon_theme): Likewise.
1024         (change_icon_theme): Likewise.
1025         (settings_notify_cb): Likewise.
1026         (gtk_file_chooser_default_screen_changed): Likewise.
1027         (update_chooser_entry): If the selection is empty, clear the file
1028         name entry only if we are in CREATE_FOLDER mode.  In SAVE mode,
1029         nothing will be selected when the user starts typeahead in the
1030         treeview, and we don't want to clear the file name entry in that
1031         case --- the user could be typing-ahead to look for a folder name.
1032         Fixes bug #308332, patch by Jürg Billeter.
1033
1034 2005-09-27  Matthias Clasen  <mclasen@redhat.com>
1035
1036         * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
1037         Pop below the entry if there's more free space below the entry
1038         than above.  (#316948, Tommi Komulainen)
1039
1040 2005-09-26  Federico Mena Quintero  <federico@ximian.com>
1041
1042         Do not create the save mode-specific widgets in the open modes, so
1043         that we don't carry their baggage around.
1044
1045         * gtk/gtkfilechooserdefault.c
1046         (gtk_file_chooser_default_constructor): Don't create the
1047         save_widgets here.
1048         (save_widgets_create): Set the impl->save_widgets directly here,
1049         instead of passing the widgets back to the caller.  Also, pack
1050         them into the impl's box.
1051         (update_appearance): Create or destroy the save widgets as
1052         appropriate.  Set the action of the save_file_name_entry here.
1053         (shortcuts_add_current_folder): Set the active item in the
1054         save_folder_combo only if it exists.
1055         (gtk_file_chooser_default_set_property): Don't set the action of
1056         the save_file_name_entry here.
1057         (gtk_file_chooser_default_update_current_folder): Set the base
1058         folder of the save_file_name_entry only if the entry exists.
1059         (shortcuts_drag_data_received_cb): Cast the selection_data->data
1060         to (const char *) since that's what shortcuts_drop_uris() expects.
1061         (file_list_drag_data_received_cb): Likewise, for
1062         g_uri_list_extract_uris().
1063
1064 2005-09-26  Tor Lillqvist  <tml@novell.com>
1065
1066         * gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
1067         the shaped flag here, too. (#316871)
1068         (gdk_window_shape_combine_region): Currently unimplemented, so
1069         don't do anything to the shaped flag here.
1070
1071 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
1072
1073         Fix #316871, reported by Dan Winship:
1074         
1075         * gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.
1076
1077         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask) 
1078         (gdk_window_shape_combine_region): Set it here.
1079
1080         * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
1081         remove the child area for shaped windows.
1082
1083 2005-09-23  Matthias Clasen  <mclasen@redhat.com>
1084
1085         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
1086         Don't leak expander pixbufs.  (#316946, Tommi Komulainen)
1087
1088 2005-09-22  Michael Natterer  <mitch@imendio.com>
1089
1090         Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
1091         consistent with GTK+ terminology:
1092
1093         * gtk/gtkcellrendererkeys.[ch]
1094         * tests/testkeys.c: removed...
1095
1096         * gtk/gtkcellrendereraccel.[ch]
1097         * tests/testaccel.c: ...and added.
1098
1099         * gtk/Makefile.am
1100         * gtk/gtk.h
1101         * gtk/gtk.symbols
1102         * tests/Makefile.am: changed accordingly.
1103
1104 2005-09-22  Matthias Clasen  <mclasen@redhat.com>
1105
1106         * gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
1107         for the grab-broken-event signal, noticed by Damon Chaplin.
1108
1109 2005-09-21  Tor Lillqvist  <tml@novell.com>
1110
1111         * gdk/win32/gdkselection-win32.c (gdk_selection_convert,
1112         gdk_text_property_to_text_list_for_display,
1113         gdk_text_property_to_utf8_list_for_display,
1114         gdk_win32_selection_add_targets,
1115         _gdk_win32_selection_convert_to_dib): Free return value from
1116         gdk_atom_name().
1117         (gdk_text_property_to_text_list_for_display): Drop GError variable
1118         that isn't actually used after being set.
1119
1120 2005-09-20  Johan Dahlin  <jdahlin@async.com.br>
1121
1122         * gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in 
1123         documentation.
1124
1125 2005-09-20  Tor Lillqvist  <tml@novell.com>
1126
1127         * gdk/win32/gdkselection-win32.c
1128         (gdk_selection_owner_get_for_display): Do return the correct owner
1129         for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
1130         a window GDK knows about). The reason to return NULL seems to have
1131         gone when in the fix for bug #163702 the artificial
1132         GDK_SELECTION_CLEAR event generation was removed from
1133         gdk_selection_send_notify_for_display(). Fixes bug #316552.
1134
1135 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
1136
1137         Avoid unnecessary XkbGetState() calls and XkbStateNotify
1138         events.  (#151555, Søren Sandmann)
1139
1140         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use 
1141         XkbSelectEventDetails() to select XkbStateNotify events
1142         for only the state we care about.
1143
1144         * gdk/x11/gdkprivate-x11.h:
1145         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
1146         the event into the function and update the keymap state from
1147         the state information contained in the event. Adjust all callers.
1148         
1149 2005-09-19  Matthias Clasen  <mclasen@redhat.com>
1150
1151         * gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
1152         in multiple places to avoid segfaults if the index is out of range.  
1153         (#316422, Guillaume Cottenceau)
1154         (gtk_icon_view_set_drag_dest_item): 
1155         (gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
1156         #316424, Guillaume Cottenceau)
1157
1158 2005-09-18  Hans Breuer  <hans@breuer.org>
1159
1160         * gtk/gtktrayicon-win32.c : now handling events by hard-coded 
1161         g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
1162
1163 2005-09-18  Hans Breuer  <hans@breuer.org>
1164
1165         * gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
1166         _gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
1167         * gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
1168         the icon and is blinking with teststatusicon. More to come ...
1169
1170 2005-09-18  Hans Breuer  <hans@breuer.org>
1171
1172         * gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
1173         cause gtkprogressbar.c has #include <config.h> conditionally; less
1174         noise from generated gtk.def
1175         * gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
1176         
1177         * gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
1178         For me it works as well as the *NIX implemenation, that is not at all.
1179
1180         * gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
1181
1182         * gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
1183         only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
1184         back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
1185         again - if compiled properly.
1186
1187         * tests/teststatusicon.c : don't use GNOME icons for testing, but icons
1188         already coming with Gtk+. Makes it compile on win32.
1189
1190 2005-09-18  Guilherme de S. Pastore  <gpastore@cvs.gnome.org>
1191
1192         * README.cvs-commits: fixed some tiny typos
1193
1194 2005-09-16  Tor Lillqvist  <tml@novell.com>
1195
1196         * modules/engines/ms-windows/msw_style.c (draw_extension,
1197         draw_box_gap): Check whether the widget actually is a GtkNotebook
1198         before treating it as such. Drop some unneeded local variables,
1199         use parameter with same information instead. (#316412)
1200
1201 2005-09-15  Federico Mena Quintero  <federico@ximian.com>
1202
1203         * tests/autotestfilechooser.c: Start a set of automated tests for
1204         the file chooser.  The only test in there right now doesn't pass
1205         yet.  It specifies the intended behavior of the first optimization
1206         of a series which I'll do on the file chooser (see
1207         http://primates.ximian.com/~federico/news-2005-09.html#14 for the
1208         details of this optimization).
1209
1210         * tests/Makefile.am: Added autotestfilechooser.c.
1211
1212         * gtk/gtkfilechooserprivate.h (struct
1213         _GtkFileChooserDialogPrivate): Move all the file chooser's private
1214         structures to here, so that they can be accessed by
1215         tests/autotestfilechooser.c:  _GtkFileChooserDialogPrivate,
1216         _GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
1217
1218         * gtk/gtkfilechooserdialog.c: See above.
1219
1220         * gtk/gtkfilechooserwidget.c: See above.
1221
1222         * gtk/gtkfilechooserdefault.c: See above.
1223
1224 Thu Sep 15 15:27:55 2005  Tim Janik  <timj@imendio.com>
1225
1226         * gtk/gtkwindow.c: 
1227         gtk_window_map_event(): new function to work around lost unmap requests.
1228         fixes bug #316180.
1229
1230 2005-09-14  Federico Mena Quintero  <federico@ximian.com>
1231
1232         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
1233         an easy-to-find profiling marker when starting to create a file
1234         chooser.
1235         (browse_files_model_finished_loading_cb): Likewise, for when the
1236         chooser is finished loading.
1237
1238 2005-09-14  Tristan Van Berkom <tvb@cvs.gnome.org>
1239
1240         * gtk/gtkcolorbutton.c: Check "color" argument in 
1241         gtk_color_button_set_color ()
1242
1243 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
1244
1245         * gtk/gtklabel.c (gtk_label_get_type): 
1246         * gtk/gtkbutton.c (gtk_button_get_type): 
1247         * gtk/gtkwindow.c (gtk_window_group_get_type): No point in 
1248         using a mem chunk for window groups, buttons, labels.
1249
1250         * gtk/updateiconcache.c (foreach_remove_func): Fix
1251         a use-after-free bug.  (#316256, Alexander Nedotsukov)
1252
1253 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
1254
1255         * gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
1256
1257         * gdk/*.c: Various cleanups.  (#315359, Kjartan Maraas)
1258         
1259 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
1260
1261         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
1262         Let GDK_Return pass through in some more cases.
1263
1264         * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
1265         activating the entry. 
1266
1267         * gtk/gtkiconview.c (gtk_icon_view_class_init):
1268         (gtk_icon_view_get_dest_item_at_pos):  Fix typos in the 
1269         docs.  (#316008, #316027, #316121, Guillaume Cottenceau)
1270
1271         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
1272         (#316001, Guillaume Cottenceau)
1273
1274         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
1275         mistake in the docs.  (#315993, Guillaume Cottenceau)
1276
1277         * tests/testentrycompletion.c (create_simple_completion_model): Add
1278         some strings containing multibyte characters.
1279
1280         * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix): 
1281         Fix prefix insertion for multibyte characters.  (#316095,
1282         Tommi Komulainen)
1283
1284         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): 
1285         * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
1286         return NULL if the widget is not realized.  (#316023,
1287         Guillaume Cottenceau)
1288
1289 2005-09-11  Matthias Clasen  <mclasen@redhat.com>
1290
1291         * gdk/gdk.symbols: 
1292         * gdk/gdkproperty.h: 
1293         * gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string): 
1294         New function to avoid pointless strdups when creating atoms
1295         from static strings.  
1296
1297         * gdk/x11/*.c:
1298         * gtk/*.c:  Use gdk_atom_intern_static_string() where 
1299         appropriate.
1300
1301 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
1302
1303         * gtk/gtkcellrendererkeys.h: 
1304         * gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
1305         and editing accelerators, a port of EggCellRendererKeys .
1306
1307         * gtk/gtk.symbols:
1308         * gtk/gtk.h:
1309         * gtk/Makefile.am: Add the keys cell renderer.
1310
1311         * tests/Makefile.am: 
1312         * tests/testkeys.c: Test GtkCellRendererKeys
1313
1314 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
1315
1316         Make it possible to determine if a key event is for a
1317         modifier key:
1318         
1319         * gdk/x11/gdkprivate-x11.h: 
1320         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): 
1321         New function to determine if a keycode is mapped to a modifier.
1322         (get_xkb): Get the modmap.
1323
1324         * gdk/x11/gdkevents-x11.c (translate_key_event): Set the 
1325         is_modifier bit by calling _gdk_keymap_key_is_modifier().
1326
1327         * gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
1328         bit.
1329
1330 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
1331
1332         * gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an 
1333         unused variable, noticed by Kjartan Maraas.
1334
1335 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
1336
1337         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): 
1338         Make drag reordering work properly for columns other than the
1339         first.  (#315054, Dan Winship)
1340         
1341         * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle 
1342         invalid fontnames better. (#136926, Michael R. Walton)
1343         
1344         Stop cursor blinking in non-editable regions of a text view.
1345         (#311508, Torbjörn Andersson)
1346         
1347         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): 
1348         (cursor_blinks): Take editability into account when deciding
1349         whether the cursor blinks.
1350         (gtk_text_view_button_release_event): 
1351         (gtk_text_view_move_cursor_internal): Update cursor blinking here.
1352
1353         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing): 
1354         Use connect_after to connect to the focus_out event. This
1355         ensures that the entry has already stopped blinking by the time
1356         we emit the edited signal.  (#315229, Thomas Leonard)
1357
1358         * tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
1359
1360         * gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
1361         unsigned ints to -1.  (#315481, Kjartan Maraas)
1362
1363         * gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
1364         to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
1365         (#314473, Stanislav Brabec)
1366
1367 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
1368
1369         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
1370         memory handling.  (#314975, Torsten Schoenfeld)
1371
1372         * gtk/gtkiconview.c (gtk_icon_view_class_init): 
1373         * gtk/gtkfilesel.c (gtk_file_selection_class_init): 
1374         * gtk/gtkcombobox.c (gtk_combo_box_class_init): 
1375         * gtk/gtklabel.c (gtk_label_class_init): 
1376         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
1377         Stylistic improvements and clarifications for some blurbs. 
1378         (#315520, Clytie Siddall)
1379
1380 2005-09-09  Tor Lillqvist  <tml@novell.com>
1381
1382         * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
1383         display name. There is only one GdkDisplay on Win32, and
1384         constructing the display name isn't entirely trivial, so cacheing
1385         is probably worth it. For instance GIMP calls this function a lot.
1386         (gdk_display_open): Call gdk_display_get_name() to prime the
1387         cached name.
1388         (gdk_display_get_n_screens, gdk_display_get_screen,
1389         gdk_display_get_default_screen): Verify parameter correctness like
1390         the X11 backend does.
1391
1392         * gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
1393         Return a freshly allocated string, as the API specifies. Fixes a
1394         heap corruption problem that caused random errors and crashes in
1395         GIMP, for instance.
1396
1397 2005-09-07  Matthias Clasen  <mclasen@redhat.com>
1398
1399         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
1400         Make C-u commit and restart hex input if we are already in a
1401         hex sequence.
1402
1403 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
1404
1405         * gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
1406         (_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
1407         if they are mapped to the same modifier.
1408
1409         * gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
1410         to gtkstatusicon.c and gtktrayicon-x11.c
1411
1412         * gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
1413         default accel mod mask.
1414
1415         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): 
1416         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
1417         Don't use GDK_ALT_MASK.
1418
1419         * gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
1420
1421 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
1422
1423         Add support for extra virtual modifiers:  (#85780, Owen Taylor)
1424         
1425         * tests/testgtk.c (create_key_lookup): Add tests for extra virtual
1426         modifiers.
1427
1428         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
1429         Mod2 - Mod5 and against Super, Hyper, Meta.
1430
1431         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
1432         * gtk/gtkaccelgroup.c (gtk_accelerator_parse) 
1433         (gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
1434
1435         * gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a 
1436         modmap to maintain the information which X modifiers map to
1437         virtual modifiers.
1438         (get_xkb): Set up the modmap from the XKB tables.
1439         (update_keymaps): Set up the modmap from the information returned
1440         by XGetModifierMapping in the non-XKB case.
1441
1442         * gdk/x11/gdkprivate-x11.h: 
1443         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New 
1444         function to set the virtual modifiers in the state.
1445
1446         * gdk/x11/gdkevents-x11.c (translate_key_event): Call 
1447         _gdk_keymap_add_virtual_modifiers here.
1448
1449         * gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super, 
1450         Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
1451         for GDK_MOD1_MASK.
1452
1453 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
1454
1455         * gtk/gtkaction.c (connect_proxy): Set the label of a button
1456         if it has no child.  (#315253, John Finlay)
1457
1458 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
1459
1460         * gtkimcontextsimple.h: Add a modifiers_dropped bit
1461
1462 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
1463
1464         * gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
1465         on destroy to avoid problems when they are called on a destroyed
1466         widget.  (#315135, John Cupitt)
1467         
1468         * gtk/gtkentry.c (gtk_entry_class_init):
1469         * gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
1470         for Ctrl-Shift-A to unselect all.  (#309301, Kathy Fernandes)
1471
1472         * gtk/gtkimcontextsimple.c: Rework the Unicode hex input
1473         code. Now we only steal a single key combination, Ctrl-Shift-U,
1474         instead of sixteen. 
1475         A hex Unicode sequence must be started with Ctrl-Shift-U, followed
1476         by a sequence of hex digits entered with Ctrl-Shift still held.
1477         Releasing one of the modifiers or pressing space while the modifiers
1478         are still held commits the character. It is possible to erase
1479         digits using backspace.
1480         As an extension to the above, we also allow to start the sequence
1481         with Ctrl-Shift-U, then release the modifiers before typing any
1482         digits, and enter the digits without modifiers.
1483         (#82011, Owen Taylor)
1484         
1485 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
1486
1487         * gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
1488         we still need to deliver the destroy event.  (#314980, Chris Lahey)
1489
1490         * gtk/gtktextview.c (gtk_text_view_key_press_event): Reset 
1491         im context before committing \n or \t.
1492
1493 2005-09-02  Alexander Larsson  <alexl@redhat.com>
1494
1495         * gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
1496         (shortcuts_activate_volume):
1497         Handle base_path being null in the rest of the cases (#310270)
1498
1499 2005-09-02  Tor Lillqvist  <tml@novell.com>
1500
1501         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
1502         cursor position also in root window coordinates. Prune out
1503         superfluous WM_MOUSEMOVE events even earlier, based on root window
1504         coordinates. Windows sends WM_MOUSEMOVE messages after a new
1505         window has ben mapped below the cursor even if the mouse doesn't
1506         move. We used to generate GDK_MOTION_NOTIFY in these cases. This
1507         confused at least gtk_menu_motion_notify(). (#314995)
1508
1509         * gtk/gtkintl.h: No need to include config.h here. It caused
1510         warnings about GTK_LOCALEDIR being redefined on Win32 when
1511         compiling files where gtkintl.h is included after gtkprivate.h
1512         (which #undefines and re-#defines GTK_LOCALEDIR on Win32).
1513
1514         * gtk/gtkplug.c: Include config.h.
1515
1516 2005-09-01  Matthias Clasen  <mclasen@redhat.com>
1517
1518         * gtk/gtkfilesystemunix.c: Pass statbufs down to 
1519         xdg_mime_get_mime_type_for_file() where possible, to avoid
1520         useless re-stating.  
1521         
1522         * gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
1523         typo.  (#314921, Guillaume Cottenceau)
1524
1525         * gdk/*.c: Intern some more strings.
1526         * gtk/gtkintl.h: 
1527         * gtk/*.c: Define an I_() macro and use it instead of the 
1528         bulky g_intern_static_string().
1529
1530 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
1531
1532         * gtk/gtkbindings.c (binding_signal_new): Intern the signal name
1533         instead of copying it.
1534
1535         * gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.
1536
1537         * gtk/*.c: Also intern static strings passed to 
1538         g_object_set_data().
1539
1540         * gdk/Makefile.am: 
1541         * gtk/Makefile.am: Intern type names in code generated by 
1542         glib-mkenums, too.
1543
1544         * gtk/*.c: 
1545         * gdk/x11/*.c: 
1546         * gdk/*.c: Intern type names before registering the type to avoid 
1547         unnecessary copies.
1548
1549         * configure.in: Require GLib 2.9.0
1550
1551 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
1552
1553         * gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
1554         and add icon-size and icon-size-set properties.  (#314172)      
1555
1556         * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
1557         groups across transient parents.  (#312918, Christian Persch)
1558
1559         * gtk/gtktreemodel.c: Some documentation fixes.  (#314882,
1560         Guillaume Cottenceau)
1561
1562         * gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions): 
1563         Fix a typo in the docs.  (#314878, Guillaume Cottenceau)
1564
1565 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
1566
1567         * gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
1568         make C-/ select all and C-\ unselect all.  (#309301,
1569         Kathy Fernandez)
1570
1571         * gtk/gtkimcontextsimple.c: Change the compose sequence for
1572         soft hyphen to be multi_key-minus-minus-space, and add
1573         compose sequences multi_key-minus-minus-period and 
1574         multi_key-minus-minus-minus for en dash and em dash.
1575         (#172653, Christian Lohmaier)
1576
1577         * gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
1578         code.  (#313946, Christian Persch)
1579
1580         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
1581         fix for the default value of the "ui" property.
1582
1583 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
1584
1585         * gtk/gtk.symbols: 
1586         * gtk/gtkselection.h:
1587         * gtk/gtkselection.c: Add functions which look for text, image
1588         or uri targets in an array of atoms.   (#314089, Mark Wielaard)
1589
1590         * gtk/gtk.symbols: 
1591         * gtk/gtkselection.h:
1592         * gtk/gtkselection.c (gtk_selection_data_targets_include_uri): 
1593         Add a function to check wether targets include uri.  
1594         (#314092, Mark Wielaard)
1595         
1596         * gtk/gtk.symbols: 
1597         * gtk/gtkwindow.h: 
1598         * gtk/gtkwindow.c: Add a deletable property with getter
1599         and setter, to control the close button in the window 
1600         frame.  (#59718, Havoc Pennington)
1601
1602 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
1603
1604         * gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
1605         to the arrow keys for menu navigation.  (#162825, Carl Worth)
1606
1607         * gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes
1608
1609         * gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.
1610
1611         * gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock): 
1612         * gtk/gtkimage.c (gtk_image_new_from_stock): Don't
1613         refer to nonexisting stock ids.
1614
1615         * gtk/gtktextview.c (popup_targets_received): 
1616         * gtk/gtkentry.c (popup_targets_received): Construct
1617         the "Select All" menuitem from stock.
1618
1619         * gtk/stock-icons/stock_select_all_{16,24}.png:
1620         * gtk/stock-icons/Makefile.am: 
1621         * gtk/gtkiconfactory.c:
1622         * gtk/gtkstock.h: 
1623         * gtk/gtkstock.c: Add a "Select All" stock item.  (#78545,
1624         Calum Benson)
1625
1626         * gtk/gtktrayicon.c: Add a pointer to the spec.
1627
1628         * gtk/gtkstatusicon-x11.c: Add docs.
1629
1630         * gtk/gtkstatusicon.h: Fix a typo.
1631
1632         Add a cross-platform "tray icon" API, by
1633         porting EggStatusIcon/EggTrayIcon (#105101)
1634         
1635         * gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
1636         displays an icon in a notification area.
1637
1638         * gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
1639         X11, using GtkTrayIcon.
1640
1641         * gtk/gtktrayicon.h: 
1642         * gtk/gtktrayicon.c: An implementation of the freedesktop.org
1643         system tray specification, not public API.
1644
1645         * gtk/gtk.symbols: Add new exported functions.
1646
1647         * gtk/gtk.h: Include gtkstatusicon.h.
1648
1649         * gtk/Makefile.am: Add new files.
1650
1651         * tests/Makefile.am:
1652         * tests/teststatusicon.c: Test for GtkStatusIcon.
1653
1654 2005-08-29  Christopher Aillon  <caillon@redhat.com>
1655
1656         * gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
1657         and GTK_STOCK_DISCONNECT
1658         
1659 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
1660
1661         * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify): 
1662         Use XFixesChangeSaveSet if available.  (#314682)
1663
1664         * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
1665         was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
1666
1667 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
1668
1669         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
1670         accidentally leftover duplicate pixbuf creation.  (#314700,
1671         Kjartan Maraas)
1672
1673         * gtk/gtksettings.c (settings_update_cursor_theme): Don't 
1674         leak the cursor theme name.  (#314693, Kjartan Maraas)
1675
1676         * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free 
1677         state.children in all cases.  (#313862, Kjartan Maraas)
1678
1679 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
1680
1681         * po/POTFILES.in, po-properties/POTFILES.in:
1682         Add gdk/gdkscreen.c
1683
1684 2005-08-27  Matthias Clasen  <mclasen@redhat.com>
1685
1686         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
1687         value of the ui property. (#314532, Yong Wang)
1688
1689         * gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
1690         when G_MAXLONG is passed as length.  
1691
1692 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
1693
1694         * gtk/updateiconcache.c: Add a separate --ignore-theme-index option
1695         to avoid overloading --force.  (JP Rosevaar)
1696
1697 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
1698
1699         * configure.in: Bump version to 2.9.0
1700
1701         * gdk/gdk.symbols: 
1702         * gdk/gdkscreen.h: 
1703         * gdk/gdkscreen.c: Make the GdkScreen font options api
1704         public, and add properties GdkScreen::font-options and
1705         GdkScreen::resolution.  (#314004)
1706
1707         * gdk/gdkpango.c:
1708         * gtk/gtksettings.c:
1709         * gtk/gtkwidget.c: Adjust all callers.
1710         
1711         * gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
1712         * gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
1713         * gdk/gdkscreen.c: Include gdkintl.h.
1714
1715         * gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
1716         variable warning, pointed out by Colin Walters. (#314585)
1717
1718 2005-08-26  Tor Lillqvist  <tml@novell.com>
1719
1720         * gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
1721         printouts.
1722         (gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)
1723
1724 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
1725
1726         * gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
1727         of week_start.  (#314473, JP Rosevaar)
1728
1729 2005-08-25  Thomas Fitzsimmons  <fitzsim@redhat.com>
1730
1731         * gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
1732         lock.  (#314533, Thomas Fitzsimmons)
1733
1734 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
1735
1736         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
1737         NULL gracefully.  (#314523, Ed Catmur)
1738
1739 2005-08-25  Owen Taylor  <otaylor@redhat.com>
1740
1741         * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): 
1742         Handle theme == NULL.
1743
1744 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
1745
1746         * gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
1747         y offset into account when positioning the popup.  (#314470,
1748         Christian Persch)
1749
1750 2005-08-25  Owen Taylor  <otaylor@redhat.com>
1751
1752         * gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
1753         as instance_init, not base_init! (#314452, Fix from Frederic
1754         Crozat, reported by Joe Marcus Clarke). Trivial cleanup: use -1.
1755         rather than 1 for a negative flag value.
1756
1757 2005-08-24  Owen Taylor  <otaylor@redhat.com>
1758
1759         * gdk/gdkpango.c (draw_error_underline): Add a note about
1760         cut-and-paste between here and Pango.
1761
1762 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
1763
1764         * === Released 2.8.2 ===
1765
1766         * gtk/gtkclipboard.c (request_image_received_func): Use the correct
1767         callback for image/gif, and also try image/bmp.  (#314086,  Mark 
1768         Wielaard)
1769
1770         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon): 
1771         Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev.  (#314382,
1772         Sebastien Bacher)
1773         
1774         * NEWS: Updates
1775
1776         * gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
1777         and cursor settings get propagated down to the screen initially.
1778         Pointed out by Frederic Crozat.
1779
1780         * gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
1781         message if the screen is NULL. Noticed by Kjartan Maraas.
1782
1783 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
1784
1785         * Bump version
1786
1787         * === Released 2.8.1 ===
1788
1789         * NEWS: Updates
1790         
1791 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
1792
1793         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
1794         against lazy filterers which return values other than TRUE or
1795         FALSE from their visible func.  (#314335)
1796
1797 2005-08-23  Owen Taylor  <otaylor@redhat.com>
1798
1799         Fix for #314004, reported by Michael Reinsch:
1800
1801         * gdk/gdk.symbols:
1802         * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
1803         Add gdk_screen_get/set_resolution_libgtk_only()
1804
1805         * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
1806         the options for the screen on the newly created context.
1807
1808         * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c: 
1809         Move font options and dpi code from gtkwidget.c to gtksettings.c, set
1810         the font options on the screen.
1811
1812         * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
1813         the font options from the screen and set them on the context.
1814
1815 2005-08-23  Kristian Rietveld  <kris@gtk.org>
1816
1817         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
1818         bother inserting new rows in a level with a zero refcount and
1819         immediately free the level. (Fixes #312350, reported by Markku Vire).
1820
1821 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
1822
1823         * gtk/updateiconcache.c: Complain when there is no index.theme file
1824         in the specified directory, unless --force is used. Also add an
1825         --index-only option to create caches without image data.
1826
1827         * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
1828         C99ism.  (#314262, Robert Jeff Mitchell)
1829         
1830 2005-08-22  Manish Singh  <yosh@gimp.org>
1831
1832         * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.
1833
1834         * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.
1835
1836 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
1837
1838         * gtk/gtkwindow.c (gtk_window_client_event): 
1839         * gtk/gtkicontheme.c (ensure_valid_themes) 
1840         (_gtk_icon_theme_check_reload): Implement a clientmessage based
1841         scheme for makeing sure that all GTK+ applications notice if an
1842         icon theme has been updated. This should prevent multiple versions
1843         of an icon theme cache to be mapped in memory at the same time,
1844         which can cause excessive memory consumption.  (#313156, Chris 
1845         Lahey)
1846
1847 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
1848
1849         * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
1850         regarding icon theme changes.
1851
1852         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
1853         pixbufs which are backed by the mmapped memory of an icon cache,
1854         increase the refcount of the icon cache, so that the memory is not
1855         munmapped away underneath the pixbuf upon icon theme changes.  
1856         (#314170, Kjartan Maraas)
1857
1858         * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order 
1859         to link against Xext.  (#314062)
1860
1861         * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
1862         overruns.  (#314081, Hans Breuer)
1863
1864 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
1865
1866         * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
1867         returned layout must not be modified.
1868
1869 Sat Aug 20 16:12:14 2005  Jonathan Blandford  <jrb@redhat.com>
1870
1871         * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
1872         scroll_to_path if the model changes.
1873
1874         * gtk/gtkiconview.c: (gtk_icon_view_destroy),
1875         (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
1876         (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
1877         we're realized, #312798
1878         (gtk_icon_view_set_model): clear scroll_to_path if the model
1879         changes.
1880
1881 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
1882
1883         * gtk/gtkrange.c (gtk_range_adjustment_changed) 
1884         (gtk_range_adjustment_value_changed):  Don't queue a draw
1885         if the layout has not changed.  (#313991, Benjamin Berg)
1886
1887 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
1888
1889         * gtk/gtktreeitem.c: Remove duplicate lines.  (#313344,
1890         Benoit Carpentier)
1891
1892         * modules/engines/ms-windows/msw_style.c (setup_system_styles): 
1893         Fix a typo. 
1894
1895         * gtk/gtkfilechooserbutton.c (change_icon_theme) 
1896         (model_add_special, model_add_special, model_add_volumes):
1897         Handle pixbuf being NULL without warnings. Also, don't
1898         leak pixbuf references when the icon theme is changed.
1899
1900         * gtk/gtkmain.c (gtk_get_event_widget): Don't access
1901         the user data on destroyed windows, since at best
1902         it can be a stale pointer.  (#313953, Robin Green)      
1903
1904 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
1905
1906         * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
1907         (#313900, Sebastien Bacher)
1908
1909         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
1910         FALSE if the tree is empty.  (#313891, Guillaume Cottenceau)
1911
1912         * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display) 
1913         (xdnd_read_actions, get_client_window_at_coords_recurse): 
1914         Free data returned from XGetWindowProperty. 
1915
1916         * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window) 
1917         Free data returned from XGetWindowProperty.  (313867, Kjartan
1918         Maraas)
1919         
1920         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
1921         children in all cases.  (#313862, Kjartan Maraas)
1922
1923         * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs 
1924         in the per-directory hash, even if they come from the icon cache. 
1925         We tried to avoid that before, but as a result leaked icon data
1926         structs.  (#313852, Kjartan Maraas)
1927
1928 2005-08-18  Matthias Clasen  <mclasen@redhat.com>
1929
1930         * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
1931         signal handlers on destroy, not on finalize.  (#313759, Brett Atoms)
1932
1933 2005-08-15  Owen Taylor  <otaylor@redhat.com>
1934
1935         * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
1936         files for x11/xext. (Jonas Bonn)
1937
1938 2005-08-15  Tor Lillqvist  <tml@novell.com>
1939
1940         * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
1941         inside GTK_NOTE.
1942
1943 2005-08-15  Owen Taylor  <otaylor@redhat.com>
1944
1945         * configure.in: Fix have_base_pc / have_base_x_pc typo.
1946
1947         * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
1948         (#313417, James Andrewartha)
1949
1950         * configure.in: Add fontconfig to X_PACKAGES, since we use it for
1951         FcNameConstant(). (More of #313417)
1952
1953 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
1954
1955         * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
1956         modal dialogs, make sure to inherit the window group from 
1957         the parent, since we don't inherit window groups across
1958         transient parents currently.  (#312918, Christian Persch)
1959
1960         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): 
1961         * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs. 
1962
1963         * gtk/gtkiconview.c (gtk_icon_view_select_path) 
1964         (gtk_icon_view_scroll_to_path): Handle paths of depth 0
1965         gracefully.  (#312796, Jonathan Blandford)
1966
1967         * tests/testtoolbar.c: Add some more tests for menu placement.
1968
1969         * gtk/gtkmenutoolbutton.c (menu_position_func): 
1970         * gtk/gtktoolbar.c (menu_position_func): Improve positioning
1971         of toolbutton menus and of the overflow menu.  (#312937, 
1972         #153870, Christian Persch, Paolo Borelli)
1973
1974 2005-08-15  Tor Lillqvist  <tml@novell.com>
1975
1976         * gtk/updateiconcache.c: Use g_path_get_dirname() instead of
1977         the nonportable <libgen.h> and dirname().
1978
1979 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
1980
1981         * gtk/gtksizegroup.c: Use object data to mark widgets and
1982         groups as visited, so that we avoid constant extra list
1983         traversals. Also allocate quarks in class_init.  (#311618,
1984         Michael Natterer)
1985
1986         * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the 
1987         download location for the hicolor icon theme. (#313475, Olexiy 
1988         Avramchenko)
1989
1990         * gtk/gtkicontheme.c: Remove debug spew. 
1991
1992 2005-08-15  Owen Taylor  <otaylor@redhat.com>
1993
1994         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap): 
1995         * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap): 
1996         * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
1997         Handle pixmap == NULL when checking for a colormap.
1998         (Allin Cottrell).
1999
2000 2005-08-14  Matthias Clasen  <mclasen@redhat.com>
2001
2002         * gtk/updateiconcache.c: Store only one copy of the pixel data
2003         for symlinked icons. To achieve this, maintain a hashtable 
2004         mapping pathnames to pixel data, and share the pixel data for
2005         all symlinks resolving to the same pathname. When writing out
2006         the image data, write out the pixel data only the first time
2007         it is met, and store the offset pointing to the first copy
2008         for use in all later cases.
2009         This reduces the size of the Bluecurve icon cache from 40
2010         to 13MB. (#312972)
2011