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