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