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