+2009-01-30 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkrecentchoosermenu.c (gtk_recent_chooser_menu_create_item):
+ Always show images.
+
+2009-01-29 Tor Lillqvist <tml@novell.com>
+
+ Bug 559408 - Transparency lost when images are copied between GTK+
+ and the clipboard on Windows
+
+ The code in gdkselection-win32.c is simplified quite a lot. When
+ an image is stored on the clipboard from GTK+, only the "PNG" and
+ CF_DIB formats are advertised. PNG is our preferred format because
+ it can losslessly represent any image that gdk-pixbuf can handle,
+ even with alpha, unambiguously. CF_DIB is also advertised because
+ of its ubiquitous support in Windows software.
+
+ Delayed rendering is used as before, so for other data than text
+ nothing is actually stored on the clipboard until some app asks
+ for it.
+
+ It's pointless to advertise images formats like "image/png" or
+ "image/x-MS-bmp" that no other Windows application is going to
+ look for anyway. Likewise it's pointless to store text under
+ formats like "text/plain" or "UTF8_STRING". Just store
+ CF_UNICODETEXT. CF_TEXT will be available as a synthesized format
+ anyways.
+
+ Office 2007 offers and asks for images in PNG format using the
+ registered clipboard format name "PNG", so we do likewise. If the
+ "PNG" format is available that is preferred when copying to GTK+
+ from the clipboard.
+
+ Unfortunately Word 2007 still uses CF_DIB without handling
+ alpha. But PowerPoint 2007 uses PNG if available and handles alpha
+ correctly. Both Word and Powerpoint offer PNG with alpha nicely.
+
+ Firefox and IE7 offer images that contain alpha as 32-bit version
+ 3 BI_RGB DIBs with the undocumented "extra" bytes actually being
+ alpha. Also, alpha is premultiplied into the RGB bytes, presumably
+ because that is how AlphaBlend() wants such DIBs. That is also
+ taken care of. At least for Firefox it easy to be sure that a
+ CF_DIB on the clipboard is from Firefox.
+
+ Also some general stylistic cleanup, comment improvements, and
+ improvements of debugging printout especially in the clipboard
+ handling. Those are not detailled below.
+
+ * gdk/win32/gdkprivate-win32.h
+ * gdk/win32/gdkglobals-win32.c
+ * gdk/win32/gdkgmain-win32.c: Move some globals that were used
+ only in gdkselection-win32.c to be local to that file.
+
+ * gdk/win32/gdkproperty-win32.c (gdk_property_change): Don't
+ bother checking if text to be placed on the clipboard consists of
+ only ASCII.
+
+ * gdk/win32/gdkselection-win32.c: Add static variables for a list
+ of GdkPixbuf-supported formats, well-known registered clipboard
+ formats for images, and for GdkAtoms for well-known image and text
+ formats.
+
+ (_gdk_win32_selection_init): Initialize above static variables.
+
+ (selection_property_store) (gdk_selection_property_get)
+ (_gdk_selection_property_delete): Don't use a FIFO of GdkSelProps
+ for a window after all, it breaks testtext. See bug #163844.
+
+ (gdk_selection_convert): When converting to the TARGETS format,
+ i.e. when the caller wants to know what clipboard formats are
+ available, if PNG is available we report just that and skip
+ CF_DIB, JPEG and GIF even if advertised.
+
+ If CF_UNICODETEXT is available, report only UTF8_STRING.
+
+ When converting to the UTF8_STRING format, i.e. when the caller
+ wants text from the clipboard, try just CF_UNICODETEXT. There is
+ no point in trying CF_TEXT as Windows will synthesize
+ CF_UNICODETEXT from CF_TEXT anyway, if some app has stored just
+ CF_TEXT.
+
+ When converting to the image/bmp format, i.e. when the caller
+ wants an CF_DIB image from the clipboard, we check if the DIB is a
+ version 3 32-bit BI_RGB one that is likely to actually contain
+ alpha in the "extra" bytes. Such a DIB is likely to have
+ premultiplied alpha even, at least in the case of Firefox 3 and
+ IE7. We then edit the DIB in-place into a version 5 one in
+ BI_BITFIELDS format and undo the alpha premultiplication.
+
+ In any case, prepend a BMP file header before letting go of the
+ data which will be fed to the gdk-pixbuf bmp loader by upper
+ levels.
+
+ (gdk_win32_selection_add_targets): If some kind of pixmap image
+ format is being added, actually advertise just PNG and
+ CF_DIB. Note that alpha won't be stored on the clipboard through
+ CF_DIB. This is because gdk-pixbuf's bmp loader doesn't save
+ alpha. Furthermore, few if any non-GTK+ Windows apps seem to
+ understand a version 5 DIB with proper alpha anyway.
+
+ (_gdk_win32_selection_convert_to_dib): Simplified muchly.
+
+2009-01-29 Tor Lillqvist <tml@novell.com>
+
+ Bug 145058 - Inputting "^^" requires four keystrokes on Win32,
+ differs from platform default behaviour
+
+ * gtk/gtkimcontextsimple.c
+ (check_win32_special_case_after_compact_match): New
+ function. Called from check_compact_table() after a table-based
+ match has committed a character. In case there was two identical
+ dead accents in the input, another copy of the spacing accent that
+ was already committed is committed. This fixes #145058.
+
+ (check_win32_special_cases): New function. Called first from
+ gtk_im_context_simple_filter_keypress(). This fixes another
+ problem: a dead accent followed by a space should commit the
+ corresponding spacing accent. The compose tables from X commit
+ another character in two cases and we want to override that on
+ Windows.
+
+ Add GTK_NOTE (MISC) debugging output to this code.
+
+2009-01-29 Claudio Saavedra <csaavedra@igalia.com>
+
+ Bug 569435 – make maintainer-clean removes non-generated sources
+
+ * gdk/Makefile.am: Do not remove gdkprivate.h and gdkwindowimpl.h
+ during make maintainer-clean, as these files are not generated.
+
+2009-01-28 Philip Withnall <philip@tecnocode.co.uk>
+
+ * gtk/gtktreeview.c: Small documentation fix.
+
+2009-01-27 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkentry.c: Use the get_text_area_size vfunc to make
+ alignment and icons in spin buttons work correctly.
+
+2009-01-27 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 569336 – change in gtkbutton klass is causing crash when
+ activating menu item
+
+ * gtk/gtktogglebutton.c: Don't chain the clicked handler
+ up unconditionally.
+
+2009-01-27 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+2009-01-27 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.15.2 ===
+
+ * NEWS: Updates
+
+2009-01-26 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 322932 – Always show icons on panel menus
+
+ * gtk/gtk.symbols:
+ * gtk/gtkimagemenuitem.[hc]: Add a property to override the
+ show-menu-images setting for individual menuitems. Patch by
+ William Jon McCann.
+
+2009-01-26 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkbutton.c: Activate the action in a regular clicked
+ handler instead of the default handler, to make it work with
+ derived classes which don't chain up their clicked handler.
+
+2009-01-26 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 569104 – Toggle menu entries showed as check menu entries
+ in nautilus
+
+ * gtk/gtkactivatable.c (gtk_activatable_do_set_related_action):
+ Block the previous action when calling reset() to prevent
+ accidental activation of the previous action.
+
+ * gtk/gtkaction.c (gtk_action_activate): Don't compare booleans.
+
+ * gtk/gtktoggleaction.c (gtk_toggle_action_set_active): Remove
+ extraneous braces.
+
+2009-01-26 Bastien Nocera <hadess@hadess.net>
+
+ Bug 569240 - Crasher when using markers
+
+ * gtk/gtkrange.c (gtk_range_destroy): Avoid crashes when destroying
+ a GtkRange with markers
+
+2009-01-26 Richard Hult <richard@imendio.com>
+
+ Bug 566628 – gdk_display_close always asserts on win32 and quartz
+
+ * gdk/quartz/gdkdisplay-quartz.c
+ (_gdk_windowing_set_default_display): Copy fix for bug #566628
+ from the win32 backend: Allow also a NULL parameter in the
+ g_assert().
+
+2009-01-25 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtktoolitem.[hc]: Export the function to create a proxy
+ menuitem from the action for use in subclasses.
+
+ * gtk/gtktoolbutton.c:
+ * gtk/gtktoggletoolbutton.c: Use it here.
+
+ * gtk/gtkrecentchoosermenu.c: Avoid temporary empty state that
+ can lead to a recent action proxy menu being erroneously hidden.
+
+2009-01-25 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkradioaction.c: Set draw-as-radio to TRUE.
+
+2009-01-24 Matthias Clasen <mclasen@redhat.com>
+
+ Revert changes for bug 567124. Instead of trying to avoid
+ setting up the im context before the widget is realized, just
+ reset it when the client window is set.
+
+ * gtk/gtkimmulticontext.c: Reset the slave when a client window
+ is set.
+
+ * gtk/gtkimmodule.c
+ * gtk/gtktextview.c: Revert changes for bug 567124.
+
+2009-01-25 Claudio Saavedra <csaavedra@igalia.com>
+
+ * gtk/gtktreeview.c: Use gtk-doc syntax to refer to properties in
+ the docstrings.
+
+2009-01-25 Claudio Saavedra <csaavedra@igalia.com>
+
+ * gtk/gtkiconview.c: More docstrings improvements
+ regarding reorderable property.
+
+2009-01-24 Claudio Saavedra <csaavedra@igalia.com>
+
+ Bug 559420 – gtk_icon_view_enable_model_drag_[source|dest] docs
+ wrt. reorderable property
+
+ * gtk/gtkiconview.c: Improve docstrings regarding reorderable
+ property. Based on a patch by Björn Lindqvist.
+
+2009-01-24 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtktoolbutton.c (gtk_tool_button_activatable_reset):
+ Fall back from stock ids to icon names like the old code
+ did. Patch by Tristan van Berkom.
+
+2009-01-24 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/testactions.c: Add a testcase for toolitems using
+ icon names.
+
+2009-01-24 Matthias Clasen <mclasen@redhat.com>
+
+ * gdk/x11/gdkcursor-x11.c (_gdk_x11_cursor_update_theme):
+ Don't update blank cursors.
+
+2009-01-24 Claudio Saavedra <csaavedra@igalia.com>
+
+ * gtk/gtktreeview.c: (gtk_tree_view_class_init): Slightly
+ improve ::search-column property description.
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.15.1 ===
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkactivatable.c: Make the section docs produce some valid
+ xml.
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkactivatable.c: Fix the section docs so gtk-doc finds them.
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkrecentchooser.c:
+ * gtk/gtkuimanager.c: Fix issues found by pltcheck
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ * NEWS: Updates
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 560228 – Add "action-controller" property to GtkWidgetClass
+
+ Rework the way actions and proxies interact, to make the
+ interaction less ad hoc, more extensible, and better suited
+ for support in GUI builders like glade.
+
+ To be used as a proxy, a widget must now implement the
+ GtkActivatable interface, and GtkActivatable implementations
+ are responsible for syncing their appearance with the action
+ and for activating the action.
+
+ All the widgets that are commonly used as proxies implement
+ GtkActivatable now.
+
+ Patch by Tristan van Berkom.
+
+ * gtk/gtkactivatable.[hc]: The GtkActivatable interface.
+
+ * gtk/gtkbutton.c:
+ * gtk/gtktogglebutton.c:
+ * gtk/gtktoolitem.c:
+ * gtk/gtktoolbutton.c:
+ * gtk/gtktoggletoolbutton.c:
+ * gtk/gtkmenuitem.c:
+ * gtk/gtkcheckmenuitem.c:
+ * gtk/gtkimagemenuitem.c:
+ * gtk/gtkradiomenuitem.c:
+ * gtk/gtkrecentchooserprivate.h:
+ * gtk/gtkrecentchooser.c:
+ * gtk/gtkrecentchooserdefault.c:
+ * gtk/gtkrecentchoosermenu.c: Implement GtkActivatable.
+ * gtk/gtkaction.[hc]: Move appearance synchronization to
+ GtkActivatable implementations.
+
+ * gtk/gtkradioaction.c:
+ * gtk/gtkrecentaction.c:
+ * gtk/gtktoggleaction.c:
+ * gtk/gtkactiongroup.c: Adapt.
+
+ * gtk/gtk.h: Include gtkactivatable.h
+ * gtk/gtk.symbols: Add new functions
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 567124 – proposal to delay doing something related to
+ immodule until widgets realized
+
+ Delay setting up immodules until the widget is realized.
+ Patch by Akira Tagoh
+
+ * gtk/gtktextview.c: Don't set up im stuff if the widget
+ is not realized.
+
+ * gtk/gtkimmodule.c: Assert that we have a window.
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ Skip Desktop if it equals the home folder
+ Patch by Christian Dywan
+
+ * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Skip
+ Desktop if it equals the home folder.
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 536965 – GtkPlug: crash on theme change
+
+ Keep GtkPlug in sync with the global list of toplevels.
+ Patch by Federico Mena Quintero
+
+ * gtk/gtkwindow.h:
+ * gtk/gtkwindow.c (_gtk_window_set_is_toplevel): New internal
+ function used when a GtkPlug parents/unparents itself by an
+ in-process GtkSocket. This keeps the plug's GTK_TOPLEVEL flag in
+ sync with the global toplevel_list.
+
+ * gtk/gtkplug.c (gtk_plug_set_is_child): Call
+ _gtk_window_set_is_toplevel() to keep the toplevel list updated,
+ instead of just setting/unsetting the GTK_TOPLEVEL flag.
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 568744 – Spellfixes in GtkTreeView's documentation
+
+ * gtk/gtktreeview.c: Fix typos in the docs.
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 567761 – Spellfixes in GTK+ documentation
+
+ * gdk/x11/gdkselection-x11.c:
+ * gtk/gtktestutils.c: Fix typos in the docs.
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 567021 – gtkimage accessors docs
+
+ * gtk/gtkimage.c: Improve docs by mentioning allowed NULL values.
+ Patch by Christian Persch
+
+2009-01-23 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 566535 – gtk_widget_get_snapshot does not work if double buffered
+ is disabled
+
+ * gtk/gtkwidget.c (gtk_widget_get_snapshot): Use a different approach
+ to snapshotting that is in line with what is done in the client-side
+ windows branch, and that works for widgets regardless if they are
+ double-buffered or not. Patch by Alex Larsson.
+
+ * gdk/gdkwindow.c (_gdk_window_calculate_full_clip_region): Clip
+ to the parent.
+
+2009-01-22 Federico Mena Quintero <federico@novell.com>
+
+ * gtk/gtkfilechooserentry.c (autocomplete): Relax the assertion;
+ just do nothing if the folder is not loaded or if the cursor position
+ is not at the end of the text. A very slow-to-load folder can get
+ us into the latter state if the user starts typing first.
+
+2008-01-22 Matthias Clasen <mnclasen@redhat.com>
+
+ * gtk/gtkaction.c: Revert the last change, since it breaks
+ epiphany.
+
+2009-01-22 Federico Mena Quintero <federico@novell.com>
+
+ Fix the computation of "complete but unique" in
+ GtkFileChooserEntry. Fix the case where "/" was not appended to a
+ unique directory name during explicit Tab completion.
+
+ * gtk/gtkfilechooserentry.c (maybe_append_separator_to_file):
+ Return whether anything was appended as well as the new string
+ itself.
+ (find_common_prefix): Oops, only turn on
+ is_complete_not_unique_ret if we had a unique match!
+ (append_common_prefix): If we appended a directory separator, we
+ *did* expand the common prefix, so we are not in the "nothing
+ inserted" case.
+
+2009-01-22 Federico Mena Quintero <federico@novell.com>
+
+ Return an error code when refreshing the entry from the user's
+ input. We use this in the completion code to know when completion
+ can't happen due to (for example) having a non-local URI in a file
+ chooser that is local_only=TRUE.
+
+ Also, we start maintaining an invariant that
+ chooser_entry->current_folder_file != NULL implies that:
+
+ * what the user entered is valid
+
+ * we are loading that folder (chooser_entry->load_folder_cancellable != NULL)
+
+ * or we are done loading that folder, or we have a handle
+ to it at least (chooser_entry->current_folder != NULL)
+
+ The invariant also says that all of the above are NULL (and
+ chooser_entry->current_folder_file == NULL) implies that the user
+ typed something invalid. This makes
+ _gtk_file_chooser_entry_get_current_folder() not able to return
+ an invalid folder.
+
+ * gtk/gtkfilechooserentry.c (RefreshStatus): New enum.
+ (refresh_current_folder_and_file_part): Return a RefreshStatus.
+ We filter out incomplete hostnames here (typing
+ "sftp://incompl[tab]" will error out), as well as completely
+ unparsable input.
+ (start_explicit_completion): Process the result from refresh...().
+ Here we present the actual feedback about only being able to
+ display local folders for local_only=TRUE.
+ (commit_completion_and_refresh): Don't do anything with the result
+ of refresh...(), since this function doesn't get called during
+ completion-related interaction.
+ (start_autocompletion): Process the result from refresh...(). We
+ only do completion in the REFRESH_OK case. For the error cases,
+ we don't do anything, as this is autocompletion and must not
+ result in non-asked-for errors popping up.
+ (discard_loading_and_current_folder_file): Factor out function to
+ cancel the cancellable and discard the current_folder_file,
+ i.e. to reset the invariant to the "nothing valid is loaded" case.
+ (gtk_file_chooser_entry_dispose): Use
+ discard_loading_and_current_folder_file().
+ (reload_current_folder): Likewise.
+ (refresh_current_folder_and_file_part): Likewise, and ensure that
+ the error cases result in the invariant being held.
+ (start_loading_current_folder): Check if the folder to be loaded
+ is non-native for the local_only=TRUE case; if so, return an error
+ as we are configured to load only local folders.
+ (reload_current_folder): Pass on errors from
+ start_loading_current_folder(). Tighten the preconditions, as we
+ are sure that we can only receive non-NULL folder-files to load.
+ (refresh_current_folder_and_file_part): Pass on errors from
+ reload_current_folder(). At the very end, assert the invariant
+ described above.
+
+2009-01-22 Matthew Barnes <mbarnes@redhat.com>
+
+ Bug 568334 – Constructor properties for GtkAction
+
+ * gtk/gtkaction.c (gtk_action_class_init): Make all properties
+ G_PARAM_CONSTRUCT except "action-group".
+
+2009-01-22 Michael Natterer <mitch@imendio.com>
+
+ * gtk/gtkicontheme.c (gtk_icon_theme_has_icon): g_return_if_fail()
+ on icon_name != NULL so we get a warning instead of a crash here.
+
+2009-01-21 Matthias Clasen <mclasen@redhat.com>
+
+ * NEWS: Updates
+
+2009-01-21 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkentry.c: Don't show windows that may not exist
+
+2009-01-21 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtklabel.c: Implement select-by-words for selectable labels.
+
2009-01-21 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c: Rename static local functions and
* gdk/win32/gdkcursor-win32.c (hcursor_from_type): Implement
creating a GDK_BLANK_CURSOR.
+2009-01-21 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkentry.c: Change the Caps Lock warning to the more
+ neutral "Caps Lock is on". Requested by Wouter Bolsterlee
+
2009-01-21 Matthias Clasen <mclasen@redhat.com>
Bug 568552 – gtk_combo + gtk entry in invisible mode takes 100% cpu
for some locales. It should not be that necessary, now that we
do show preedit text even in password entries. Pointed out by
Frederic Crozat.
+ (start_loading_current_folder): Check if the folder to be loaded
+ is non-native for the local_only=TRUE case; if so, return an error
+ as we are configured to load only local folders.
+ (reload_current_folder): Pass on errors from
+ start_loading_current_folder(). Tighten the preconditions, as we
+ are sure that we can only receive non-NULL folder-files to load.
+ (refresh_current_folder_and_file_part): Pass on errors from
+ reload_current_folder(). At the very end, assert the invariant
+ described above.
+ (start_explicit_completion): Add comments for translators, to
+ explain the purpose of the various feedback messages used during
+ completion.
2009-01-21 Federico Mena Quintero <federico@novell.com>