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